feat(SW-2116): Use refId instead of confirmationNumber

This commit is contained in:
Michael Zetterberg
2025-05-04 11:11:15 +02:00
parent f681fa7675
commit b910b6a313
59 changed files with 491 additions and 310 deletions

View File

@@ -1,4 +1,5 @@
import * as api from "@/lib/api"
import { createRefIdPlugin } from "@/server/plugins/refIdToConfirmationNumber"
import { getMembershipNumber } from "@/server/routers/user/utils"
import { createCounter } from "@/server/telemetry"
import { router, safeProtectedServiceProcedure } from "@/server/trpc"
@@ -8,13 +9,14 @@ import {
cancelBookingsInput,
createBookingInput,
guaranteeBookingInput,
priceChangeInput,
removePackageInput,
updateBookingInput,
} from "./input"
import { bookingConfirmationSchema, createBookingSchema } from "./output"
import { cancelBooking } from "./utils"
const refIdPlugin = createRefIdPlugin()
export const bookingMutationRouter = router({
create: safeProtectedServiceProcedure
.input(createBookingInput)
@@ -72,9 +74,9 @@ export const bookingMutationRouter = router({
return verifiedData.data
}),
priceChange: safeProtectedServiceProcedure
.input(priceChangeInput)
.mutation(async function ({ ctx, input }) {
const { confirmationNumber } = input
.concat(refIdPlugin.toConfirmationNumber)
.mutation(async function ({ ctx }) {
const { confirmationNumber } = ctx
const priceChangeCounter = createCounter("trpc.booking", "price-change")
const metricsPriceChange = priceChangeCounter.init({ confirmationNumber })
@@ -91,7 +93,6 @@ export const bookingMutationRouter = router({
api.endpoints.v1.Booking.priceChange(confirmationNumber),
{
headers,
body: input,
}
)
@@ -113,9 +114,11 @@ export const bookingMutationRouter = router({
}),
cancel: safeProtectedServiceProcedure
.input(cancelBookingsInput)
.concat(refIdPlugin.toConfirmationNumbers)
.mutation(async function ({ ctx, input }) {
const token = ctx.session?.token.access_token ?? ctx.serviceToken
const { confirmationNumbers, language } = input
const { confirmationNumbers } = ctx
const { language } = input
const responses = await Promise.allSettled(
confirmationNumbers.map((confirmationNumber) =>
@@ -144,9 +147,11 @@ export const bookingMutationRouter = router({
}),
packages: safeProtectedServiceProcedure
.input(addPackageInput)
.concat(refIdPlugin.toConfirmationNumber)
.mutation(async function ({ ctx, input }) {
const accessToken = ctx.session?.token.access_token ?? ctx.serviceToken
const { confirmationNumber, ...body } = input
const { confirmationNumber } = ctx
const { refId, ...body } = input
const addPackageCounter = createCounter("trpc.booking", "package.add")
const metricsAddPackage = addPackageCounter.init({ confirmationNumber })
@@ -183,9 +188,11 @@ export const bookingMutationRouter = router({
}),
guarantee: safeProtectedServiceProcedure
.input(guaranteeBookingInput)
.concat(refIdPlugin.toConfirmationNumber)
.mutation(async function ({ ctx, input }) {
const accessToken = ctx.session?.token.access_token ?? ctx.serviceToken
const { confirmationNumber, language, ...body } = input
const { confirmationNumber } = ctx
const { refId, language, ...body } = input
const guaranteeBookingCounter = createCounter("trpc.booking", "guarantee")
const metricsGuaranteeBooking = guaranteeBookingCounter.init({
@@ -225,9 +232,11 @@ export const bookingMutationRouter = router({
}),
update: safeProtectedServiceProcedure
.input(updateBookingInput)
.concat(refIdPlugin.toConfirmationNumber)
.mutation(async function ({ ctx, input }) {
const accessToken = ctx.session?.token.access_token || ctx.serviceToken
const { confirmationNumber, ...body } = input
const { confirmationNumber } = ctx
const { refId, ...body } = input
const updateBookingCounter = createCounter("trpc.booking", "update")
const metricsUpdateBooking = updateBookingCounter.init({
@@ -265,9 +274,11 @@ export const bookingMutationRouter = router({
}),
removePackage: safeProtectedServiceProcedure
.input(removePackageInput)
.concat(refIdPlugin.toConfirmationNumber)
.mutation(async function ({ ctx, input }) {
const accessToken = ctx.session?.token.access_token ?? ctx.serviceToken
const { confirmationNumber, codes, language } = input
const { confirmationNumber } = ctx
const { codes, language } = input
const removePackageCounter = createCounter(
"trpc.booking",