Payment
@Post(':id')
payOrder(@Param() { id }: IdDto) {
return this.paymentsService.payOrder(id);
}async payOrder(id: number) {
const order = await this.ordersRepository.findOne({
where: { id },
relations: {
payment: true,
},
});
if (!order) {
throw new NotFoundException('Order not found');
}
if (order.payment) {
throw new ConflictException('Order already paid');
}
const payment = this.paymentsRepository.create();
order.payment = payment;
order.status = OrderStatus.AWAITING_SHIPMENT;
return this.ordersRepository.save(order);
}Last updated