UNPKG

lingapp-redacao

Version:
49 lines (48 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Redacao = exports.PropostaRedacao = exports.CategoriaRedacao = void 0; const mongoose_1 = require("mongoose"); const interfaces_1 = require("./interfaces"); const categoriaRedacaoSchema = new mongoose_1.Schema({ titulo: { type: String }, descricao: { type: String }, img: { type: mongoose_1.Schema.Types.ObjectId, ref: "File" }, valorPagoPorCorrecao: { type: Number }, }, { timestamps: true, }); const propostaRedacaoSchema = new mongoose_1.Schema({ tema: { type: String }, descricao: { type: String }, keywords: [{ type: String }], materiaisAuxiliares: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "File" }], img: { type: mongoose_1.Schema.Types.ObjectId, ref: "File" }, categoriaRedacao: { type: mongoose_1.Schema.Types.ObjectId, ref: "CategoriaRedacao", }, }, { timestamps: true, }); const rascunhoSchema = new mongoose_1.Schema({ texto: { type: String }, arquivo: { type: mongoose_1.Schema.Types.ObjectId, ref: "File" }, }); const redacaoSchema = new mongoose_1.Schema({ aluno: { type: mongoose_1.Schema.Types.ObjectId, ref: "Usuario", required: true }, tema: { type: mongoose_1.Schema.Types.ObjectId, ref: "PropostaRedacao", required: true }, texto: { type: String, required: true }, arquivo: { type: mongoose_1.Schema.Types.ObjectId, ref: "File", required: true }, rascunho: rascunhoSchema, status: { type: String, enum: Object.values(interfaces_1.StatusRedacao), default: interfaces_1.StatusRedacao.Rascunho, }, avaliacoes: [{ type: mongoose_1.Schema.Types.ObjectId, ref: "Revisao" }], submittedAt: { type: Date }, media: { type: Number }, }, { timestamps: true }); exports.CategoriaRedacao = (0, mongoose_1.model)("CategoriaRedacao", categoriaRedacaoSchema); exports.PropostaRedacao = (0, mongoose_1.model)("PropostaRedacao", propostaRedacaoSchema); exports.Redacao = (0, mongoose_1.model)("Redacao", redacaoSchema);