Skip to content

Commit 9e1eee8

Browse files
committed
CRUD operation added for module
1 parent 890c40d commit 9e1eee8

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

models/module.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
import connector from '#models/databaseUtil';
2+
import { logger } from '#util';
3+
4+
connector.set('debug', true);
5+
const moduleSchema = {
6+
modNo: { type: Number, required: true },
7+
moduleName: { type: String, required: true },
8+
moduleOutcome: { type: String, required: true },
9+
moduleContents: [{ type: String, required: true }],
10+
hrsPerModule: { type: Number, required: true },
11+
cognitiveLevels: [{ type: String, required: true }],
12+
};
13+
14+
const moduleModel = new connector.model('Module', moduleSchema);
15+
16+
async function remove(filter) {
17+
const res = await moduleModel.findOneAndDelete(filter);
18+
return res;
19+
}
20+
21+
async function create(
22+
modNo,
23+
moduleName,
24+
moduleOutcome,
25+
moduleContents,
26+
hrsPerModule,
27+
cognitiveLevels
28+
) {
29+
const module = new moduleModel({
30+
modNo,
31+
moduleName,
32+
moduleOutcome,
33+
moduleContents,
34+
hrsPerModule,
35+
cognitiveLevels,
36+
});
37+
const moduleDoc = await module.save();
38+
return moduleDoc;
39+
}
40+
41+
async function read(filter, limit = 1) {
42+
const moduleData = await moduleModel.find(filter).limit(limit);
43+
return moduleData;
44+
}
45+
46+
async function update(filter, updateObject) {
47+
const module = await moduleModel.findOneAndUpdate(filter, updateObject, {
48+
new: true,
49+
});
50+
return module;
51+
}
52+
export default {
53+
create,
54+
read,
55+
update,
56+
remove,
57+
};

0 commit comments

Comments
 (0)