import { createCounter } from "@scandic-hotels/common/telemetry" import * as api from "../../../api" import { slimBookingSchema } from "../schema" export async function priceChange( { confirmationNumber }: { confirmationNumber: string }, token: string ) { const priceChangeCounter = createCounter("trpc.booking.price-change") const metricsPriceChange = priceChangeCounter.init({ confirmationNumber }) metricsPriceChange.start() const headers = { Authorization: `Bearer ${token}`, } const apiResponse = await api.put( api.endpoints.v1.Booking.priceChange(confirmationNumber), { headers, } ) if (!apiResponse.ok) { await metricsPriceChange.httpError(apiResponse) return null } const apiJson = await apiResponse.json() const verifiedData = slimBookingSchema.safeParse(apiJson) if (!verifiedData.success) { metricsPriceChange.validationError(verifiedData.error) return null } metricsPriceChange.success() return verifiedData.data }