debug license

This commit is contained in:
2026-04-06 21:12:07 +03:30
parent af71fb441b
commit b8c5cb4c80
14 changed files with 299 additions and 366 deletions
+30 -63
View File
@@ -1,4 +1,4 @@
import { LicenseInclude } from '@/generated/prisma/models'
import { LicenseSelect } from '@/generated/prisma/models'
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper'
@@ -8,80 +8,52 @@ import { UpdateLicenseDto } from './dto/license.dto'
export class PartnerLicensesService {
constructor(private readonly prisma: PrismaService) {}
private readonly licenseInclude = {
partner: true,
pos: {
include: {
complex: true,
provider: true,
accounts: {
include: {
user: true,
},
omit: {
business_id: true,
partner_id: true,
provider_id: true,
pos_id: true,
},
},
device: {
include: {
brand: true,
},
omit: {
brand_id: true,
},
},
private readonly licenseDefaultSelect: LicenseSelect = {
id: true,
starts_at: true,
expires_at: true,
status: true,
consumer: {
select: {
first_name: true,
last_name: true,
mobile_number: true,
status: true,
},
},
} as LicenseInclude
partner: {
select: {
id: true,
name: true,
},
},
}
async findAll() {
async findAll(page = 1, pageSize = 10) {
const [licenses, count] = await this.prisma.$transaction([
this.prisma.license.findMany({
include: this.licenseInclude,
omit: {
partner_id: true,
},
select: this.licenseDefaultSelect,
skip: (page - 1) * pageSize,
take: pageSize,
}),
this.prisma.license.count(),
])
return ResponseMapper.paginate(
licenses.map(license => {
const { ...rest } = license
// @ts-ignore
const { accounts, ...posRest } = pos
return {
account: accounts[0],
pos: posRest,
...rest,
}
}),
{
count,
},
)
return ResponseMapper.paginate(licenses, {
count,
page,
pageSize,
})
}
async findOne(id: string) {
const license = await this.prisma.license.findFirst({
where: { id },
include: this.licenseInclude,
include: this.licenseDefaultSelect,
omit: {
partner_id: true,
},
})
if (license) {
const { ...rest } = license
// @ts-ignore
const { accounts, ...posRest } = pos
return ResponseMapper.single({
account: accounts[0],
pos: posRest,
...rest,
})
}
return ResponseMapper.single(license)
}
@@ -93,9 +65,4 @@ export class PartnerLicensesService {
})
return ResponseMapper.update(license)
}
async delete(id: string) {
await this.prisma.license.delete({ where: { id } })
return ResponseMapper.delete()
}
}