index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. const express = require("express");
  2. const router = express.Router();
  3. const reviewSimpleSerializer = require("../../serializers/review/ReviewSimpleSerializer");
  4. const reviewDetailSerializer = require("../../serializers/review/ReviewDetailSerializer");
  5. const checkListItemSerializer = require("../../serializers/review/CheckListItemSerializer");
  6. const reviewResultSerializer = require("../../serializers/review/ReviewResultSerializer");
  7. const reviewDocResultSerializer = require("../../serializers/review/ReviewDocResultSerializer");
  8. const reviewDocDetailSerializer = require("../../serializers/review/ReviewDocDetailSerializer");
  9. const groupSerializer = require("../../serializers/course/GroupSerializer");
  10. // ====================== TEACHER ======================
  11. // 新建互评作业
  12. router.route("/review").post((req, res) =>
  13. res.send({
  14. data: reviewSimpleSerializer({})
  15. })
  16. );
  17. // 老师查看互评作业列表
  18. router.route("/teacher/course/:courseId/review").get((req, res) =>
  19. res.send({
  20. data: [
  21. reviewSimpleSerializer({ state: "DEFAULT" }),
  22. reviewSimpleSerializer({ state: "REVIEWING" }),
  23. reviewSimpleSerializer({ state: "ARGUING" }),
  24. reviewSimpleSerializer({ state: "SOLVING" }),
  25. reviewSimpleSerializer({ state: "END" })
  26. ]
  27. })
  28. );
  29. // 老师查看互评作业详情
  30. router.route("/teacher/review/:reviewId").get((req, res) => {
  31. const reviewId = req.params.reviewId;
  32. res.send({
  33. data: reviewDetailSerializer({ reviewId })
  34. });
  35. });
  36. // 老师查看互评作业汇总结果
  37. router.route("/sum/:reviewId").get((req, res) =>
  38. res.send({
  39. data: reviewResultSerializer({ reviewId: req.params.reviewId })
  40. })
  41. );
  42. // 老师查看某次互评作业所有小组
  43. router.route("/sum/:reviewId/group").get((req, res) =>
  44. res.send({
  45. data: [
  46. groupSerializer(),
  47. groupSerializer(),
  48. groupSerializer(),
  49. groupSerializer(),
  50. groupSerializer()
  51. ]
  52. })
  53. );
  54. // 老师查看某次互评作业一个小组的详细结果
  55. router.route("/sum/:reviewId/group/:groupId").get((req, res) =>
  56. res.send({
  57. data: reviewDocResultSerializer()
  58. })
  59. );
  60. router
  61. .route("/sum/:reviewId/argue/:groupId")
  62. // 老师开始对某次互评作业一个小组进行评价
  63. .get((req, res) =>
  64. res.send({
  65. data: reviewDocDetailSerializer({})
  66. })
  67. )
  68. // 老师提交对某次互评作业一个小组的评价结果
  69. .post((req, res) => {
  70. res.send(req.body);
  71. });
  72. // 老师更新作业评分标准
  73. router.route("/sum/:reviewId/level").post((req, res) => {
  74. res.send({});
  75. });
  76. // ====================== STUDENT ======================
  77. // 学生查看老师发布的互评作业列表
  78. router.route("/student/course/:courseId/review").get((req, res) =>
  79. res.send({
  80. data: [
  81. reviewSimpleSerializer({ state: "DEFAULT" }),
  82. reviewSimpleSerializer({ state: "REVIEWING" }),
  83. reviewSimpleSerializer({ state: "ARGUING" }),
  84. reviewSimpleSerializer({ state: "SOLVING" }),
  85. reviewSimpleSerializer({ state: "END" })
  86. ]
  87. })
  88. );
  89. // 学生查看互评作业详情
  90. router.route("/student/review/:reviewId").get((req, res) =>
  91. res.send({
  92. data: reviewDetailSerializer({ reviewId: req.params.reviewId })
  93. })
  94. );
  95. router
  96. .route("/student/review/:reviewId/doc-review/:docReviewId")
  97. // 学生获取某次互评作业中某个文档
  98. .get((req, res) =>
  99. res.send({
  100. data: reviewDocDetailSerializer(req.params.docReviewId)
  101. })
  102. )
  103. // 学生提交某次互评作业中的某个文档
  104. .post((req, res) =>
  105. res.send({
  106. data: [
  107. checkListItemSerializer({}),
  108. checkListItemSerializer({}),
  109. checkListItemSerializer({}),
  110. checkListItemSerializer({}),
  111. checkListItemSerializer({})
  112. ]
  113. })
  114. );
  115. // 学生选择查看某次互评作业中自己的文档
  116. router.route("/student/review/:reviewId/result").get((req, res) =>
  117. res.send({
  118. data: reviewDocResultSerializer()
  119. })
  120. );
  121. // 学生对某个组的某条checklist提出argue
  122. router.route("/student/argue").post((req, res) => res.send({}));
  123. // 学生(评审方)判断是否愿意处理argue
  124. router
  125. .route("/student/review/:reviewId/checklist/:checkListId/argue/acceptation")
  126. .post((req, res) =>
  127. res.send({
  128. data: [checkListItemSerializer({})]
  129. })
  130. );
  131. // 学生(评审方)提交argue [标记为已处理完成]
  132. router
  133. .route("/student/review/:reviewId/checklist/:checkListId/argue/end")
  134. .get((req, res) =>
  135. res.send({
  136. data: [
  137. checkListItemSerializer({}),
  138. checkListItemSerializer({}),
  139. checkListItemSerializer({}),
  140. checkListItemSerializer({}),
  141. checkListItemSerializer({})
  142. ]
  143. })
  144. );
  145. module.exports = router;