feat: enhance business activities and sale invoices handling with new query constants and pagination support

This commit is contained in:
2026-05-16 14:49:23 +03:30
parent 83e7c26133
commit 5baf5bfea6
14 changed files with 154 additions and 41 deletions
@@ -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)
}
}