diff options
Diffstat (limited to 'src/lib/api/RefreshUser.ts')
| -rw-r--r-- | src/lib/api/RefreshUser.ts | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/api/RefreshUser.ts b/src/lib/api/RefreshUser.ts new file mode 100644 index 0000000..d93d310 --- /dev/null +++ b/src/lib/api/RefreshUser.ts @@ -0,0 +1,37 @@ +const API_URL = process.env.NEXT_PUBLIC_API_URL; + +export type RefreshUserResponse = { + authenticated: boolean; + user: any | null; +}; + +export const refreshUser = async (): Promise<RefreshUserResponse> => { + try { + const res = await fetch(`${API_URL}/api/me`, { + method: 'GET', + credentials: 'include', + headers: { + 'Content-Type': 'application/json', + }, + }); + + const data = await res.json().catch(() => null); + + if (!res.ok || !data) { + return { + authenticated: false, + user: null, + }; + } + + return { + authenticated: data.authenticated, + user: data.authenticated ? data.user : null, + }; + } catch (err) { + return { + authenticated: false, + user: null, + }; + } +}; |
