api ulandi
This commit is contained in:
425
src/pages/tours/lib/api.ts
Normal file
425
src/pages/tours/lib/api.ts
Normal file
@@ -0,0 +1,425 @@
|
||||
import type {
|
||||
CreateTourRes,
|
||||
GetAllTours,
|
||||
GetOneTours,
|
||||
Hotel_Badge,
|
||||
Hotel_BadgeId,
|
||||
Hotel_Tarif,
|
||||
Hotel_TarifId,
|
||||
Hotel_TranportId,
|
||||
Hotel_Transport,
|
||||
Hotel_Type,
|
||||
Hotel_TypeId,
|
||||
HotelAllFeatures,
|
||||
HotelAllFeaturesType,
|
||||
HotelFeaturesDetail,
|
||||
HotelFeaturesTypeDetail,
|
||||
} from "@/pages/tours/lib/type";
|
||||
import httpClient from "@/shared/config/api/httpClient";
|
||||
import {
|
||||
GET_TICKET,
|
||||
HOTEL,
|
||||
HOTEL_BADGE,
|
||||
HOTEL_FEATURES,
|
||||
HOTEL_FEATURES_TYPE,
|
||||
HOTEL_TARIF,
|
||||
HPTEL_TYPES,
|
||||
TOUR_TRANSPORT,
|
||||
} from "@/shared/config/api/URLs";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
||||
const getAllTours = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<GetAllTours>> => {
|
||||
const response = await httpClient.get(GET_TICKET, {
|
||||
params: {
|
||||
page,
|
||||
page_size,
|
||||
},
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const getOneTours = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<GetOneTours>> => {
|
||||
const response = await httpClient.get(`${GET_TICKET}${id}`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const createTours = async ({
|
||||
body,
|
||||
}: {
|
||||
body: FormData;
|
||||
}): Promise<AxiosResponse<CreateTourRes>> => {
|
||||
const response = await httpClient.post(`${GET_TICKET}`, body, {
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data",
|
||||
},
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const createHotel = async ({ body }: { body: FormData }) => {
|
||||
const response = await httpClient.post(`${HOTEL}`, body, {
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data",
|
||||
},
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const deleteTours = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${GET_TICKET}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
// htoel_badge api
|
||||
const hotelBadge = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<Hotel_Badge>> => {
|
||||
const response = await httpClient.get(HOTEL_BADGE, {
|
||||
params: { page, page_size },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelBadgeCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: { name: string; color: string; name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.post(`${HOTEL_BADGE}`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelBadgeUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { name: string; color: string; name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${HOTEL_BADGE}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelBadgeDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<Hotel_BadgeId>> => {
|
||||
const response = await httpClient.get(`${HOTEL_BADGE}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelBadgeDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${HOTEL_BADGE}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
// htoel_tarif api
|
||||
const hotelTarif = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<Hotel_Tarif>> => {
|
||||
const response = await httpClient.get(HOTEL_TARIF, {
|
||||
params: { page, page_size },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTarifCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: {
|
||||
name: string;
|
||||
name_ru: string;
|
||||
};
|
||||
}) => {
|
||||
const response = await httpClient.post(HOTEL_TARIF, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTarfiDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<Hotel_TarifId>> => {
|
||||
const response = await httpClient.get(`${HOTEL_TARIF}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTarifDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${HOTEL_TARIF}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hoteltarifUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { name: string; name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${HOTEL_TARIF}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
// htoel_tarnsport api
|
||||
const hotelTransport = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<Hotel_Transport>> => {
|
||||
const response = await httpClient.get(TOUR_TRANSPORT, {
|
||||
params: { page, page_size },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTranportCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: {
|
||||
name: string;
|
||||
name_ru: string;
|
||||
icon_name: string;
|
||||
};
|
||||
}) => {
|
||||
const response = await httpClient.post(TOUR_TRANSPORT, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTransportDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${TOUR_TRANSPORT}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTransportDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<Hotel_TranportId>> => {
|
||||
const response = await httpClient.get(`${TOUR_TRANSPORT}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTransportUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { name: string; name_ru: string; icon_name: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${TOUR_TRANSPORT}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
//hotel_type
|
||||
const hotelType = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<Hotel_Type>> => {
|
||||
const response = await httpClient.get(HPTEL_TYPES, {
|
||||
params: { page, page_size },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTypeCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: {
|
||||
name: string;
|
||||
name_ru: string;
|
||||
};
|
||||
}) => {
|
||||
const response = await httpClient.post(HPTEL_TYPES, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTypeDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${HPTEL_TYPES}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTypeDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<Hotel_TypeId>> => {
|
||||
const response = await httpClient.get(`${HPTEL_TYPES}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelTypeUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { name: string; name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${HPTEL_TYPES}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
// hotel_features
|
||||
const hotelFeature = async ({
|
||||
page,
|
||||
page_size,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
}): Promise<AxiosResponse<HotelAllFeatures>> => {
|
||||
const response = await httpClient.get(HOTEL_FEATURES, {
|
||||
params: { page, page_size },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureType = async ({
|
||||
page,
|
||||
page_size,
|
||||
feature_type,
|
||||
}: {
|
||||
page_size: number;
|
||||
page: number;
|
||||
feature_type: number;
|
||||
}): Promise<AxiosResponse<HotelAllFeaturesType>> => {
|
||||
const response = await httpClient.get(HOTEL_FEATURES_TYPE, {
|
||||
params: { page, page_size, feature_type },
|
||||
});
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: {
|
||||
hotel_feature_type_name: string;
|
||||
hotel_feature_type_name_ru: string;
|
||||
};
|
||||
}) => {
|
||||
const response = await httpClient.post(`${HOTEL_FEATURES}`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureTypeCreate = async ({
|
||||
body,
|
||||
}: {
|
||||
body: {
|
||||
feature_name: string;
|
||||
feature_name_ru: string;
|
||||
feature_type: number;
|
||||
};
|
||||
}) => {
|
||||
const response = await httpClient.post(`${HOTEL_FEATURES_TYPE}`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { hotel_feature_type_name: string; hotel_feature_type_name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${HOTEL_FEATURES}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureTypeUpdate = async ({
|
||||
id,
|
||||
body,
|
||||
}: {
|
||||
id: number;
|
||||
body: { feature_name: string; feature_name_ru: string };
|
||||
}) => {
|
||||
const response = await httpClient.patch(`${HOTEL_FEATURES_TYPE}${id}/`, body);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<HotelFeaturesDetail>> => {
|
||||
const response = await httpClient.get(`${HOTEL_FEATURES}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureTypeDetail = async ({
|
||||
id,
|
||||
}: {
|
||||
id: number;
|
||||
}): Promise<AxiosResponse<HotelFeaturesTypeDetail>> => {
|
||||
const response = await httpClient.get(`${HOTEL_FEATURES_TYPE}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${HOTEL_FEATURES}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
const hotelFeatureTypeDelete = async ({ id }: { id: number }) => {
|
||||
const response = await httpClient.delete(`${HOTEL_FEATURES_TYPE}${id}/`);
|
||||
return response;
|
||||
};
|
||||
|
||||
export {
|
||||
createHotel,
|
||||
createTours,
|
||||
deleteTours,
|
||||
getAllTours,
|
||||
getOneTours,
|
||||
hotelBadge,
|
||||
hotelBadgeCreate,
|
||||
hotelBadgeDelete,
|
||||
hotelBadgeDetail,
|
||||
hotelBadgeUpdate,
|
||||
hotelFeature,
|
||||
hotelFeatureCreate,
|
||||
hotelFeatureDelete,
|
||||
hotelFeatureDetail,
|
||||
hotelFeatureType,
|
||||
hotelFeatureTypeCreate,
|
||||
hotelFeatureTypeDelete,
|
||||
hotelFeatureTypeDetail,
|
||||
hotelFeatureTypeUpdate,
|
||||
hotelFeatureUpdate,
|
||||
hotelTarfiDetail,
|
||||
hotelTarif,
|
||||
hotelTarifCreate,
|
||||
hotelTarifDelete,
|
||||
hoteltarifUpdate,
|
||||
hotelTranportCreate,
|
||||
hotelTransport,
|
||||
hotelTransportDelete,
|
||||
hotelTransportDetail,
|
||||
hotelTransportUpdate,
|
||||
hotelType,
|
||||
hotelTypeCreate,
|
||||
hotelTypeDelete,
|
||||
hotelTypeDetail,
|
||||
hotelTypeUpdate,
|
||||
};
|
||||
Reference in New Issue
Block a user