diff --git a/src/lib/Auth.svelte.ts b/src/lib/Auth.svelte.ts index 1c016b7..0950ec3 100644 --- a/src/lib/Auth.svelte.ts +++ b/src/lib/Auth.svelte.ts @@ -1,6 +1,6 @@ import axios from "axios"; import { env } from "$env/dynamic/public"; -import UserSvelte from "./User.svelte"; +import UserSvelte, { type UserObj } from "./User.svelte"; import { goto } from "$app/navigation"; export async function isAuthenticated() { @@ -8,13 +8,13 @@ export async function isAuthenticated() { return true; } return axios - .get( - `${env.PUBLIC_JEOPARDY_SERVER_PROTOCOL}://${env.PUBLIC_JEOPARDY_SERVER}/user/username`, - { withCredentials: true } - ) + .get(`${env.PUBLIC_JEOPARDY_SERVER_PROTOCOL}://${env.PUBLIC_JEOPARDY_SERVER}/auth`, { + withCredentials: true + }) .then((res) => { if (res.status === 200) { - UserSvelte.username = res.data; + UserSvelte.user = res.data as UserObj; + console.log(UserSvelte.id, UserSvelte.username, UserSvelte.role); return true; } else { goto("/login"); diff --git a/src/lib/User.svelte.ts b/src/lib/User.svelte.ts index 8c97446..cdad800 100644 --- a/src/lib/User.svelte.ts +++ b/src/lib/User.svelte.ts @@ -1,4 +1,12 @@ -let username: string = ""; +let username: string = $state(""); +let role: string = $state(""); +let id: string = $state(""); + +export type UserObj = { + username: string; + role: string; + _id: string; +}; export default { get username(): string { @@ -6,5 +14,22 @@ export default { }, set username(uname: string) { username = uname; + }, + get role(): string { + return role; + }, + set role(newrole: string) { + role = newrole; + }, + get id(): string { + return id; + }, + set id(newid: string) { + id = newid; + }, + set user(userobj: UserObj) { + username = userobj.username; + role = userobj.role; + id = userobj._id; } }; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5eea50d..6aed519 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -16,14 +16,20 @@