UNPKG

@qite/tide-booking-component

Version:

React Booking wizard & Booking product component for Tide

45 lines (39 loc) 1.65 kB
import { agents, details, generateBookingAccommodations, getCountries } from '@qite/tide-client'; import { BookingPackage, BookingPackageDetailsRequest, BookingPackageRequest, BookingTravelAgent, GenerateBookingAccommodationRequest, TideResponse } from '@qite/tide-client/build/types'; import { ApiSettingsState } from '../../../shared/types'; import { buildTideClientConfig } from '../../../shared/utils/tide-api-utils'; const fetchDetails = async ( request: BookingPackageRequest<BookingPackageDetailsRequest>, signal: AbortSignal, languageCode?: string, apiSettings?: ApiSettingsState ): Promise<TideResponse<BookingPackage>> => { const tideClientConfig = buildTideClientConfig(apiSettings); return await details(tideClientConfig, request, signal, languageCode); }; const fetchAgents = async (signal: AbortSignal, apiSettings?: ApiSettingsState): Promise<BookingTravelAgent[]> => { const tideClientConfig = buildTideClientConfig(apiSettings); return await agents(tideClientConfig, signal); }; const fetchAccommodationViews = async (request: GenerateBookingAccommodationRequest, signal: AbortSignal, apiSettings?: ApiSettingsState) => { const tideClientConfig = buildTideClientConfig(apiSettings); return await generateBookingAccommodations(tideClientConfig, request, signal); }; const fetchCountries = async (signal: AbortSignal, apiSettings?: ApiSettingsState) => { const tideClientConfig = buildTideClientConfig(apiSettings); return await getCountries(tideClientConfig, signal); }; const packageApi = { fetchDetails, fetchAgents, fetchAccommodationViews, fetchCountries }; export default packageApi;