diff --git a/src/services/airport.ts b/src/services/airport.ts index e379ea0..2e7943c 100644 --- a/src/services/airport.ts +++ b/src/services/airport.ts @@ -31,7 +31,7 @@ export class Airport { }) .catch((err) => { return { - status: err.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, + status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, airports: [], }; }); diff --git a/src/services/auth.ts b/src/services/auth.ts index dd9020a..0c8b9e9 100644 --- a/src/services/auth.ts +++ b/src/services/auth.ts @@ -21,7 +21,7 @@ export class Auth { }) .then(() => BackendReturnStatus.Ok) .catch((err) => { - if (err.status === 401) return BackendReturnStatus.Unauthorized; + if (err.response.status === 401) return BackendReturnStatus.Unauthorized; return BackendReturnStatus.Failure; }); } @@ -49,23 +49,25 @@ export class Auth { }) .catch((err) => { return { - status: err.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, + status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, user: DefaultUser, }; }); } - static async refreshRadarScopeKey(): Promise { + static async refreshRadarScopeKey(): Promise { const token = Session.bearerToken(); - if (!token) return false; + if (!token) return BackendReturnStatus.Unauthorized; return axios - .get(`${Configuration.resourceServer}/auth/refreshRadarScopeKey`, { + .patch(`${Configuration.resourceServer}/auth/refreshRadarScopeKey`, { headers: { Authorization: `Bearer ${token}`, }, }) - .then(() => true) - .catch(() => false); + .then(() => BackendReturnStatus.Ok) + .catch((err) => { + return err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure; + }); } } diff --git a/src/services/system.ts b/src/services/system.ts index 57d01a8..7c8235f 100644 --- a/src/services/system.ts +++ b/src/services/system.ts @@ -1,11 +1,17 @@ import axios from 'axios'; import { Configuration } from './configuration'; import { Session } from './session'; +import { BackendReturnStatus, TimestampBackend } from '../types'; export class System { - static async timestamp(): Promise { + static async timestamp(): Promise { const token = Session.bearerToken(); - if (!token) return 0; + if (!token) { + return { + status: BackendReturnStatus.Unauthorized, + timestamp: 0, + }; + } return axios .get(`${Configuration.resourceServer}/system/timestamp`, { @@ -13,7 +19,17 @@ export class System { Authorization: `Bearer ${token}`, }, }) - .then((response) => response.data) - .catch(() => 0); + .then((response) => { + return { + status: BackendReturnStatus.Ok, + timestamp: response.data, + }; + }) + .catch((err) => { + return { + status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, + timestamp: 0, + }; + }); } } diff --git a/src/types/index.ts b/src/types/index.ts index d00ebb3..b481151 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -40,3 +40,8 @@ export interface IAuthState { valid: boolean, user: User, }; + +export interface TimestampBackend { + status: BackendReturnStatus; + timestamp: number; +};