import Database from "@Common/databases/database"; import BaseRepository from "@Repositories/BaseRepository"; import { Service } from "typedi"; import { DocumentsReminder, Prisma } from "@prisma/client"; import { DocumentReminder } from "le-coffre-resources/dist/Notary"; @Service() export default class DocumentsReminderRepository extends BaseRepository { constructor(private database: Database) { super(); } protected get model() { return this.database.getClient().documentsReminder; } protected get instanceDb() { return this.database.getClient(); } /** * @description : Find many documents */ public async findMany(query: Prisma.DocumentsReminderFindManyArgs) { query.take = Math.min(query.take || this.defaultFetchRows, this.maxFetchRows); return this.model.findMany(query); } /** * @description : Create a document */ public async create(documentReminder: DocumentReminder): Promise { const createArgs: Prisma.DocumentsReminderCreateArgs = { data: { document: { connect: { uid: documentReminder.document!.uid, }, }, reminder_date: new Date(), }, }; const documentReminderCreated = await this.model.create({ ...createArgs }); return documentReminderCreated; } }