diff --git a/apiv1/controllers/CourseController.js b/apiv1/controllers/CourseController.js index 063c27a5..7947d4f8 100644 --- a/apiv1/controllers/CourseController.js +++ b/apiv1/controllers/CourseController.js @@ -192,6 +192,7 @@ module.exports = { Course.shortname = req.body.shortname ? req.body.shortname : Course.shortname; Course.lessons = req.body.lessons ? req.body.lessons : Course.lessons; Course.difficulty = req.body.difficulty ? req.body.difficulty : Course.difficulty; + Course.categories = req.body.categories ? req.body.categories : Course.categories; Course.description = req.body.description ? req.body.description : Course.description; Course.lessons = req.body.lessons ? req.body.lessons : Course.lessons; diff --git a/apiv1/models/CourseModel.js b/apiv1/models/CourseModel.js index fc5bc76e..2f2ce6b9 100644 --- a/apiv1/models/CourseModel.js +++ b/apiv1/models/CourseModel.js @@ -10,7 +10,14 @@ let LessonSchema = new Schema({ let CourseSchema = new Schema({ 'shortname': String, 'name': String, - 'difficulty': Number, + 'difficulty': { + type: Number, + enum: [0, 1, 2, 3], + }, + 'categories': [{ + type: String, + enum: ["geometry", "transformations", "animations", "groups", "firstTimer", "teachers", "misc"], + }], 'description': String, 'lessons': [LessonSchema] }); diff --git a/package-lock.json b/package-lock.json index 556fd818..7ec29f1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3077,7 +3077,7 @@ "dependencies": { "combined-stream": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { @@ -3146,8 +3146,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3190,8 +3189,7 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", @@ -3202,8 +3200,7 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3320,8 +3317,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3333,7 +3329,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3356,14 +3351,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3382,7 +3375,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3476,7 +3468,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3562,8 +3553,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3599,7 +3589,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3619,7 +3608,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3663,14 +3651,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -7476,7 +7462,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }