'update'
[qomet.git] / routes / evaluations.js
similarity index 60%
rename from routes/assessments.js
rename to routes/evaluations.js
index 03e483e..18f57f7 100644 (file)
@@ -1,7 +1,7 @@
 let router = require("express").Router();
 const access = require("../utils/access");
 const UserModel = require("../models/user");
-const AssessmentModel = require("../models/assessment");
+const EvaluationModel = require("../models/evaluation");
 const CourseModel = require("../models/course");
 const params = require("../config/parameters");
 const validator = require("../public/javascripts/utils/validation");
@@ -17,47 +17,47 @@ const sanitizeOpts = {
        },
 };
 
-router.post("/assessments", access.ajax, access.logged, (req,res) => {
+router.post("/evaluations", access.ajax, access.logged, (req,res) => {
        const name = req.body["name"];
        const cid = req.body["cid"];
-       let error = validator({cid:cid, name:name}, "Assessment");
+       let error = validator({cid:cid, name:name}, "Evaluation");
        if (error.length > 0)
                return res.json({errmsg:error});
-       AssessmentModel.add(req.user._id, ObjectId(cid), name, (err,assessment) => {
-               access.checkRequest(res, err, assessment, "Assessment addition failed", () => {
-                       res.json(assessment);
+       EvaluationModel.add(req.user._id, ObjectId(cid), name, (err,evaluation) => {
+               access.checkRequest(res, err, evaluation, "Evaluation addition failed", () => {
+                       res.json(evaluation);
                });
        });
 });
 
-router.put("/assessments", access.ajax, access.logged, (req,res) => {
-       const assessment = JSON.parse(req.body["assessment"]);
-       let error = validator(assessment, "Assessment");
+router.put("/evaluations", access.ajax, access.logged, (req,res) => {
+       const evaluation = JSON.parse(req.body["evaluation"]);
+       let error = validator(evaluation, "Evaluation");
        if (error.length > 0)
                return res.json({errmsg:error});
-       assessment.introduction = sanitizeHtml(assessment.introduction, sanitizeOpts);
-       assessment.questions.forEach( q => {
+       evaluation.introduction = sanitizeHtml(evaluation.introduction, sanitizeOpts);
+       evaluation.questions.forEach( q => {
                q.wording = sanitizeHtml(q.wording, sanitizeOpts);
                //q.answer = sanitizeHtml(q.answer); //if text (TODO: it's an array in this case?!)
                for (let i=0; i<q.options.length; i++) //if QCM
                        q.options[i] = sanitizeHtml(q.options[i], sanitizeOpts);
        });
-       AssessmentModel.update(req.user._id, assessment, (err,ret) => {
-               access.checkRequest(res, err, ret, "Assessment update failed", () => {
+       EvaluationModel.update(req.user._id, evaluation, (err,ret) => {
+               access.checkRequest(res, err, ret, "Evaluation update failed", () => {
                        res.json({});
                });
        });
 });
 
 // Generate and set student password, return it
-router.put("/assessments/start", access.ajax, (req,res) => {
+router.put("/evaluations/start", access.ajax, (req,res) => {
        let number = req.body["number"];
-       let aid = req.body["aid"];
+       let eid = req.body["eid"];
        let password = req.cookies["password"]; //potentially from cookies, resuming
-       let error = validator({ _id:aid, papers:[{number:number,password:password || "samplePwd"}] }, "Assessment");
+       let error = validator({ _id:eid, papers:[{number:number,password:password || "samplePwd"}] }, "Evaluation");
        if (error.length > 0)
                return res.json({errmsg:error});
-       AssessmentModel.startSession(ObjectId(aid), number, password, (err,ret) => {
+       EvaluationModel.startSession(ObjectId(eid), number, password, (err,ret) => {
                access.checkRequest(res,err,ret,"Failed session initialization", () => {
                        if (!password)
                        {
@@ -72,7 +72,7 @@ router.put("/assessments/start", access.ajax, (req,res) => {
        });
 });
 
-router.get("/assessments/monitor", access.ajax, (req,res) => {
+router.get("/evaluations/monitor", access.ajax, (req,res) => {
        const password = req.query["password"];
        const examName = req.query["aname"];
        const courseCode = req.query["ccode"];
@@ -82,11 +82,11 @@ router.get("/assessments/monitor", access.ajax, (req,res) => {
                access.checkRequest(res,err,course,"Course not found", () => {
                        if (password != course.password)
                                return res.json({errmsg: "Wrong password"});
-                       AssessmentModel.getByRefs(initials, courseCode, examName, (err2,assessment) => {
-                               access.checkRequest(res,err2,assessment,"Assessment not found", () => {
+                       EvaluationModel.getByRefs(initials, courseCode, examName, (err2,evaluation) => {
+                               access.checkRequest(res,err2,evaluation,"Evaluation not found", () => {
                                        res.json({
                                                students: course.students,
-                                               assessment: assessment,
+                                               evaluation: evaluation,
                                                secret: params.secret,
                                        });
                                });
@@ -95,31 +95,31 @@ router.get("/assessments/monitor", access.ajax, (req,res) => {
        });
 });
 
-router.put("/assessments/answer", access.ajax, (req,res) => {
-       let aid = req.body["aid"];
+router.put("/evaluations/answer", access.ajax, (req,res) => {
+       let eid = req.body["eid"];
        let number = req.body["number"];
        let password = req.body["password"];
        let input = JSON.parse(req.body["answer"]);
-       let error = validator({ _id:aid, papers:[{number:number,password:password,inputs:[input]}] }, "Assessment");
+       let error = validator({ _id:eid, papers:[{number:number,password:password,inputs:[input]}] }, "Evaluation");
        if (error.length > 0)
                return res.json({errmsg:error});
-       AssessmentModel.newAnswer(ObjectId(aid), number, password, input, (err,ret) => {
+       EvaluationModel.newAnswer(ObjectId(eid), number, password, input, (err,ret) => {
                access.checkRequest(res,err,ret,"Cannot send answer", () => {
                        res.json({});
                });
        });
 });
 
-router.put("/assessments/end", access.ajax, (req,res) => {
-       let aid = req.body["aid"];
+router.put("/evaluations/end", access.ajax, (req,res) => {
+       let eid = req.body["eid"];
        let number = req.body["number"];
        let password = req.body["password"];
-       let error = validator({ _id:aid, papers:[{number:number,password:password}] }, "Assessment");
+       let error = validator({ _id:eid, papers:[{number:number,password:password}] }, "Evaluation");
        if (error.length > 0)
                return res.json({errmsg:error});
        // Destroy pwd, set endTime
-       AssessmentModel.endAssessment(ObjectId(aid), number, password, (err,ret) => {
-               access.checkRequest(res,err,ret,"Cannot end assessment", () => {
+       EvaluationModel.endEvaluation(ObjectId(eid), number, password, (err,ret) => {
+               access.checkRequest(res,err,ret,"Cannot end evaluation", () => {
                        res.clearCookie('password');
                        res.json({});
                });