Payment
@Post(':id')
payOrder(@Param() { id }: IdDto) {
return this.paymentsService.payOrder(id);
}async payOrder(id: number) {
const { payment } = await this.prisma.order.findUniqueOrThrow({
where: { id },
include: { payment: true },
});
if (payment) {
throw new ConflictException('Order already paid');
}
return this.prisma.order.update({
where: { id },
data: {
status: OrderStatus.AWAITING_SHIPMENT,
payment: { create: {} },
},
});
}Last updated