UNPKG

lexica-dialog-repository

Version:
57 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mongoose_1 = require("mongoose"); const Issue_1 = require("lexica-dialog-model/dist/Issue"); const CRUDRepository_1 = require("./CRUDRepository"); const issueSchema = new mongoose_1.Schema({ closedDate: { required: false, type: Date, }, lastUpdatedDate: { require: true, type: Date, }, messenger: { required: true, type: String, }, openDate: { required: true, type: Date, }, senderId: { required: true, type: String, }, status: { enum: [Issue_1.Status.CLOSED, Issue_1.Status.OPEN], required: true, type: String, }, uni: { required: true, type: String, }, }); class IssueRepository extends CRUDRepository_1.default { constructor(mongoConnection) { super(mongoConnection.model('Issue', issueSchema, 'Issues')); } async findByUniAndStatus(uni, status) { return this.model.find({ uni, status }); } async findByUniAndSenderId(uni, senderId) { return this.model.find({ uni, senderId }); } async findByUniAndSenderIdAndStatus(uni, senderId, status) { return this.model.find({ uni, senderId, status }); } async findByUniAndSenderIdAndNotStatus(uni, senderId, status) { return this.model.find({ uni, senderId, status: { $ne: status } }); } } exports.IssueRepository = IssueRepository; const issueRepository = new IssueRepository(mongoose_1.connection); exports.issueRepository = issueRepository; //# sourceMappingURL=IssueRepository.js.map