1
1
import { cookies } from "next/headers" ;
2
- import { LoginResponse , Question , SigninResponse , StatusBody } from "./structs" ;
2
+ import { LoginResponse , Question , UserServiceResponse , StatusBody } from "./structs" ;
3
3
import DOMPurify from "isomorphic-dompurify" ;
4
4
5
5
export function generateAuthHeaders ( ) {
6
6
return {
7
- Authorization : `Bearer ${ cookies ( ) . get ( "session" ) } ` ,
8
- } ;
7
+ " Authorization" : `Bearer ${ cookies ( ) . get ( "session" ) ?. value } ` ,
8
+ } ; ;
9
9
}
10
10
11
11
export function generateJSONHeaders ( ) {
@@ -75,7 +75,7 @@ export async function postSignupUser(validatedFields: {
75
75
username : string ;
76
76
email : string ;
77
77
password : string ;
78
- } ) : Promise < SigninResponse | StatusBody > {
78
+ } ) : Promise < UserServiceResponse | StatusBody > {
79
79
try {
80
80
console . log ( JSON . stringify ( validatedFields ) ) ;
81
81
const res = await fetch ( `${ process . env . NEXT_PUBLIC_USER_SERVICE } /users` , {
@@ -97,3 +97,23 @@ export async function postSignupUser(validatedFields: {
97
97
return { error : err . message , status : 400 } ;
98
98
}
99
99
}
100
+
101
+ export async function verifyUser ( ) : Promise < UserServiceResponse | StatusBody > {
102
+ try {
103
+ const res = await fetch (
104
+ `${ process . env . NEXT_PUBLIC_USER_SERVICE } /auth/verify-token` ,
105
+ {
106
+ method : "GET" ,
107
+ headers : generateAuthHeaders ( ) ,
108
+ }
109
+ ) ;
110
+ const json = await res . json ( ) ;
111
+
112
+ if ( ! res . ok ) {
113
+ return { error : json . message , status : res . status } ;
114
+ }
115
+ return json ;
116
+ } catch ( err : any ) {
117
+ return { error : err . message , status : 400 } ;
118
+ }
119
+ }
0 commit comments