| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- 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 }
- ),
- },
- perbaikan: [
- new Schema(
- {
- keterangan: String,
- dokumen: [
- {
- type: Types.ObjectId,
- ref: dokumen,
- },
- ],
- },
- { timestamps: true }
- ),
- ],
- },
- { timestamps: true }
- ),
- 'sanksi'
- )
|