import { priceDetails } from '@qite/tide-client';
import { BookingPackageBookRequest, BookingPackageRequest, BookingPriceDetails } from '@qite/tide-client/build/types';
import { ApiSettingsState } from '../../../shared/types';
import { buildTideClientConfig } from '../../../shared/utils/tide-api-utils';

const fetchPriceDetails = async (
  apiSettings: ApiSettingsState,
  request: BookingPackageRequest<BookingPackageBookRequest>,
  signal: AbortSignal,
  languageCode?: string
): Promise<BookingPriceDetails> => {
  const tideClientConfig = buildTideClientConfig(apiSettings);
  return await priceDetails(tideClientConfig, request, signal, languageCode);
};

const priceDetailsApi = {
  fetchPriceDetails
};

export default priceDetailsApi;
