fix: paypal order

This commit is contained in:
Sebastian Rindom
2021-07-09 10:46:34 +02:00
parent b8657d7ee7
commit 1f6ee0fc00
@@ -40,16 +40,41 @@ export default async (req, res) => {
const orderService = req.scope.resolve("orderService") const orderService = req.scope.resolve("orderService")
await manager.transaction(async (m) => { await manager.transaction(async (m) => {
const cart = await cartService.withTransaction(m).retrieve(cartId)
switch (cart.type) {
case "swap": {
const swap = await swapService
.withTransaction(m)
.retrieveByCartId(cartId)
.catch((_) => undefined)
if (swap && swap.confirmed_at === null) {
await cartService
.withTransaction(m)
.setPaymentSession(cartId, "paypal")
await cartService.withTransaction(m).authorizePayment(cartId)
await swapService.withTransaction(m).registerCartCompletion(swap.id)
}
break
}
default: {
const order = await orderService const order = await orderService
.withTransaction(m) .withTransaction(m)
.retrieveByCartId(cartId) .retrieveByCartId(cartId)
.catch((_) => undefined) .catch((_) => undefined)
if (!order) { if (!order) {
await cartService.withTransaction(m).setPaymentSession(cartId, "paypal") await cartService
.withTransaction(m)
.setPaymentSession(cartId, "paypal")
await cartService.withTransaction(m).authorizePayment(cartId) await cartService.withTransaction(m).authorizePayment(cartId)
await orderService.withTransaction(m).createFromCart(cartId) await orderService.withTransaction(m).createFromCart(cartId)
} }
break
}
}
}) })
res.sendStatus(200) res.sendStatus(200)