From 47ff5170acfb13dc33a6c1cafcd5b59577e0e226 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:28:32 -0500 Subject: [PATCH] [+] SDK --- frontend/src/logic/sdk.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 frontend/src/logic/sdk.ts diff --git a/frontend/src/logic/sdk.ts b/frontend/src/logic/sdk.ts new file mode 100644 index 0000000..dfaf8eb --- /dev/null +++ b/frontend/src/logic/sdk.ts @@ -0,0 +1,35 @@ + +// db.users: Signup table map +// db.user: Current logged-in user +const db = localStorage + +export function signup(username: string, password: string) +{ + if (!db.users) + db.users = JSON.stringify({}) + + const users = JSON.parse(db.users) + if (users[username]) + throw new Error('User already exists') + + users[username] = password +} + +export function login(username: string, password: string) +{ + const users = JSON.parse(db.users) + if (users[username] !== password) + throw new Error('Invalid credentials') + + db.user = username +} + +export function logout() +{ + delete db.user +} + +export function isLoggedIn() +{ + return !!db.user +}