hard delete order
This commit is contained in:
@@ -93,7 +93,8 @@ export class OrderService {
|
||||
user,
|
||||
attachments,
|
||||
status: TicketStatus.PENDING,
|
||||
admin: null
|
||||
admin: null,
|
||||
order
|
||||
})
|
||||
em.persist(ticket)
|
||||
|
||||
@@ -173,7 +174,8 @@ export class OrderService {
|
||||
user,
|
||||
attachments,
|
||||
status: TicketStatus.PENDING,
|
||||
admin: null
|
||||
admin: null,
|
||||
order
|
||||
})
|
||||
|
||||
em.persist(ticket)
|
||||
@@ -283,7 +285,7 @@ export class OrderService {
|
||||
}
|
||||
|
||||
order.designer = designer
|
||||
order.status=OrderStatusEnum.IN_DESIGN
|
||||
order.status = OrderStatusEnum.IN_DESIGN
|
||||
|
||||
|
||||
await this.em.persistAndFlush(order)
|
||||
@@ -291,4 +293,26 @@ export class OrderService {
|
||||
return order
|
||||
|
||||
}
|
||||
|
||||
async hardDeleteOrder(orderId: string) {
|
||||
const order = await this.orderRepository.findOne({ id: orderId })
|
||||
if (!order) {
|
||||
throw new BadRequestException("Order not found")
|
||||
}
|
||||
if (![OrderStatusEnum.DRAFT, OrderStatusEnum.INVOICED].includes(order.status)) {
|
||||
throw new BadRequestException("Order status must be of of Drfat or Invoiced")
|
||||
}
|
||||
if (order.payments.length > 0) {
|
||||
throw new BadRequestException("order with payments can not be deleted!")
|
||||
}
|
||||
await this.em.transactional(async (em) => {
|
||||
await this.orderRepository.nativeDelete(order)
|
||||
await this.orderItemRepository.nativeDelete({ order: { id: orderId } })
|
||||
await this.ticketRepository.nativeDelete({ order: { id: orderId } })
|
||||
await em.flush()
|
||||
})
|
||||
|
||||
return { message: "Order deleted successfully" }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user