const express = require("express"); const router = express.Router(); const reviewSimpleSerializer = require("../../serializers/review/ReviewSimpleSerializer"); const reviewDetailSerializer = require("../../serializers/review/ReviewDetailSerializer"); const checkListItemSerializer = require("../../serializers/review/CheckListItemSerializer"); const reviewResultSerializer = require("../../serializers/review/ReviewResultSerializer"); const reviewDocResultSerializer = require("../../serializers/review/ReviewDocResultSerializer"); const reviewDocDetailSerializer = require("../../serializers/review/ReviewDocDetailSerializer"); const groupSerializer = require("../../serializers/course/GroupSerializer"); // ====================== TEACHER ====================== // 新建互评作业 router.route("/review").post((req, res) => res.send({ data: reviewSimpleSerializer({}) }) ); // 老师查看互评作业列表 router.route("/teacher/course/:courseId/review").get((req, res) => res.send({ data: [ reviewSimpleSerializer({ state: "DEFAULT" }), reviewSimpleSerializer({ state: "REVIEWING" }), reviewSimpleSerializer({ state: "ARGUING" }), reviewSimpleSerializer({ state: "SOLVING" }), reviewSimpleSerializer({ state: "END" }) ] }) ); // 老师查看互评作业详情 router.route("/teacher/review/:reviewId").get((req, res) => { const reviewId = req.params.reviewId; res.send({ data: reviewDetailSerializer({ reviewId }) }); }); // 老师查看互评作业汇总结果 router.route("/sum/:reviewId").get((req, res) => res.send({ data: reviewResultSerializer({ reviewId: req.params.reviewId }) }) ); // 老师查看某次互评作业所有小组 router.route("/sum/:reviewId/group").get((req, res) => res.send({ data: [ groupSerializer(), groupSerializer(), groupSerializer(), groupSerializer(), groupSerializer() ] }) ); // 老师查看某次互评作业一个小组的详细结果 router.route("/sum/:reviewId/group/:groupId").get((req, res) => res.send({ data: reviewDocResultSerializer() }) ); router .route("/sum/:reviewId/argue/:groupId") // 老师开始对某次互评作业一个小组进行评价 .get((req, res) => res.send({ data: reviewDocDetailSerializer({}) }) ) // 老师提交对某次互评作业一个小组的评价结果 .post((req, res) => { res.send(req.body); }); // 老师更新作业评分标准 router.route("/sum/:reviewId/level").post((req, res) => { res.send({}); }); // ====================== STUDENT ====================== // 学生查看老师发布的互评作业列表 router.route("/student/course/:courseId/review").get((req, res) => res.send({ data: [ reviewSimpleSerializer({ state: "DEFAULT" }), reviewSimpleSerializer({ state: "REVIEWING" }), reviewSimpleSerializer({ state: "ARGUING" }), reviewSimpleSerializer({ state: "SOLVING" }), reviewSimpleSerializer({ state: "END" }) ] }) ); // 学生查看互评作业详情 router.route("/student/review/:reviewId").get((req, res) => res.send({ data: reviewDetailSerializer({ reviewId: req.params.reviewId }) }) ); router .route("/student/review/:reviewId/doc-review/:docReviewId") // 学生获取某次互评作业中某个文档 .get((req, res) => res.send({ data: reviewDocDetailSerializer(req.params.docReviewId) }) ) // 学生提交某次互评作业中的某个文档 .post((req, res) => res.send({ data: [ checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}) ] }) ); // 学生选择查看某次互评作业中自己的文档 router.route("/student/review/:reviewId/result").get((req, res) => res.send({ data: reviewDocResultSerializer() }) ); // 学生对某个组的某条checklist提出argue router.route("/student/argue").post((req, res) => res.send({})); // 学生(评审方)判断是否愿意处理argue router .route("/student/review/:reviewId/checklist/:checkListId/argue/acceptation") .post((req, res) => res.send({ data: [checkListItemSerializer({})] }) ); // 学生(评审方)提交argue [标记为已处理完成] router .route("/student/review/:reviewId/checklist/:checkListId/argue/end") .get((req, res) => res.send({ data: [ checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}), checkListItemSerializer({}) ] }) ); module.exports = router;