32 lines
798 B
TypeScript
32 lines
798 B
TypeScript
import axios from 'axios';
|
|
import { Configuration } from './configuration';
|
|
import { User } from '../types';
|
|
|
|
export class Auth {
|
|
static async user(): Promise<User> {
|
|
const token = sessionStorage.getItem('token');
|
|
if (!token) {
|
|
return {
|
|
vatsimId: '',
|
|
fullName: '',
|
|
administrator: false,
|
|
airportConfigurationAccess: [],
|
|
};
|
|
}
|
|
|
|
return axios
|
|
.get<User>(`${Configuration.resourceServer}/auth/user`, {
|
|
headers: {
|
|
Authorization: `Bearer ${sessionStorage.getItem('token')}`,
|
|
},
|
|
})
|
|
.then((response) => response.data)
|
|
.catch(() => ({
|
|
vatsimId: '',
|
|
fullName: '',
|
|
administrator: false,
|
|
airportConfigurationAccess: [],
|
|
}));
|
|
}
|
|
}
|