Merged in feat/SW-431-payment-flow (pull request #635)

Feat/SW-431 payment flow

* feat(SW-431): Update mock hotel data

* feat(SW-431): Added route handler and trpc routes

* feat(SW-431): List payment methods and handle booking status and redirection

* feat(SW-431): Updated booking page to poll for booking status

* feat(SW-431): Updated create booking contract

* feat(SW-431): small fix

* fix(SW-431): Added intl string and sorted dictionaries

* fix(SW-431): Changes from PR

* fix(SW-431): fixes from PR

* fix(SW-431): add todo comments

* fix(SW-431): update schema prop

Approved-by: Simon.Emanuelsson
This commit is contained in:
Tobias Johansson
2024-10-04 09:37:09 +00:00
committed by Pontus Dreij
parent c7e829cd02
commit d44451d2dc
26 changed files with 708 additions and 283 deletions
+16 -21
View File
@@ -121,29 +121,24 @@ export const safeProtectedProcedure = t.procedure.use(async function (opts) {
})
})
export const profileServiceProcedure = t.procedure.use(async (opts) => {
const { access_token } = await fetchServiceToken(["profile"])
if (!access_token) {
throw internalServerError("Failed to obtain profile service token")
}
return opts.next({
ctx: {
serviceToken: access_token,
},
function createServiceProcedure(serviceName: string) {
return t.procedure.use(async (opts) => {
const { access_token } = await fetchServiceToken([serviceName])
if (!access_token) {
throw internalServerError(`Failed to obtain ${serviceName} service token`)
}
return opts.next({
ctx: {
serviceToken: access_token,
},
})
})
})
}
export const bookingServiceProcedure = createServiceProcedure("booking")
export const hotelServiceProcedure = createServiceProcedure("hotel")
export const profileServiceProcedure = createServiceProcedure("profile")
export const hotelServiceProcedure = t.procedure.use(async (opts) => {
const { access_token } = await fetchServiceToken(["hotel"])
if (!access_token) {
throw internalServerError("Failed to obtain hotel service token")
}
return opts.next({
ctx: {
serviceToken: access_token,
},
})
})
export const serverActionProcedure = t.procedure.experimental_caller(
experimental_nextAppDirCaller({
createContext,