From eae19bb1b047b3568e7a9a624b50e80886e56331 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 4 Nov 2024 13:47:50 +0300 Subject: feat/frontend: optimizing imports, file extensions (#230) Co-authored-by: FifthWit --- frontend/src/utils/Jwt.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 frontend/src/utils/Jwt.ts (limited to 'frontend/src/utils/Jwt.ts') 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 @@ +// llm ahh funcs +export function get_user_id_from_token(token: string | undefined): string | undefined { + if (!token) { + return undefined; + } + const parts = token.split('.'); + if (parts.length !== 3) { + return undefined; + } + const base64Url = parts[1]; + const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); + + const jsonPayload = decodeURIComponent( + atob(base64) + .split('') + .map(function (c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }) + .join('') + ); + return JSON.parse(jsonPayload).sub; +}; + +export function get_user_mod_from_token(token: string | undefined): boolean | undefined { + if (!token) { + return undefined; + } + const parts = token.split('.'); + if (parts.length !== 3) { + return undefined; + } + const base64Url = parts[1]; + const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); + + const jsonPayload = decodeURIComponent( + atob(base64) + .split('') + .map(function (c) { + return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); + }) + .join('') + ); + return JSON.parse(jsonPayload).mod; +}; -- cgit v1.2.3