const mongoose = require('mongoose') const { Schema, Types } = mongoose const dokumen = require('./dokumen.model') const user = require('./user.model') const pelanggaran = require('./pelanggaran.model') module.exports = mongoose.model( 'Sanksi2', new Schema( { no_sanksi: String, user: { type: Types.ObjectId, ref: user }, pelanggaran: [{ type: Types.ObjectId, ref: pelanggaran }], keterangan: String, aktif: { type: Boolean, default: true }, dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], masa_berlaku: new Schema({ from_date: Date, to_date: Date, }), batas_waktu: { keberatan: Date, jawaban_keberatan: Date, banding: Date, jawaban_banding: Date, }, jawaban: { keberatan: new Schema( { status: String, keterangan: String, dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), banding: new Schema( { status: String, dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), cabut_sanksi: new Schema( { status: String, keterangan: String, dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), }, pengajuan: { keberatan: new Schema( { dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), banding: new Schema( { dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), cabut_sanksi: new Schema( { dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), update_tmt: new Schema( { dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), }, perbaikan: [ new Schema( { keterangan: String, dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), ], rekomendasi: [ new Schema( { dokumen: [ { type: Types.ObjectId, ref: dokumen, }, ], }, { timestamps: true } ), ], }, { timestamps: true } ), 'sanksi' )