feat: enhance business activities and sale invoices handling with new query constants and pagination support
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { QUERY_CONSTANTS } from '@/common/queryConstants'
|
||||
import { BusinessActivitySelect } from '@/generated/prisma/models'
|
||||
import { PrismaService } from '@/prisma/prisma.service'
|
||||
import { Injectable } from '@nestjs/common'
|
||||
@@ -7,45 +8,35 @@ export class BusinessActivitiesQueryService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
|
||||
readonly baseSelect: BusinessActivitySelect = {
|
||||
id: true,
|
||||
name: true,
|
||||
economic_code: true,
|
||||
created_at: true,
|
||||
partner_token: true,
|
||||
fiscal_id: true,
|
||||
guild: {
|
||||
select: {
|
||||
id: true,
|
||||
code: true,
|
||||
name: true,
|
||||
},
|
||||
},
|
||||
...QUERY_CONSTANTS.BUSINESS_ACTIVITIES.summarySelect,
|
||||
}
|
||||
|
||||
findAllByConsumer(consumer_id: string, select: BusinessActivitySelect) {
|
||||
return this.prisma.businessActivity.findMany({
|
||||
async findAllByConsumer(consumer_id: string, select: BusinessActivitySelect) {
|
||||
const businessActivities = await this.prisma.businessActivity.findMany({
|
||||
where: { consumer_id },
|
||||
select,
|
||||
})
|
||||
return businessActivities.map(QUERY_CONSTANTS.BUSINESS_ACTIVITIES.mappedData)
|
||||
}
|
||||
|
||||
findOneByConsumer(
|
||||
async findOneByConsumer(
|
||||
consumer_id: string,
|
||||
id: string,
|
||||
select: BusinessActivitySelect,
|
||||
orThrow = false,
|
||||
) {
|
||||
if (orThrow) {
|
||||
return this.prisma.businessActivity.findUniqueOrThrow({
|
||||
where: { consumer_id, id },
|
||||
select,
|
||||
})
|
||||
}
|
||||
// if (orThrow) {
|
||||
// return await this.prisma.businessActivity.findUniqueOrThrow({
|
||||
// where: { consumer_id, id },
|
||||
// select,
|
||||
// })
|
||||
// }
|
||||
|
||||
return this.prisma.businessActivity.findUnique({
|
||||
const businessActivity = await this.prisma.businessActivity.findUnique({
|
||||
where: { consumer_id, id },
|
||||
select,
|
||||
})
|
||||
|
||||
return QUERY_CONSTANTS.BUSINESS_ACTIVITIES.mappedData(businessActivity)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ export class SharedSaleInvoiceCreateService {
|
||||
const terminalInfo = rawPayments.terminals as TerminalPaymentInfo | undefined
|
||||
|
||||
const payments: NormalizedPayment[] = Object.entries(rawPayments)
|
||||
.filter(([key]) => key !== 'terminals')
|
||||
.filter(([key, value]) => key !== 'terminals' && value && Number(value) > 0)
|
||||
.map(([key, value]) => ({
|
||||
method: paymentMethodMap[key.toLowerCase()],
|
||||
amount: typeof value === 'number' ? value : Number(value || 0),
|
||||
|
||||
Reference in New Issue
Block a user