diff --git a/models/module.js b/models/module.js index 992fd5b..3387f38 100644 --- a/models/module.js +++ b/models/module.js @@ -9,4 +9,48 @@ const moduleSchema = { cognitiveLevels: [{ type: String, required: true }], }; -const moduleModel = new connector.model('Module', moduleSchema); +const Module = new connector.model('Module', moduleSchema); + +async function remove(filter) { + const res = await Module.findOneAndDelete(filter); + return res; +} + +async function create( + moduleNo, + moduleName, + moduleOutcome, + moduleContents, + hrsPerModule, + cognitiveLevels +) { + const module = new Module({ + moduleNo, + moduleName, + moduleOutcome, + moduleContents, + hrsPerModule, + cognitiveLevels, + }); + const moduleDoc = await module.save(); + return moduleDoc; +} + +async function read(filter, limit = 1) { + const moduleData = await Module.find(filter).limit(limit); + return moduleData; +} + +async function update(filter, updateObject) { + const module = await Module.findOneAndUpdate(filter, updateObject, { + new: true, + }); + return module; +} + +export default { + create, + read, + update, + remove, +};