From 27549f8b69f6b7ac7c3fdebcf2b65439dc4c349c Mon Sep 17 00:00:00 2001 From: Deepti Date: Wed, 6 Sep 2023 16:56:54 +0530 Subject: [PATCH 1/2] [Added] Curd Operation --- models/semester.js | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 models/semester.js diff --git a/models/semester.js b/models/semester.js new file mode 100644 index 0000000..c321d6d --- /dev/null +++ b/models/semester.js @@ -0,0 +1,59 @@ +import connector from "#models/databaseUtil"; +const semesterSchema = { + number:{Number,enum: [1,2,3,4,5,6,7,8], required:true}, + academicYear: { + type: String, + required: true, + validate: { + validator: (value) => /^20\d{2}$/.test(value), + message: (props) => `${props.value} is not a valid year format starting with "2"!`, + }, + }, + type:{ enum: ["ODD", "EVEN"], required: true }, + + startDate: { type: Date, required: true }, + endDate: { type: Date, required: true }, +}; + +// eslint-disable-next-line no-unused-vars +const Semester = connector.model("Semester", semesterSchema); + +// CURD operations +async function create(semesterData) { + const { + number, + academicYear, + type, + startDate, + endDate, + } = semesterData; + const semester = new Semester({ + number, + academicYear, + type, + startDate, + endDate, + + }); + const semesterDoc = await semester.save(); + return semesterDoc; + } + + async function read(filter, limit = 1) { + const semesterDoc = await Semester.find(filter).limit(limit); + return semesterDoc; + } + + async function update(filter, updateObject, options = { multi: true }) { + const updateResult = await Semester.updateMany(filter, { $set: updateObject }, options); + return updateResult.acknowledged; + } + + async function remove(filter) { + const deleteResult = await Semester.deleteMany(filter); + return deleteResult.acknowledged; + } + export default { + create, remove, update, read, + }; + From f58012edf63d7801e3c987cd8f99b0962cd5f983 Mon Sep 17 00:00:00 2001 From: Deepti Singh <136986628+deepti-50@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:32:11 +0530 Subject: [PATCH 2/2] [UPDATED]updated curd operation in semester model fixes #282 updated curd operation in semester.js in models folder --- models/semester.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/semester.js b/models/semester.js index c321d6d..450c7a6 100644 --- a/models/semester.js +++ b/models/semester.js @@ -1,6 +1,6 @@ import connector from "#models/databaseUtil"; const semesterSchema = { - number:{Number,enum: [1,2,3,4,5,6,7,8], required:true}, + number:{ type: Number,enum: [1,2,3,4,5,6,7,8], required:true}, academicYear: { type: String, required: true,