ranking-api.tsx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import { request } from '../../../utils';
  2. import { API } from '../../../types';
  3. import { ResponseType } from '../response-type';
  4. export interface PostGetRanking extends ResponseType {
  5. data: {
  6. user_id: number;
  7. score_dare: number;
  8. score_nm: number;
  9. score_un: number;
  10. score_unp: number;
  11. score_tcc: number;
  12. score_deep: number;
  13. score_whs: number;
  14. score_kye: number;
  15. score_tbt: number;
  16. score_yes: number;
  17. score_slow: number;
  18. rank_tbt: number;
  19. avatar: string;
  20. first_name: string;
  21. last_name: string;
  22. age: number;
  23. flag1: string;
  24. flag2: string;
  25. badge_1281: number;
  26. badge_un: number;
  27. badge_supreme: number;
  28. badge_tbt: number;
  29. badge_offline: number;
  30. patreon: number;
  31. country: string;
  32. auth: number;
  33. rank: number;
  34. country_rank: number;
  35. dod: number;
  36. ukr: number;
  37. badges: number;
  38. arrow_nm: number;
  39. arrow_un: number;
  40. arrow_unp: number;
  41. arrow_dare: number;
  42. arrow_yes: number;
  43. arrow_whs: number;
  44. arrow_tcc: number;
  45. arrow_tbt: number;
  46. arrow_slow: number;
  47. arrow_kye: number;
  48. }[];
  49. }
  50. export interface PostGetUNTypes extends ResponseType {
  51. data: {
  52. type: number;
  53. name: string;
  54. }[];
  55. }
  56. export interface Masters {
  57. id: number;
  58. type: number;
  59. origin: string;
  60. origin1: string;
  61. origin2: string;
  62. full_name: string;
  63. tbt_username: string;
  64. born: string;
  65. final: string | null;
  66. final_year: string;
  67. final_country: string;
  68. age: string;
  69. personal: string;
  70. media: string;
  71. media2: string;
  72. media3: string;
  73. wikipedia: string;
  74. book: string;
  75. book_url: string;
  76. book2: string;
  77. book_url2: string;
  78. social: string;
  79. twitter: string;
  80. instagram: string;
  81. youtube: string;
  82. status: number;
  83. sort: number;
  84. last_country: string;
  85. user_id: number | null;
  86. origin1_flag: string;
  87. origin2_flag: string | null;
  88. final_flag: string;
  89. interviews: string[];
  90. }
  91. export interface YearUNType extends ResponseType {
  92. data: {
  93. year: number,
  94. masters: Masters[];
  95. }[];
  96. }
  97. export interface CountryUNType extends ResponseType {
  98. data: {
  99. country: string;
  100. code: string;
  101. masters: Masters[];
  102. }[];
  103. }
  104. export interface PostGetUNType extends ResponseType {
  105. data: {
  106. data: Masters[];
  107. start: number;
  108. };
  109. }
  110. export const rankingApi = {
  111. getLimitedRanking: () => request.postForm<PostGetRanking>(API.GET_LIMITED_RANKING),
  112. getFullRanking: () => request.postForm<PostGetRanking>(API.GET_FULL_RANKING),
  113. getLpi: () => request.postForm<PostGetRanking>(API.GET_LPI),
  114. getInHistory: () => request.postForm<PostGetRanking>(API.GET_IN_HISTORY),
  115. getInMemoriam: () => request.postForm<PostGetRanking>(API.GET_IN_MEMORIAM),
  116. getUNMastersTypes: () => request.postForm<PostGetUNTypes>(API.GET_UN_MASTERS_TYPES),
  117. getUNMastersType: (type: number) =>
  118. request.postForm<PostGetUNType>(API.GET_UN_MASTERS_TYPE, { type })
  119. };