feat: implement POS order management system
- Added CreateOrderDto and CreateOrderItemDto for order creation. - Developed PosOrdersController to handle order-related endpoints. - Created PosOrdersService for business logic related to orders. - Implemented PosOrdersWorkflow for order processing workflows. - Established Prisma integration for database operations in orders. - Introduced SalesInvoicesModule and related DTOs for sales invoice management. - Enhanced SalesInvoicesService and SalesInvoicesWorkflow for invoice processing.
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import { Injectable } from '@nestjs/common'
|
||||
import { ResponseMapper } from '../../common/response/response-mapper'
|
||||
import { PrismaService } from '../../prisma/prisma.service'
|
||||
|
||||
@Injectable()
|
||||
export class SalesInvoicesService {
|
||||
constructor(private prisma: PrismaService) {}
|
||||
|
||||
// async create(dto: CreateSalesInvoiceDto) {
|
||||
// const payload: any = { ...dto }
|
||||
// if (Object.prototype.hasOwnProperty.call(payload, 'customerId')) {
|
||||
// payload.customer = { connect: { id: Number(payload.customerId) } }
|
||||
// delete payload.customerId
|
||||
// }
|
||||
|
||||
// const item = await this.prisma.salesInvoice.create({ data: payload })
|
||||
// return ResponseMapper.create(item)
|
||||
// }
|
||||
|
||||
async findAll() {
|
||||
const items = await this.prisma.salesInvoice.findMany({ include: { customer: true } })
|
||||
return ResponseMapper.list(items)
|
||||
}
|
||||
|
||||
async findOne(id: number) {
|
||||
const item = await this.prisma.salesInvoice.findUnique({
|
||||
where: { id },
|
||||
include: { items: true, customer: true },
|
||||
})
|
||||
if (!item) return null
|
||||
return ResponseMapper.single(item)
|
||||
}
|
||||
|
||||
// async update(id: number, data: any) {
|
||||
// const payload: any = { ...data }
|
||||
// if (Object.prototype.hasOwnProperty.call(payload, 'customerId')) {
|
||||
// if (payload.customerId === null) payload.customer = { disconnect: true }
|
||||
// else payload.customer = { connect: { id: Number(payload.customerId) } }
|
||||
// delete payload.customerId
|
||||
// }
|
||||
// const item = await this.prisma.salesInvoice.update({ where: { id }, data: payload })
|
||||
// return ResponseMapper.update(item)
|
||||
// }
|
||||
|
||||
async remove(id: number) {
|
||||
const item = await this.prisma.salesInvoice.delete({ where: { id } })
|
||||
return ResponseMapper.single(item)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user