123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- import { request } from '../../../utils';
- import { API } from '../../../types';
- import { ResponseType } from '../response-type';
- export interface PostGetSeries extends ResponseType {
- series: { id: number; name: string; icon: string }[];
- items: {
- id: number;
- series_id: number;
- name: string;
- region: number;
- pointJSON: any;
- polygonJSON: string;
- visited?: 0 | 1;
- }[];
- }
- export interface PostGetSeriesGroups extends ResponseType {
- data: {
- id: number;
- name: string;
- }[];
- }
- export interface PostGetSeriesList extends ResponseType {
- data: {
- id: number;
- name: string;
- icon: string;
- count: number;
- new: number;
- score: number;
- icon_png: string;
- count2: number;
- }[];
- }
- export interface PostGetItems extends ResponseType {
- groups: {
- name: string;
- icon: string;
- series_id: number;
- series_name: string;
- items: {
- item_id: number;
- icon: string | null;
- name: string;
- readonly: boolean;
- info: string;
- new: boolean;
- checked: boolean;
- checked_double: boolean;
- series_id: number;
- double: boolean;
- }[];
- }[];
- }
- export interface PostSetToggleItemReturn extends ResponseType {
- modified_items: number[];
- }
- export interface PostSetToggleItem {
- token: string;
- series_id: string;
- item_id: string;
- checked: 0 | 1;
- double: 0 | 1;
- }
- export interface GroupsData {
- name: string;
- id: number;
- series:
- | {
- id: number;
- name: string;
- }[]
- | null;
- }
- export interface PostGetSeriesGroupsRanking extends ResponseType {
- data: GroupsData[];
- }
- export interface RankingData {
- max_points: number;
- max_pages: number;
- ranking: {
- user_id: number;
- score: number;
- avatar: string | null;
- first_name: string;
- last_name: string;
- age: number;
- authenticated: 0 | 1;
- badge_nm: 0 | 1;
- badge_un: 0 | 1;
- badge_un_25: 0 | 1;
- badge_un_50: 0 | 1;
- badge_un_75: 0 | 1;
- badge_un_100: 0 | 1;
- badge_un_150: 0 | 1;
- badge_un_193: 0 | 1;
- flag1: string;
- flag2: string | null;
- rip: boolean;
- recent_score_increase: boolean;
- }[];
- }
- export interface PostGetSeriesRanking extends ResponseType {
- data: RankingData;
- }
- export interface PostGetDataFromPoint extends ResponseType {
- nm: { id: number };
- dare: { id: number };
- country: string;
- }
- export interface PostGetSuggestionData extends ResponseType {
- nm: {
- id: number;
- region_name: string;
- }[];
- dare: {
- id: number;
- name: string;
- }[];
- series: {
- id: number;
- name: string;
- }[];
- grouped: {
- [key: string]: { id: number; name: string; group_name: string | null }[];
- };
- }
- export interface SubmitSuggestionReturn extends ResponseType {}
- export type SubmitSuggestionTypes = {
- token: string;
- comment: string;
- nm: number;
- dare: number;
- series: number;
- name: string;
- link: string;
- lat: number;
- lng: number;
- item: number;
- };
- export interface PostGetSeriesIcons extends ResponseType {
- data: {
- id: number;
- new_icon_png: string;
- new_icon_visited_png: string;
- }[];
- }
- export const seriesApi = {
- getSeries: (token: string | null, regions: string) =>
- request.postForm<PostGetSeries>(API.SERIES, { token, regions }),
- getSeriesGroups: () => request.postForm<PostGetSeriesGroups>(API.SERIES_GROUPS),
- getSeriesWithGroup: (token: string, group: string) =>
- request.postForm<PostGetSeriesList>(API.SERIES_WITH_GROUP, { token, group }),
- getItemsForSeries: (token: string, series_id: string) =>
- request.postForm<PostGetItems>(API.GET_ITEMS_FOR_SERIES, { token, series_id }),
- setToggleItem: (
- token: string,
- series_id: number,
- item_id: number,
- checked: 0 | 1,
- double: 0 | 1
- ) =>
- request.postForm<PostSetToggleItemReturn>(API.TOGGLE_ITEM_SERIES, {
- token,
- series_id,
- item_id,
- checked,
- double
- }),
- getSeriesGroupsRanking: () =>
- request.postForm<PostGetSeriesGroupsRanking>(API.GET_SERIES_GROUPS_RANKING),
- getSeriesRanking: (id: number, page: number, page_size: number) =>
- request.postForm<PostGetSeriesRanking>(API.GET_SERIES_RANKING, {
- id,
- page,
- page_size
- }),
- getDataFromPoint: (token: string, lat: number, lng: number) =>
- request.postForm<PostGetDataFromPoint>(API.GET_DATA_FROM_POINT, { token, lat, lng }),
- getSuggestionData: () => request.postForm<PostGetSuggestionData>(API.GET_SUGGESTION_DATA),
- submitSuggestion: (data: SubmitSuggestionTypes) =>
- request.postForm<SubmitSuggestionReturn>(API.SUBMIT_SUGGESTION, data),
- getList: () => request.postForm<PostGetSeriesList>(API.GET_SERIES_LIST),
- getIcons: () => request.postForm<PostGetSeriesIcons>(API.GET_ICONS)
- };
|