import { details } from "@qite/tide-client";
import {
  BookingPackage,
  BookingPackageDetailsRequest,
  BookingPackageRequest,
  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 packageApi = {
  fetchDetails
};

export default packageApi;