| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | const mongoose = require('mongoose')const { Schema, Types } = mongooseconst user = require('./user.model')const dokumen = require('./dokumen.model')const pelanggaran = require('./pelanggaran.model')module.exports = mongoose.model(  'Laporan',  new Schema(    {      no_laporan: { type: String, unique: true },      user: { type: Types.ObjectId, ref: user },      sanksi: { type: Types.ObjectId },      pt: Object,      keterangan: String,      pelanggaran: [{ type: Types.ObjectId, ref: pelanggaran }],      level: { type: Number, enum: [1, 2, 3] },      role_asal: {        type: String,        enum: ['dikti', 'lldikti'],        default: 'dikti',      },      role_data: {        type: String,        enum: ['dikti', 'lldikti'],        default: 'dikti',      },      aktif: { type: Boolean, default: true },      dokumen: [        {          type: Types.ObjectId,          ref: dokumen,        },      ],      jadwal: {        judul: String,        dari_tanggal: Date,        sampai_tanggal: Date,        warna: String,      },      evaluasi: [        new Schema(          {            judul: String,            tanggal: Date,            dokumen: [              {                type: Types.ObjectId,                ref: dokumen,              },            ],          },          {            timestamps: true,          }        ),      ],    },    {      timestamps: true,    }  ),  'laporan')
 |