fixers-api.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { request } from '../../../utils';
  2. import { API } from '../../../types';
  3. import { ResponseType } from '../response-type';
  4. export interface PostGetCountriesReturn extends ResponseType {
  5. data: { id: number; country: string; flag: string }[];
  6. }
  7. export interface PostGetFixersReturn extends ResponseType {
  8. data: {
  9. id: number;
  10. month: number;
  11. year: number;
  12. contact: string;
  13. name: string;
  14. email: string;
  15. phone: string;
  16. web: string;
  17. comment: string;
  18. added_by_uid: number;
  19. added_by_name: string;
  20. can_rate: 0 | 1;
  21. can_edit: 0 | 1;
  22. ratings: Rating[];
  23. }[];
  24. }
  25. type Rating = {
  26. rate: string;
  27. name: string;
  28. comment: string;
  29. };
  30. export interface PostSaveRating {
  31. token: string;
  32. fixer_id: number;
  33. rating1: number;
  34. rating2: number;
  35. rating3: number;
  36. comment: string;
  37. }
  38. export interface PostAddFixer {
  39. token: string;
  40. month: number;
  41. year: number;
  42. un_ids: number[];
  43. name: string;
  44. anonymous: 0 | 1;
  45. email: string;
  46. phone: string;
  47. website: string;
  48. comment: string;
  49. }
  50. export interface PostEditFixer {
  51. token: string;
  52. fixer_id: number;
  53. month: number;
  54. year: number;
  55. un_ids: number[];
  56. name: string;
  57. anonymous: 0 | 1;
  58. email: string;
  59. phone: string;
  60. website: string;
  61. comment: string;
  62. }
  63. export const fixersApi = {
  64. getCountries: (token: string) =>
  65. request.postForm<PostGetCountriesReturn>(API.GET_FIXERS_COUNTRIES, { token }),
  66. getAllCountries: (token: string) =>
  67. request.postForm<PostGetCountriesReturn>(API.GET_ALL_FIXERS_COUNTRIES, { token }),
  68. getFixers: (token: string, un_id: number) =>
  69. request.postForm<PostGetFixersReturn>(API.GET_FIXERS, { token, un_id }),
  70. saveRating: (data: PostSaveRating) => request.postForm<ResponseType>(API.SAVE_RATING, data),
  71. addFixer: (data: PostAddFixer) => request.postForm<ResponseType>(API.ADD_FIXER, data),
  72. editFixer: (data: PostEditFixer) => request.postForm<ResponseType>(API.EDIT_FIXER, data)
  73. };