api.client.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. import axios from 'axios';
  11. export class HttpClient {
  12. constructor(backendUrl) {
  13. this.backendUrl = backendUrl;
  14. this.axiosClient = axios.create({
  15. baseURL: backendUrl + '/v1',
  16. });
  17. }
  18. setAuthorizationToken(token) {
  19. this.axiosClient.defaults.headers.common.Authorization = `Bearer ${token}`;
  20. }
  21. disposeAuthorizationToken() {
  22. delete this.axiosClient.defaults.headers.common.Authorization;
  23. }
  24. getFullResponse(url, params) {
  25. return __awaiter(this, void 0, void 0, function* () {
  26. return yield this.axiosClient
  27. .get(url, {
  28. params,
  29. })
  30. .then((response) => response.data);
  31. });
  32. }
  33. get(url, params) {
  34. return __awaiter(this, void 0, void 0, function* () {
  35. return yield this.axiosClient
  36. .get(url, {
  37. params,
  38. })
  39. .then((response) => response.data.data);
  40. });
  41. }
  42. post(url, body = {}) {
  43. return __awaiter(this, void 0, void 0, function* () {
  44. return yield this.axiosClient.post(url, body).then((response) => response.data.data);
  45. });
  46. }
  47. patch(url, body = {}) {
  48. return __awaiter(this, void 0, void 0, function* () {
  49. return yield this.axiosClient.patch(url, body).then((response) => response.data.data);
  50. });
  51. }
  52. delete(url, body = {}) {
  53. return __awaiter(this, void 0, void 0, function* () {
  54. return yield this.axiosClient.delete(url, body).then((response) => response.data.data);
  55. });
  56. }
  57. }