47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
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<DocumentsReminder> {
|
|
const createArgs: Prisma.DocumentsReminderCreateArgs = {
|
|
data: {
|
|
document: {
|
|
connect: {
|
|
uid: documentReminder.document!.uid,
|
|
},
|
|
},
|
|
reminder_date: new Date(),
|
|
},
|
|
};
|
|
|
|
const documentReminderCreated = await this.model.create({ ...createArgs });
|
|
|
|
return documentReminderCreated;
|
|
}
|
|
}
|