import { AxiosError } from 'axios';

export enum API_ROUTE {
  USER = 'user',
  REGIONS = 'regions',
  SERIES = 'series',
  RANKING = 'ranking',
  UN_MASTERS = 'un-masters',
  AVATARS = 'avatars',
  STATISTICS = 'statistics',
  KYE = 'kye',
  PHOTOS = 'photos',
  TRIPS = 'trips',
  SLOW = 'slow',
  QUICK_ENTER = 'quickEnter',
  TRIUMPHS = 'triumphs',
  SERIES_RANKING = 'series-ranking',
  APP = 'app',
  SEARCH = 'search'
}

export enum API_ENDPOINT {
  LOGIN = 'login',
  REGISTER = 'join',
  RESET_PASSWORD = 'recover-password',
  GET_REGIONS_WITH_FLAGS = 'get-regions-with-flags',
  GET_REGIONS = 'get-regions',
  JOIN_TEST = 'pre-join-test',
  GET_SETTINGS_APP = 'get-settings-app',
  SET_SETTINGS_APP = 'set-settings-app',
  SERIES = 'get-for-regions',
  PROFILE_INFO = 'profile-info',
  PROFILE_INFO_PUBLIC = 'profile-info-public',
  GET_LIMITED_RANKING = 'get-app-limited',
  GET_FULL_RANKING = 'get-app-full',
  GET_LPI = 'get-app-lpi',
  GET_IN_HISTORY = 'get-app-in-history',
  GET_IN_MEMORIAM = 'get-app-in-memoriam',
  GET_UN_MASTERS_TYPES = 'get-types',
  GET_UN_MASTERS_TYPE = 'get-type',
  GET_UPDATED_AVATARS = 'get-updates',
  GET_LIST = 'get-list',
  GET_STATISTIC = 'get-stat',
  SERIES_GROUPS = 'get-series-groups',
  SERIES_WITH_GROUP = 'get-series-with-group-app',
  GET_COUNTRIES_RANKING = 'get-countries-ranking',
  GET_COUNTRIES_RANKING_LPI = 'get-countries-ranking-lpi',
  GET_COUNTRIES_RANKING_MEMORIAM = 'get-countries-ranking-in-memoriam',
  GET_ITEMS_FOR_SERIES = 'get-items-for-series-grouped-app',
  TOGGLE_ITEM_SERIES = 'toggle-item',
  GET_KYE = 'get-kye',
  SET_KYE = 'set-kye',
  GET_PHOTOS_FOR_USER = 'get-photos-for-user',
  UPLOAD_TEMP = 'upload-temp',
  GET_TEMP = 'get-temp',
  REMOVE_TEMP = 'remove-temp',
  SAVE_TEMP = 'save-temp',
  DELETE_PHOTO = 'delete-photo',
  UPDATE_PHOTO = 'update-photo',
  GET_TRIPS_YEARS = 'get-trips-years',
  GET_TRIPS_FOR_YEAR = 'get-trips-for-year-app',
  GET_REGIONS_FOR_TRIPS = 'get-regions-for-trips',
  GET_TRIP = 'get-trip',
  SET_NEW_TRIP = 'new-trip',
  UPDATE_TRIP = 'update-trip',
  DELETE_TRIP = 'delete-trip',
  GET_SLOW = 'get-slow-app',
  SET_SLOW = 'set-slow',
  GET_MEGAREGIONS = 'get-megaregions',
  GET_REGIONS_QE = 'get-regions-qe',
  SET_NM_REGION = 'updateNM',
  SET_TCC_REGION = 'updateTCC',
  GET_MEGAREGIONS_DARE = 'get-megaregions-dare',
  GET_REGIONS_DARE = 'get-regions-dare',
  SET_DARE_REGION = 'updateDARE',
  GET_TRIUMPHS_DATES = 'get-dates-app',
  GET_TRIUMPHS_DATA = 'get-data-app',
  GET_SERIES_GROUPS_RANKING = 'get-series-groups-ranking',
  GET_SERIES_RANKING = 'get-series-ranking',
  GET_USER_DATA = 'get-user-data-app',
  GET_USER_DATA_DARE = 'get-user-data-dare-app',
  DELETE_USER = 'delete-user',
  GET_LAST_REGIONS_UPDATE = 'last-regions-db-update',
  GET_LAST_DARE_UPDATE = 'last-dare-db-update',
  GET_SERVERS = 'get-servers',
  GET_PROFILE_REGIONS = 'get-profile',
  GET_UNIVERSAL = 'universal'
}

export enum API {
  LOGIN = `${API_ROUTE.USER}/${API_ENDPOINT.LOGIN}`,
  REGISTER = `${API_ROUTE.USER}/${API_ENDPOINT.REGISTER}`,
  RESET_PASSWORD = `${API_ROUTE.USER}/${API_ENDPOINT.RESET_PASSWORD}`,
  GET_REGIONS_WITH_FLAGS = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_REGIONS_WITH_FLAGS}`,
  JOIN_TEST = `${API_ROUTE.USER}/${API_ENDPOINT.JOIN_TEST}`,
  GET_USER_SETTINGS_DATA = `${API_ROUTE.USER}/${API_ENDPOINT.GET_SETTINGS_APP}`,
  SET_USER_SETTINGS_DATA = `${API_ROUTE.USER}/${API_ENDPOINT.SET_SETTINGS_APP}`,
  SERIES = `${API_ROUTE.SERIES}/${API_ENDPOINT.SERIES}`,
  PROFILE_INFO = `${API_ROUTE.USER}/${API_ENDPOINT.PROFILE_INFO}`,
  PROFILE_INFO_PUBLIC = `${API_ROUTE.USER}/${API_ENDPOINT.PROFILE_INFO_PUBLIC}`,
  GET_LIMITED_RANKING = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_LIMITED_RANKING}`,
  GET_FULL_RANKING = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_FULL_RANKING}`,
  GET_LPI = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_LPI}`,
  GET_IN_HISTORY = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_IN_HISTORY}`,
  GET_IN_MEMORIAM = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_IN_MEMORIAM}`,
  GET_UN_MASTERS_TYPES = `${API_ROUTE.UN_MASTERS}/${API_ENDPOINT.GET_UN_MASTERS_TYPES}`,
  GET_UN_MASTERS_TYPE = `${API_ROUTE.UN_MASTERS}/${API_ENDPOINT.GET_UN_MASTERS_TYPE}`,
  GET_UPDATED_AVATARS = `${API_ROUTE.AVATARS}/${API_ENDPOINT.GET_UPDATED_AVATARS}`,
  GET_LIST = `${API_ROUTE.STATISTICS}/${API_ENDPOINT.GET_LIST}`,
  GET_STATISTIC = `${API_ROUTE.STATISTICS}/${API_ENDPOINT.GET_STATISTIC}`,
  SERIES_GROUPS = `${API_ROUTE.SERIES}/${API_ENDPOINT.SERIES_GROUPS}`,
  SERIES_WITH_GROUP = `${API_ROUTE.SERIES}/${API_ENDPOINT.SERIES_WITH_GROUP}`,
  GET_COUNTRIES_RANKING = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_COUNTRIES_RANKING}`,
  GET_COUNTRIES_RANKING_LPI = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_COUNTRIES_RANKING_LPI}`,
  GET_COUNTRIES_RANKING_MEMORIAM = `${API_ROUTE.RANKING}/${API_ENDPOINT.GET_COUNTRIES_RANKING_MEMORIAM}`,
  GET_ITEMS_FOR_SERIES = `${API_ROUTE.SERIES}/${API_ENDPOINT.GET_ITEMS_FOR_SERIES}`,
  TOGGLE_ITEM_SERIES = `${API_ROUTE.SERIES}/${API_ENDPOINT.TOGGLE_ITEM_SERIES}`,
  GET_KYE = `${API_ROUTE.KYE}/${API_ENDPOINT.GET_KYE}`,
  SET_KYE = `${API_ROUTE.KYE}/${API_ENDPOINT.SET_KYE}`,
  GET_PHOTOS_FOR_USER = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.GET_PHOTOS_FOR_USER}`,
  UPLOAD_TEMP = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.UPLOAD_TEMP}`,
  GET_TEMP = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.GET_TEMP}`,
  REMOVE_TEMP = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.REMOVE_TEMP}`,
  SAVE_TEMP = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.SAVE_TEMP}`,
  DELETE_PHOTO = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.DELETE_PHOTO}`,
  UPDATE_PHOTO = `${API_ROUTE.PHOTOS}/${API_ENDPOINT.UPDATE_PHOTO}`,
  GET_TRIPS_YEARS = `${API_ROUTE.TRIPS}/${API_ENDPOINT.GET_TRIPS_YEARS}`,
  GET_TRIPS_FOR_YEAR = `${API_ROUTE.TRIPS}/${API_ENDPOINT.GET_TRIPS_FOR_YEAR}`,
  GET_REGIONS_FOR_TRIPS = `${API_ROUTE.TRIPS}/${API_ENDPOINT.GET_REGIONS_FOR_TRIPS}`,
  GET_TRIP = `${API_ROUTE.TRIPS}/${API_ENDPOINT.GET_TRIP}`,
  SET_NEW_TRIP = `${API_ROUTE.TRIPS}/${API_ENDPOINT.SET_NEW_TRIP}`,
  UPDATE_TRIP = `${API_ROUTE.TRIPS}/${API_ENDPOINT.UPDATE_TRIP}`,
  DELETE_TRIP = `${API_ROUTE.TRIPS}/${API_ENDPOINT.DELETE_TRIP}`,
  GET_SLOW = `${API_ROUTE.SLOW}/${API_ENDPOINT.GET_SLOW}`,
  SET_SLOW = `${API_ROUTE.SLOW}/${API_ENDPOINT.SET_SLOW}`,
  GET_MEGAREGIONS = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_MEGAREGIONS}`,
  GET_REGIONS_QE = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_REGIONS_QE}`,
  SET_NM_REGION = `${API_ROUTE.QUICK_ENTER}/${API_ENDPOINT.SET_NM_REGION}`,
  SET_TCC_REGION = `${API_ROUTE.QUICK_ENTER}/${API_ENDPOINT.SET_TCC_REGION}`,
  GET_MEGAREGIONS_DARE = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_MEGAREGIONS_DARE}`,
  GET_REGIONS_DARE = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_REGIONS_DARE}`,
  SET_DARE_REGION = `${API_ROUTE.QUICK_ENTER}/${API_ENDPOINT.SET_DARE_REGION}`,
  GET_TRIUMPHS_DATES = `${API_ROUTE.TRIUMPHS}/${API_ENDPOINT.GET_TRIUMPHS_DATES}`,
  GET_TRIUMPHS_DATA = `${API_ROUTE.TRIUMPHS}/${API_ENDPOINT.GET_TRIUMPHS_DATA}`,
  GET_SERIES_GROUPS_RANKING = `${API_ROUTE.SERIES_RANKING}/${API_ENDPOINT.GET_SERIES_GROUPS_RANKING}`,
  GET_SERIES_RANKING = `${API_ROUTE.SERIES_RANKING}/${API_ENDPOINT.GET_SERIES_RANKING}`,
  GET_USER_DATA = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_USER_DATA}`,
  GET_USER_DATA_DARE = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_USER_DATA_DARE}`,
  DELETE_USER = `${API_ROUTE.APP}/${API_ENDPOINT.DELETE_USER}`,
  GET_LAST_REGIONS_DB_UPDATE = `${API_ROUTE.APP}/${API_ENDPOINT.GET_LAST_REGIONS_UPDATE}`,
  GET_LAST_DARE_DB_UPDATE = `${API_ROUTE.APP}/${API_ENDPOINT.GET_LAST_DARE_UPDATE}`,
  GET_SERVERS = `${API_ROUTE.APP}/${API_ENDPOINT.GET_SERVERS}`,
  GET_PROFILE_REGIONS = `${API_ROUTE.REGIONS}/${API_ENDPOINT.GET_PROFILE_REGIONS}`,
  GET_UNIVERSAL = `${API_ROUTE.SEARCH}/${API_ENDPOINT.GET_UNIVERSAL}`
}

export type BaseAxiosError = AxiosError;
