| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | const mongoose = require('mongoose')const { Schema, Types } = mongooseconst dokumen = require('./dokumen.model')const laporan = require('./laporan.model')const sanksi = require('./sanksi.model')module.exports = mongoose.model(  'Pengajuan',  new Schema({    sanksi: { type: Types.ObjectId, ref: sanksi },    laporan: { type: Types.ObjectId, ref: laporan },    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 }      ),      banding: new Schema(        {          status: String,          keterangan: String,          dokumen: [            {              type: Types.ObjectId,              ref: dokumen,            },          ],        },        { timestamps }      ),      cabut_sanksi: new Schema(        {          status: String,          keterangan: String,          dokumen: [            {              type: Types.ObjectId,              ref: dokumen,            },          ],        },        { timestamps }      ),    },    keberatan: new Schema(      {        dokumen: [          {            type: Types.ObjectId,            ref: dokumen,          },        ],      },      { timestamps }    ),    banding: new Schema(      {        dokumen: [          {            type: Types.ObjectId,            ref: dokumen,          },        ],      },      { timestamps }    ),    cabut_sanksi: new Schema(      {        dokumen: [          {            type: Types.ObjectId,            ref: dokumen,          },        ],      },      { timestamps }    ),    perbaikan: new Schema(      {        keterangan: String,        dokumen: [          {            type: Types.ObjectId,            ref: dokumen,          },        ],      },      { timestamps }    ),  }),  'pengajuan')
 |