feat(SW-245): Delete credit card

This commit is contained in:
Tobias Johansson
2024-08-13 10:20:59 +02:00
committed by Michael Zetterberg
parent 2af17ef4d8
commit e9a6499086
33 changed files with 603 additions and 208 deletions

View File

@@ -2,46 +2,46 @@ import { NextRequest } from "next/server"
import { env } from "process"
import { Lang } from "@/constants/languages"
import { profile } from "@/constants/routes/myPages"
import { serverClient } from "@/lib/trpc/server"
import { badRequest, internalServerError } from "@/server/errors/next"
export async function GET(
request: NextRequest,
{ params }: { params: { lang: string } }
) {
try {
const lang = params.lang as Lang
const lang = params.lang as Lang
const returnUrl = new URL(`${env.PUBLIC_URL}/${profile[lang ?? Lang.en]}`)
try {
const searchParams = request.nextUrl.searchParams
const success = searchParams.get("success")
const failure = searchParams.get("failure")
const cancel = searchParams.get("cancel")
const trxId = searchParams.get("datatransTrxId")
const returnUrl = new URL(
`${env.PUBLIC_URL}/${lang ?? Lang.en}/scandic-friends/my-pages/profile`
)
if (success) {
if (!trxId) {
return badRequest("Missing datatransTrxId param")
}
if (trxId) {
const saveCardSuccess = await serverClient().user.creditCard.save({
transactionId: trxId,
})
const saveCardSuccess = await serverClient().user.saveCard({
transactionId: trxId,
})
if (saveCardSuccess) {
returnUrl.searchParams.set("success", "true")
if (saveCardSuccess) {
returnUrl.searchParams.set("success", "true")
} else {
returnUrl.searchParams.set("failure", "true")
}
} else {
returnUrl.searchParams.set("failure", "true")
returnUrl.searchParams.set("error", "true")
}
} else if (failure) {
returnUrl.searchParams.set("failure", "true")
} else if (cancel) {
returnUrl.searchParams.set("cancel", "true")
}
return Response.redirect(returnUrl, 307)
} catch (error) {
console.error(error)
return internalServerError()
console.error("Error saving credit card", error)
returnUrl.searchParams.set("error", "true")
}
return Response.redirect(returnUrl, 307)
}