api ulandi

This commit is contained in:
Samandar Turgunboyev
2025-10-29 18:41:59 +05:00
parent a9e99f9755
commit 2d0285dafc
64 changed files with 6319 additions and 2352 deletions

View File

@@ -1,6 +1,8 @@
import type {
CreateTourRes,
GetAllTours,
GetDetailTours,
GetHotelRes,
GetOneTours,
Hotel_Badge,
Hotel_BadgeId,
@@ -24,6 +26,7 @@ import {
HOTEL_FEATURES_TYPE,
HOTEL_TARIF,
HPTEL_TYPES,
POPULAR_TOURS,
TOUR_TRANSPORT,
} from "@/shared/config/api/URLs";
import type { AxiosResponse } from "axios";
@@ -31,14 +34,17 @@ import type { AxiosResponse } from "axios";
const getAllTours = async ({
page,
page_size,
featured_tickets,
}: {
page_size: number;
page: number;
featured_tickets?: boolean;
}): Promise<AxiosResponse<GetAllTours>> => {
const response = await httpClient.get(GET_TICKET, {
params: {
page,
page_size,
featured_tickets,
},
});
return response;
@@ -53,6 +59,15 @@ const getOneTours = async ({
return response;
};
const getDetailToursId = async ({
id,
}: {
id: number;
}): Promise<AxiosResponse<GetDetailTours>> => {
const response = await httpClient.get(`tickets/${id}/`);
return response;
};
const createTours = async ({
body,
}: {
@@ -66,6 +81,21 @@ const createTours = async ({
return response;
};
const updateTours = async ({
body,
id,
}: {
id: number;
body: FormData;
}): Promise<AxiosResponse<CreateTourRes>> => {
const response = await httpClient.patch(`${GET_TICKET}${id}/`, body, {
headers: {
"Content-Type": "multipart/form-data",
},
});
return response;
};
const createHotel = async ({ body }: { body: FormData }) => {
const response = await httpClient.post(`${HOTEL}`, body, {
headers: {
@@ -75,11 +105,39 @@ const createHotel = async ({ body }: { body: FormData }) => {
return response;
};
const getHotel = async (
ticket: number,
): Promise<AxiosResponse<GetHotelRes>> => {
const res = await httpClient.get(HOTEL, { params: { ticket } });
return res;
};
const editHotel = async ({ body, id }: { id: number; body: FormData }) => {
const response = await httpClient.patch(`${HOTEL}${id}/`, 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;
};
//added popular tours
const addedPopularTours = async ({
id,
value,
}: {
id: number;
value: number;
}) => {
const res = await httpClient.post(`${POPULAR_TOURS}${id}/${value}/`);
return res;
};
// htoel_badge api
const hotelBadge = async ({
page,
@@ -387,10 +445,14 @@ const hotelFeatureTypeDelete = async ({ id }: { id: number }) => {
};
export {
addedPopularTours,
createHotel,
createTours,
deleteTours,
editHotel,
getAllTours,
getDetailToursId,
getHotel,
getOneTours,
hotelBadge,
hotelBadgeCreate,
@@ -422,4 +484,5 @@ export {
hotelTypeDelete,
hotelTypeDetail,
hotelTypeUpdate,
updateTours,
};