import { Injectable } from '@nestjs/common'; import { PrismaService } from '../prisma/prisma.service'; import { Equipment, Prisma } from '@prisma/client'; @Injectable() export class EquipmentService { constructor(private prisma: PrismaService) {} async findAll(params: { skip?: number; take?: number; where?: Prisma.EquipmentWhereInput; orderBy?: Prisma.EquipmentOrderByWithRelationInput; }): Promise<{ data: Equipment[]; total: number }> { const { skip, take, where, orderBy } = params; const [data, total] = await this.prisma.$transaction([ this.prisma.equipment.findMany({ skip, take, where, orderBy }), this.prisma.equipment.count({ where }), ]); return { data, total }; } async findOne(where: Prisma.EquipmentWhereUniqueInput): Promise { return this.prisma.equipment.findUnique({ where }); } async create(data: Prisma.EquipmentCreateInput): Promise { return this.prisma.equipment.create({ data }); } async update(params: { where: Prisma.EquipmentWhereUniqueInput; data: Prisma.EquipmentUpdateInput; }): Promise { return this.prisma.equipment.update(params); } async remove(where: Prisma.EquipmentWhereUniqueInput): Promise { return this.prisma.equipment.delete({ where }); } }