ReviewDocDetailSerializer.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const makeLongMarkdown = require("../../util/makeLongMarkdown");
  2. const makeId = require("../../util/makeId");
  3. const checkListItemSerializer = require("./CheckListItemSerializer");
  4. const groupSerializer = require("../course/GroupSerializer");
  5. const reviewDetailSerializer = require("./ReviewDetailSerializer");
  6. /**
  7. * @description 一次文档评价实例的详情
  8. * @typedef {Object} ReviewDocDetailSerializerType
  9. * @property {number|string} docReviewId 一次文档评价的实例id
  10. * @property {ReviewDetailSerializerType} review 互评作业详情
  11. * @property {GroupSerializerType} group 作者小组
  12. * @property {string} docContent 文档内容
  13. * @property {CheckListItemSerializerType[]} checkList check列表
  14. */
  15. /**
  16. * @description 生成ReviewDocDetailSerializer一次文档评价实例的详情
  17. * @returns {ReviewDocDetailSerializerType}
  18. */
  19. const reviewDocDetailSerializer = (docReviewId = makeId()) => {
  20. return {
  21. docReviewId,
  22. review: reviewDetailSerializer({}),
  23. group: groupSerializer(),
  24. docContent: makeLongMarkdown(),
  25. checkList: [
  26. checkListItemSerializer({ state: "DEFAULT" }),
  27. checkListItemSerializer({ state: "SUBMITTED" }),
  28. checkListItemSerializer({ state: "PENDING" }),
  29. checkListItemSerializer({ state: "SOLVING" }),
  30. checkListItemSerializer({ state: "ARGUED" })
  31. ]
  32. };
  33. };
  34. module.exports = reviewDocDetailSerializer;