const makeLongMarkdown = require("../../util/makeLongMarkdown"); const makeId = require("../../util/makeId"); const checkListItemSerializer = require("./CheckListItemSerializer"); const groupSerializer = require("../course/GroupSerializer"); const reviewDetailSerializer = require("./ReviewDetailSerializer"); /** * @description 一次文档评价实例的详情 * @typedef {Object} ReviewDocDetailSerializerType * @property {number|string} docReviewId 一次文档评价的实例id * @property {ReviewDetailSerializerType} review 互评作业详情 * @property {GroupSerializerType} group 作者小组 * @property {string} docContent 文档内容 * @property {CheckListItemSerializerType[]} checkList check列表 */ /** * @description 生成ReviewDocDetailSerializer一次文档评价实例的详情 * @returns {ReviewDocDetailSerializerType} */ const reviewDocDetailSerializer = (docReviewId = makeId()) => { return { docReviewId, review: reviewDetailSerializer({}), group: groupSerializer(), docContent: makeLongMarkdown(), checkList: [ checkListItemSerializer({ state: "DEFAULT" }), checkListItemSerializer({ state: "SUBMITTED" }), checkListItemSerializer({ state: "PENDING" }), checkListItemSerializer({ state: "SOLVING" }), checkListItemSerializer({ state: "ARGUED" }) ] }; }; module.exports = reviewDocDetailSerializer;