| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- const mongoose = require('mongoose')
- const { Schema, Types } = mongoose
- const 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 }],
- alasan_delegasi: String,
- 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(
- {
- dari: { type: Types.ObjectId, ref: user },
- judul: String,
- tanggal: Date,
- dokumen: [
- {
- type: Types.ObjectId,
- ref: dokumen,
- },
- ],
- },
- {
- timestamps: true,
- }
- ),
- ],
- },
- {
- timestamps: true,
- }
- ),
- 'laporan'
- )
|