66 lines
1.7 KiB
TypeScript
66 lines
1.7 KiB
TypeScript
|
|
import { Injectable } from '@nestjs/common'
|
||
|
|
import { ResponseMapper } from '../../common/response/response-mapper'
|
||
|
|
import { PrismaService } from '../../prisma/prisma.service'
|
||
|
|
|
||
|
|
@Injectable()
|
||
|
|
export class PurchaseReceiptPaymentsService {
|
||
|
|
constructor(private prisma: PrismaService) {}
|
||
|
|
|
||
|
|
async create(data: any) {
|
||
|
|
const item = await this.prisma.purchaseReceiptPayments.create({ data })
|
||
|
|
return ResponseMapper.create(item)
|
||
|
|
}
|
||
|
|
|
||
|
|
async findAll() {
|
||
|
|
const items = await this.prisma.purchaseReceiptPayments.findMany({
|
||
|
|
include: {
|
||
|
|
receipt: {
|
||
|
|
select: {
|
||
|
|
id: true,
|
||
|
|
code: true,
|
||
|
|
totalAmount: true,
|
||
|
|
paidAmount: true,
|
||
|
|
status: true,
|
||
|
|
supplier: {
|
||
|
|
select: { id: true, firstName: true, lastName: true },
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
})
|
||
|
|
return ResponseMapper.list(items)
|
||
|
|
}
|
||
|
|
|
||
|
|
async findOne(id: number) {
|
||
|
|
const item = await this.prisma.purchaseReceiptPayments.findUnique({
|
||
|
|
where: { id },
|
||
|
|
include: {
|
||
|
|
receipt: {
|
||
|
|
select: {
|
||
|
|
id: true,
|
||
|
|
code: true,
|
||
|
|
totalAmount: true,
|
||
|
|
paidAmount: true,
|
||
|
|
status: true,
|
||
|
|
supplier: {
|
||
|
|
select: { id: true, firstName: true, lastName: true },
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
})
|
||
|
|
if (!item) return null
|
||
|
|
return ResponseMapper.single(item)
|
||
|
|
}
|
||
|
|
|
||
|
|
async update(id: number, data: any) {
|
||
|
|
const item = await this.prisma.purchaseReceiptPayments.update({ where: { id }, data })
|
||
|
|
return ResponseMapper.update(item)
|
||
|
|
}
|
||
|
|
|
||
|
|
async remove(id: number) {
|
||
|
|
const item = await this.prisma.purchaseReceiptPayments.delete({ where: { id } })
|
||
|
|
return ResponseMapper.single(item)
|
||
|
|
}
|
||
|
|
}
|