1
1
import { kyInstance } from './ky' ;
2
+ import { authApis } from './routes' ;
2
3
3
- import { BirthType , GoupRole , OAuthAgent } from '@/types' ;
4
- //NOTE: 아직 BE에서 토큰 재발급 관련 API 미기획
5
- // import {getEncryptStorage} from '@/utils';
4
+ import { AlertToken , BirthType , GoupRole , OAuthAgent } from '@/types' ;
5
+ import { createUrl } from '@/utils/url' ;
6
6
7
- type RequestSignUp = {
7
+ type BodySignUp = {
8
8
nickName : string ;
9
9
OAuthProvider : OAuthAgent ;
10
10
birth : Date ;
11
11
birthType : BirthType ;
12
12
email : String ;
13
13
groupRole : GoupRole ;
14
14
familyCode : null | string ;
15
- alertToken : {
16
- deviceId : string ;
17
- type : 'FCM' ;
18
- value : string ;
19
- } ;
15
+ alertToken : AlertToken ;
20
16
} ;
21
17
22
18
type ResponseToken = {
@@ -25,45 +21,66 @@ type ResponseToken = {
25
21
grantType : string ;
26
22
} ;
27
23
28
- async function postSignUp ( body : RequestSignUp ) {
29
- return ( await kyInstance
30
- . post ( 'auth/oauth/sign-up' , { json : body } )
31
- . json ( ) ) as ResponseToken ;
24
+ async function postSignUp ( body : BodySignUp ) {
25
+ return await kyInstance
26
+ . post ( authApis . signUp , { json : body } )
27
+ . json < ResponseToken > ( ) ;
32
28
}
33
29
34
- type RequestSignIn = {
30
+ type BodySignIn = {
35
31
OAuthProvider : OAuthAgent ;
36
32
AuthorizationCode : string ;
37
33
} ;
38
34
39
- async function postSignIn ( body : RequestSignIn ) {
40
- return ( await kyInstance
41
- . post ( 'auth/oauth/sign-in' , { json : body } )
42
- . json ( ) ) as ResponseToken ;
35
+ async function postSignIn ( body : BodySignIn ) {
36
+ return await kyInstance
37
+ . post ( authApis . signIn , { json : body } )
38
+ . json < ResponseToken > ( ) ;
43
39
}
44
40
45
41
async function getSignOut ( ) {
46
- return await kyInstance . get ( 'auth/sign-out' ) . json ( ) ;
42
+ return await kyInstance . get ( authApis . signOut ) . json ( ) ;
47
43
}
48
44
49
- //NOTE: 아직 BE에서 토큰 재발급 관련 API 미기획
50
- // async function getAccessToken() {
51
- // const refreshToken = await getEncryptStorage('refreshToken');
45
+ async function reIssueToken ( ) {
46
+ return await kyInstance . patch ( authApis . reIssueToken ) . json < ResponseToken > ( ) ;
47
+ }
52
48
53
- // return (await kyInstance
54
- // .get('auth/token/refresh', {
55
- // headers: {
56
- // Authorization: `Bearer ${refreshToken}`,
57
- // },
58
- // })
59
- // .json()) as ResponseToken;
60
- // }
49
+ type QueryValidateFamilyCode = {
50
+ familyCode : string ;
51
+ } ;
61
52
53
+ type ResponseValidateFamilyCode = {
54
+ isValidate : boolean ;
55
+ } ;
56
+
57
+ async function validateFamilyCode ( query : QueryValidateFamilyCode ) {
58
+ const apiUrl = createUrl ( authApis . validateFamilyCode , { query} ) ;
59
+ return await kyInstance . get ( apiUrl ) . json < ResponseValidateFamilyCode > ( ) ;
60
+ }
61
+
62
+ type BodyReRegistrationAlertToken = {
63
+ userId : number ;
64
+ } & AlertToken ;
65
+
66
+ async function reRegistrationAlertToken ( body : BodyReRegistrationAlertToken ) {
67
+ return await kyInstance
68
+ . patch ( authApis . reRegistrationAlertToken , { json : body } )
69
+ . json ( ) ;
70
+ }
62
71
export {
63
72
postSignUp ,
64
73
postSignIn ,
65
74
getSignOut ,
66
- //NOTE: 아직 BE에서 토큰 재발급 관련 API 미기획
67
- // getAccessToken
75
+ reIssueToken ,
76
+ validateFamilyCode ,
77
+ reRegistrationAlertToken ,
78
+ } ;
79
+ export type {
80
+ BodySignUp ,
81
+ ResponseToken ,
82
+ BodySignIn ,
83
+ QueryValidateFamilyCode ,
84
+ ResponseValidateFamilyCode ,
85
+ BodyReRegistrationAlertToken ,
68
86
} ;
69
- export type { RequestSignUp , ResponseToken , RequestSignIn } ;
0 commit comments