Files
psp_api/src/modules/admin/consumers/business-activities/complexes/complexes.service.ts
T

90 lines
2.2 KiB
TypeScript
Raw Normal View History

2026-03-14 16:26:44 +03:30
import { ComplexSelect } from '@/generated/prisma/models'
import { PrismaService } from '@/prisma/prisma.service'
import { Injectable } from '@nestjs/common'
import { ResponseMapper } from 'common/response/response-mapper'
import { CreateComplexDto, UpdateComplexDto } from './dto/complex.dto'
@Injectable()
export class BusinessActivityComplexesService {
constructor(private readonly prisma: PrismaService) {}
defaultSelect = {
id: true,
name: true,
address: true,
tax_id: true,
created_at: true,
} as ComplexSelect
async findAll(consumer_id: string, business_activity_id: string) {
2026-03-14 16:26:44 +03:30
const accounts = await this.prisma.complex.findMany({
where: {
business_activity: {
id: business_activity_id,
consumer: {
id: consumer_id,
2026-03-14 16:26:44 +03:30
},
},
},
select: this.defaultSelect,
})
return ResponseMapper.list(accounts)
}
async findOne(consumer_id: string, business_activity_id: string, id: string) {
2026-03-14 16:26:44 +03:30
const account = await this.prisma.complex.findUnique({
where: {
business_activity: {
id: business_activity_id,
consumer: {
id: consumer_id,
2026-03-14 16:26:44 +03:30
},
},
id,
},
select: this.defaultSelect,
})
return ResponseMapper.single(account)
}
async create(business_id: string, data: CreateComplexDto) {
const account = await this.prisma.complex.create({
data: {
...data,
business_activity: {
connect: {
id: business_id,
},
},
},
})
return ResponseMapper.create(account)
}
async update(
consumer_id: string,
2026-03-14 16:26:44 +03:30
business_activity_id: string,
id: string,
data: UpdateComplexDto,
) {
const account = await this.prisma.complex.update({
where: {
business_activity: {
id: business_activity_id,
consumer: {
id: consumer_id,
2026-03-14 16:26:44 +03:30
},
},
id,
},
data,
})
return ResponseMapper.update(account)
}
// async delete(id: string) {
// await this.prisma.complex.delete({ where: { id } })
// return ResponseMapper.delete()
// }
}