import { Injectable } from '@nestjs/common' import { ResponseMapper } from '../../../common/response/response-mapper' import { PrismaService } from '../../../prisma/prisma.service' import { CreateGoodDto } from './dto/create-good.dto' @Injectable() export class GoodsService { constructor(private prisma: PrismaService) {} async findAll(complex_id: string) { const goods = await this.prisma.good.findMany({ where: { complex_id, }, omit: { complex_id: true, deleted_at: true, }, }) return ResponseMapper.list(goods) } async findOne(good_id: string, complex_id: string) { const good = await this.prisma.good.findUnique({ where: { complex_id, id: good_id, }, omit: { complex_id: true, deleted_at: true, }, }) return ResponseMapper.single(good) } async create(data: CreateGoodDto, complex_id: string) { const { category_id, ...rest } = data const dataToCreate = { ...rest, complex_id, connect: { category: { id: category_id, }, }, } const good = await this.prisma.good.create({ data: { ...rest, category: { connect: { id: category_id, }, }, complex: { connect: { id: complex_id, }, }, }, omit: { complex_id: true, deleted_at: true, }, }) return ResponseMapper.create(good) } }