aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/utils/Jwt.ts
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2024-11-04 13:47:50 +0300
committerGitHub <noreply@github.com>2024-11-04 13:47:50 +0300
commiteae19bb1b047b3568e7a9a624b50e80886e56331 (patch)
treeaa3215377fd1a7714e4c5763f9abf9d7dc7def2b /frontend/src/utils/Jwt.ts
parentfix: remove insert trigger on users, check insert user on login err (#224) (diff)
downloadlphub-eae19bb1b047b3568e7a9a624b50e80886e56331.tar.gz
lphub-eae19bb1b047b3568e7a9a624b50e80886e56331.tar.bz2
lphub-eae19bb1b047b3568e7a9a624b50e80886e56331.zip
feat/frontend: optimizing imports, file extensions (#230)
Co-authored-by: FifthWit <fifthwitbusiness@gmail.com>
Diffstat (limited to 'frontend/src/utils/Jwt.ts')
-rw-r--r--frontend/src/utils/Jwt.ts44
1 files changed, 44 insertions, 0 deletions
diff --git a/frontend/src/utils/Jwt.ts b/frontend/src/utils/Jwt.ts
new file mode 100644
index 0000000..ce351fb
--- /dev/null
+++ b/frontend/src/utils/Jwt.ts
@@ -0,0 +1,44 @@
1// llm ahh funcs
2export function get_user_id_from_token(token: string | undefined): string | undefined {
3 if (!token) {
4 return undefined;
5 }
6 const parts = token.split('.');
7 if (parts.length !== 3) {
8 return undefined;
9 }
10 const base64Url = parts[1];
11 const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
12
13 const jsonPayload = decodeURIComponent(
14 atob(base64)
15 .split('')
16 .map(function (c) {
17 return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
18 })
19 .join('')
20 );
21 return JSON.parse(jsonPayload).sub;
22};
23
24export function get_user_mod_from_token(token: string | undefined): boolean | undefined {
25 if (!token) {
26 return undefined;
27 }
28 const parts = token.split('.');
29 if (parts.length !== 3) {
30 return undefined;
31 }
32 const base64Url = parts[1];
33 const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
34
35 const jsonPayload = decodeURIComponent(
36 atob(base64)
37 .split('')
38 .map(function (c) {
39 return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
40 })
41 .join('')
42 );
43 return JSON.parse(jsonPayload).mod;
44};