56 lines
1.2 KiB
TypeScript
56 lines
1.2 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { Prisma, PrismaClient } from '@prisma/client';
|
|
import { PrismaService } from '../../prisma/prisma.service';
|
|
|
|
@Injectable()
|
|
export class PieceModelsRepository {
|
|
constructor(private readonly prisma: PrismaService) {}
|
|
|
|
private get client(): PrismaClient {
|
|
return this.prisma;
|
|
}
|
|
|
|
async create(
|
|
data: Prisma.PieceModelCreateInput,
|
|
include?: Prisma.PieceModelInclude,
|
|
) {
|
|
return this.client.pieceModel.create({
|
|
data,
|
|
include,
|
|
});
|
|
}
|
|
|
|
async findAll(typePieceId?: string, include?: Prisma.PieceModelInclude) {
|
|
return this.client.pieceModel.findMany({
|
|
where: typePieceId ? { typePieceId } : undefined,
|
|
include,
|
|
orderBy: { name: 'asc' },
|
|
});
|
|
}
|
|
|
|
async findOne(id: string, include?: Prisma.PieceModelInclude) {
|
|
return this.client.pieceModel.findUnique({
|
|
where: { id },
|
|
include,
|
|
});
|
|
}
|
|
|
|
async update(
|
|
id: string,
|
|
data: Prisma.PieceModelUpdateInput,
|
|
include?: Prisma.PieceModelInclude,
|
|
) {
|
|
return this.client.pieceModel.update({
|
|
where: { id },
|
|
data,
|
|
include,
|
|
});
|
|
}
|
|
|
|
async delete(id: string) {
|
|
return this.client.pieceModel.delete({
|
|
where: { id },
|
|
});
|
|
}
|
|
}
|