blob: 040d22e006b7fe7649795888feee30917fd5e2c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import axios from "axios"
import { createContext } from "react"
import { BackendURL } from "../Config"
import { User } from "./Models"
export type Authentication = {
User: User
Token: string
}
const UserInfoURL = `${BackendURL}/auth`;
export const AuthContext = createContext<User | null>(null);
export function SaveState(data: Authentication | null, setCookie: (cookie: string) => void) {
if (data == null) return;
setCookie(data.Token);
}
export async function GetUserInfo(displayToken: string): Promise<User | null> {
if (!displayToken || displayToken.length == 0) return null;
try {
const { data, status } = await axios.get<User>(
UserInfoURL,
{
headers: {
Accept: "application/json",
Authorization: `Bearer ${displayToken}`
}
}
);
if (status != 200) return null;
return data;
} catch (err) {
console.log(`Failed to get user info: ${err}`);
return null;
}
}
|