Merged in feat/SW-1273-find-my-booking-page (pull request #1414)

feat(SW-1273): find my booking page with rudimentary validation and redirect

Approved-by: Michael Zetterberg
Approved-by: Chuma Mcphoy (We Ahead)
This commit is contained in:
Christian Andolf
2025-02-27 09:17:15 +00:00
19 changed files with 345 additions and 6 deletions

View File

@@ -108,6 +108,11 @@ export const cancelBookingInput = z.object({
language: z.nativeEnum(Lang).transform((val) => langToApiLang[val]),
})
export const createRefIdInput = z.object({
confirmationNumber: z.string(),
lastName: z.string(),
})
// Query
const confirmationNumberInput = z.object({
confirmationNumber: z.string(),

View File

@@ -10,7 +10,12 @@ import {
} from "@/server/trpc"
import { getHotel } from "../hotels/query"
import { bookingConfirmationInput, getBookingStatusInput } from "./input"
import encryptValue from "../utils/encryptValue"
import {
bookingConfirmationInput,
createRefIdInput,
getBookingStatusInput,
} from "./input"
import { bookingConfirmationSchema, createBookingSchema } from "./output"
import { getBookedHotelRoom } from "./utils"
@@ -228,4 +233,14 @@ export const bookingQueryRouter = router({
return verifiedData.data
}),
createRefId: serviceProcedure
.input(createRefIdInput)
.mutation(async function ({ input }) {
const { confirmationNumber, lastName } = input
const encryptedRefId = encryptValue(`${confirmationNumber},${lastName}`)
return {
refId: encryptedRefId,
}
}),
})