ReviewDetailSerializer.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. const makeLongMarkdown = require("../../util/makeLongMarkdown");
  2. const makeId = require("../../util/makeId");
  3. const courseSerializer = require("../course/CourseSerializer");
  4. const dayjs = require("dayjs");
  5. const checkListItemSerializer = require("./CheckListItemSerializer");
  6. const groupSerializer = require("../course/GroupSerializer");
  7. /**
  8. * @description 互评checkListItem详细实体类
  9. * @typedef {Object} ReviewDetailSerializerType
  10. * @property {number|string} id 互评作业id
  11. * @property {string} name 对应的文档作业名称
  12. * @property {CourseSerializerType} course 所属课程
  13. * @property {number} beginAt 开始时间
  14. * @property {number} endAt 截止时间
  15. * @property {string} docContent 作业内容
  16. * @property {CheckListItemSerializerType[]} checkList 评价列表
  17. * @property {GroupSerializerType} group 所属小组
  18. */
  19. /**
  20. * @description 生成ReviewDetailSerializer
  21. * @returns ReviewDetailSerializerType
  22. */
  23. const reviewDetailSerializer = () => {
  24. return {
  25. id: makeId(),
  26. name: "该项评价的内容, String",
  27. course: courseSerializer(),
  28. beginAt: dayjs("2018-10-21").unix(),
  29. endAt: dayjs("2018-12-21").unix(),
  30. docContent: makeLongMarkdown(),
  31. checkList: [checkListItemSerializer(), checkListItemSerializer()],
  32. group: groupSerializer()
  33. };
  34. };
  35. module.exports = reviewDetailSerializer;