28 lines
606 B
TypeScript
28 lines
606 B
TypeScript
import { Injectable, OnModuleInit } from '@nestjs/common';
|
|
import { PrismaClient } from '@prisma/client';
|
|
|
|
@Injectable()
|
|
export class PrismaService extends PrismaClient implements OnModuleInit {
|
|
constructor() {
|
|
super({
|
|
log: [
|
|
{
|
|
emit: 'event',
|
|
level: 'query',
|
|
},
|
|
],
|
|
});
|
|
}
|
|
async onModuleInit() {
|
|
await this.$connect();
|
|
}
|
|
}
|
|
|
|
@Injectable()
|
|
export class PrismaRepository<T extends keyof PrismaService> {
|
|
public model: Pick<PrismaService, T>;
|
|
constructor(private _prismaService: PrismaService) {
|
|
this.model = this._prismaService;
|
|
}
|
|
}
|