fix bugs in the backend classes

This commit is contained in:
Sven Czarnian
2022-11-05 00:30:48 +01:00
parent df0a6ade57
commit e1ced4e9f8
4 changed files with 35 additions and 12 deletions

View File

@@ -31,7 +31,7 @@ export class Airport {
}) })
.catch((err) => { .catch((err) => {
return { return {
status: err.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure,
airports: [], airports: [],
}; };
}); });

View File

@@ -21,7 +21,7 @@ export class Auth {
}) })
.then(() => BackendReturnStatus.Ok) .then(() => BackendReturnStatus.Ok)
.catch((err) => { .catch((err) => {
if (err.status === 401) return BackendReturnStatus.Unauthorized; if (err.response.status === 401) return BackendReturnStatus.Unauthorized;
return BackendReturnStatus.Failure; return BackendReturnStatus.Failure;
}); });
} }
@@ -49,23 +49,25 @@ export class Auth {
}) })
.catch((err) => { .catch((err) => {
return { return {
status: err.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure, status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure,
user: DefaultUser, user: DefaultUser,
}; };
}); });
} }
static async refreshRadarScopeKey(): Promise<boolean> { static async refreshRadarScopeKey(): Promise<BackendReturnStatus> {
const token = Session.bearerToken(); const token = Session.bearerToken();
if (!token) return false; if (!token) return BackendReturnStatus.Unauthorized;
return axios return axios
.get<void>(`${Configuration.resourceServer}/auth/refreshRadarScopeKey`, { .patch<void>(`${Configuration.resourceServer}/auth/refreshRadarScopeKey`, {
headers: { headers: {
Authorization: `Bearer ${token}`, Authorization: `Bearer ${token}`,
}, },
}) })
.then(() => true) .then(() => BackendReturnStatus.Ok)
.catch(() => false); .catch((err) => {
return err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure;
});
} }
} }

View File

@@ -1,11 +1,17 @@
import axios from 'axios'; import axios from 'axios';
import { Configuration } from './configuration'; import { Configuration } from './configuration';
import { Session } from './session'; import { Session } from './session';
import { BackendReturnStatus, TimestampBackend } from '../types';
export class System { export class System {
static async timestamp(): Promise<number> { static async timestamp(): Promise<TimestampBackend> {
const token = Session.bearerToken(); const token = Session.bearerToken();
if (!token) return 0; if (!token) {
return {
status: BackendReturnStatus.Unauthorized,
timestamp: 0,
};
}
return axios return axios
.get<number>(`${Configuration.resourceServer}/system/timestamp`, { .get<number>(`${Configuration.resourceServer}/system/timestamp`, {
@@ -13,7 +19,17 @@ export class System {
Authorization: `Bearer ${token}`, Authorization: `Bearer ${token}`,
}, },
}) })
.then((response) => response.data) .then((response) => {
.catch(() => 0); return {
status: BackendReturnStatus.Ok,
timestamp: response.data,
};
})
.catch((err) => {
return {
status: err.response.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure,
timestamp: 0,
};
});
} }
} }

View File

@@ -40,3 +40,8 @@ export interface IAuthState {
valid: boolean, valid: boolean,
user: User, user: User,
}; };
export interface TimestampBackend {
status: BackendReturnStatus;
timestamp: number;
};