1- import { ADMIN_USER_UPDATE_URL , LOGIN_URL , USER_URL } from '#consts/backend' ;
1+ import { ADMIN_USER_UPDATE_URL , USER_URL } from '#consts/backend' ;
22import { browser } from '$app/environment' ;
33import { createQuery , useQueryClient } from '@tanstack/svelte-query' ;
44
@@ -10,15 +10,11 @@ const fetchUser = async ({
1010 fetch ?: typeof globalThis . window . fetch ;
1111} ) => {
1212 if ( ! browser ) return null ;
13- const token = localStorage . getItem ( 'auth_token' ) ;
14- if ( ! token ) return null ;
15-
1613 const res = await fetch ( USER_URL , {
17- headers : { Authorization : `Bearer ${ token } ` }
14+ credentials : 'include'
1815 } ) ;
1916
2017 if ( ! res . ok || res . status === 401 ) {
21- localStorage . removeItem ( 'auth_token' ) ;
2218 return null ;
2319 }
2420 return res . json ( ) ;
@@ -42,52 +38,13 @@ export const useAuth = () => {
4238 staleTime : Infinity ,
4339 retry : false
4440 } ) ) ;
45-
46- const login = async ( username : string , password : string ) => {
47- // Build form data using FormData (let the browser set Content-Type)
48- const form = new FormData ( ) ;
49- form . append ( 'username' , username ) ;
50- form . append ( 'password' , password ) ;
51-
52- const res = await fetch ( LOGIN_URL , {
53- method : 'POST' ,
54- body : form
55- } ) ;
56-
57- if ( ! res . ok ) {
58- throw new Error ( 'Invalid username or password' ) ;
59- }
60-
61- const data = await res . json ( ) ;
62- const token = data . access_token ;
63- if ( browser && token ) {
64- localStorage . setItem ( 'auth_token' , token ) ;
65- }
66- await queryClient . invalidateQueries ( { queryKey : queryKey } ) ;
67-
68- return token ;
69- } ;
70-
71- const logout = ( ) => {
72- if ( ! browser ) return null ;
73- if ( ! localStorage . getItem ( 'auth_token' ) ) {
74- throw new Error ( 'Not authenticated' ) ;
75- }
76- localStorage . removeItem ( 'auth_token' ) ;
77- queryClient . setQueryData ( queryKey , null ) ;
78- queryClient . clear ( ) ;
79- } ;
80-
8141 const updateUser = async ( data : { username ?: string ; email ?: string | null } ) => {
8242 if ( ! browser ) return ;
83- const token = localStorage . getItem ( 'auth_token' ) ;
84- if ( ! token ) throw new Error ( 'Not authenticated' ) ;
8543
8644 const res = await fetch ( ADMIN_USER_UPDATE_URL , {
8745 method : 'PATCH' ,
8846 headers : {
89- 'Content-Type' : 'application/json' ,
90- Authorization : `Bearer ${ token } `
47+ 'Content-Type' : 'application/json'
9148 } ,
9249 body : JSON . stringify ( data )
9350 } ) ;
@@ -101,16 +58,8 @@ export const useAuth = () => {
10158 return res . json ( ) ;
10259 } ;
10360
104- const isAuthenticated = ( ) => {
105- if ( ! browser ) return false ;
106- return ! ! localStorage . getItem ( 'auth_token' ) ;
107- } ;
108-
10961 return {
11062 user : query ,
111- login,
112- logout,
113- updateUser,
114- isAuthenticated
63+ updateUser
11564 } ;
11665} ;
0 commit comments