airport.ts 1006 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import axios from 'axios';
  2. import { Configuration } from './configuration';
  3. import { Session } from './session';
  4. import {
  5. AirportOverviewBackend,
  6. AirportOverview,
  7. BackendReturnStatus,
  8. } from '../types';
  9. export class Airport {
  10. static async all(): Promise<AirportOverviewBackend> {
  11. const token = Session.bearerToken();
  12. if (!token) {
  13. return {
  14. status: BackendReturnStatus.Unauthorized,
  15. airports: [],
  16. };
  17. }
  18. return axios
  19. .get<AirportOverview[]>(`${Configuration.resourceServer}/airport/all`, {
  20. headers: {
  21. Authorization: `Bearer ${token}`,
  22. },
  23. })
  24. .then((response) => {
  25. return {
  26. status: BackendReturnStatus.Ok,
  27. airports: response.data,
  28. };
  29. })
  30. .catch((err) => {
  31. return {
  32. status: err.status === 401 ? BackendReturnStatus.Unauthorized : BackendReturnStatus.Failure,
  33. airports: [],
  34. };
  35. });
  36. }
  37. }