contentApi.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import {
  2. LoadArticleResponse,
  3. LoadCategoryResponse,
  4. } from "../services/article/types";
  5. import {
  6. LoadBannerResponse,
  7. LoadDeviceMetaResponse,
  8. LoadFaqCategoryResponse,
  9. LoadFaqResponse,
  10. LoadReviewResponse,
  11. } from "../services/content/types";
  12. import { BaseApi } from "./baseApi";
  13. class ContentApi extends BaseApi {
  14. constructor() {
  15. super("/content");
  16. }
  17. async LoadBanner({ pageNumber, pageSize, position = "home" }) {
  18. return this.authPost<LoadBannerResponse>("/banner", {
  19. pageNumber,
  20. pageSize,
  21. position,
  22. });
  23. }
  24. async LoadReview({ pageNumber, pageSize, isFeatured = true }) {
  25. return this.authPost<LoadReviewResponse>("/review", {
  26. pageNumber,
  27. pageSize,
  28. isFeatured,
  29. });
  30. }
  31. async LoadFaqCategory({ pageNumber, pageSize, parentId = null }) {
  32. return this.authPost<LoadFaqCategoryResponse>("/faq-category", {
  33. pageNumber,
  34. pageSize,
  35. parentId,
  36. });
  37. }
  38. async LoadFaq({
  39. pageNumber,
  40. pageSize,
  41. categoryId = null,
  42. isFeatured = true,
  43. }) {
  44. return this.authPost<LoadFaqResponse>("/faq", {
  45. pageNumber,
  46. pageSize,
  47. categoryId,
  48. isFeatured,
  49. });
  50. }
  51. async LoadFaqGuide({
  52. pageNumber,
  53. pageSize,
  54. categoryId = 1,
  55. isFeatured = false,
  56. }) {
  57. return this.authPost<LoadFaqResponse>("/faq", {
  58. pageNumber,
  59. pageSize,
  60. categoryId,
  61. isFeatured,
  62. });
  63. }
  64. async LoadDeviceMetaData() {
  65. return this.authGet<LoadDeviceMetaResponse>("/device-metadata");
  66. }
  67. }
  68. export const contentApi = new ContentApi();