@@ -5,6 +5,7 @@ interface User {
55 id : string ;
66 email : string ;
77 nickname : string ;
8+ is_first_login : boolean ;
89 abv_degree ?: number ;
910 provider ?: 'naver' | 'kakao' | 'google' ;
1011}
@@ -15,8 +16,9 @@ interface AuthState {
1516 isLoggedIn : boolean ;
1617 setUser : ( user : User , token : string ) => void ;
1718 logout : ( ) => Promise < void > ;
18- refreshToken : ( ) => Promise < void > ;
1919 loginWithProvider : ( provider : User [ 'provider' ] ) => void ;
20+
21+ updateUser : ( ) => Promise < User | null > ;
2022}
2123
2224export const useAuthStore = create < AuthState > ( ( set ) => ( {
@@ -28,7 +30,12 @@ export const useAuthStore = create<AuthState>((set) => ({
2830 window . location . href = `http://localhost:8080/oauth2/authorization/${ provider } ` ;
2931 } ,
3032
31- setUser : ( user , token ) => set ( { user, accessToken : token , isLoggedIn : true } ) ,
33+ setUser : ( user , token ) => {
34+ const updatedUser = { ...user , abv_degree : 5.0 } ;
35+ set ( { user : updatedUser , accessToken : token , isLoggedIn : true } ) ;
36+
37+ customToast . success ( `${ updatedUser . nickname } 님, 로그인 성공 🎉` ) ;
38+ } ,
3239
3340 logout : async ( ) => {
3441 try {
@@ -45,24 +52,29 @@ export const useAuthStore = create<AuthState>((set) => ({
4552 }
4653 } ,
4754
48- refreshToken : async ( ) => {
55+ updateUser : async ( ) => {
4956 try {
5057 const res = await fetch ( 'http://localhost:8080/api/user/auth/refresh' , {
5158 method : 'POST' ,
5259 credentials : 'include' ,
60+ headers : { 'Content-Type' : 'application/json' } ,
5361 } ) ;
62+
5463 if ( ! res . ok ) throw new Error ( '토큰 갱신 실패' ) ;
64+ const data = await res . json ( ) ;
65+
66+ console . log ( data ) ;
67+ // if (data.accessToken && data.user) {
68+ // set({ accessToken: data.accessToken, user: data.user, isLoggedIn: true });
69+ // console.log('토큰 및 유저 정보 갱신 완료:', data.user);
70+ // return data.user;
71+ // }
5572
56- const result = await res . json ( ) ;
57- if ( result . code === 0 ) {
58- set ( { isLoggedIn : true , user : result . data . user } ) ;
59- customToast . success ( `환영합니다😊 \n ${ result . data . user . nickname } 님` ) ;
60- } else {
61- throw new Error ( result . message || '토큰 갱신 실패' ) ;
62- }
73+ return null ;
6374 } catch ( err ) {
64- console . error ( err ) ;
65- set ( { user : null , accessToken : null , isLoggedIn : false } ) ;
75+ console . error ( 'updateUser 실패' , err ) ;
76+ set ( { accessToken : null , user : null , isLoggedIn : false } ) ;
77+ return null ;
6678 }
6779 } ,
6880} ) ) ;
0 commit comments