pengajuan.model.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. const mongoose = require('mongoose')
  2. const { Schema, Types } = mongoose
  3. const dokumen = require('./dokumen.model')
  4. const laporan = require('./laporan.model')
  5. const sanksi = require('./sanksi.model')
  6. module.exports = mongoose.model(
  7. 'Pengajuan',
  8. new Schema({
  9. sanksi: { type: Types.ObjectId, ref: sanksi },
  10. laporan: { type: Types.ObjectId, ref: laporan },
  11. batas_waktu: {
  12. keberatan: Date,
  13. jawaban_keberatan: Date,
  14. banding: Date,
  15. jawaban_banding: Date,
  16. },
  17. jawaban: {
  18. keberatan: new Schema(
  19. {
  20. status: String,
  21. keterangan: String,
  22. dokumen: [
  23. {
  24. type: Types.ObjectId,
  25. ref: dokumen,
  26. },
  27. ],
  28. },
  29. { timestamps }
  30. ),
  31. banding: new Schema(
  32. {
  33. status: String,
  34. keterangan: String,
  35. dokumen: [
  36. {
  37. type: Types.ObjectId,
  38. ref: dokumen,
  39. },
  40. ],
  41. },
  42. { timestamps }
  43. ),
  44. cabut_sanksi: new Schema(
  45. {
  46. status: String,
  47. keterangan: String,
  48. dokumen: [
  49. {
  50. type: Types.ObjectId,
  51. ref: dokumen,
  52. },
  53. ],
  54. },
  55. { timestamps }
  56. ),
  57. },
  58. keberatan: new Schema(
  59. {
  60. dokumen: [
  61. {
  62. type: Types.ObjectId,
  63. ref: dokumen,
  64. },
  65. ],
  66. },
  67. { timestamps }
  68. ),
  69. banding: new Schema(
  70. {
  71. dokumen: [
  72. {
  73. type: Types.ObjectId,
  74. ref: dokumen,
  75. },
  76. ],
  77. },
  78. { timestamps }
  79. ),
  80. cabut_sanksi: new Schema(
  81. {
  82. dokumen: [
  83. {
  84. type: Types.ObjectId,
  85. ref: dokumen,
  86. },
  87. ],
  88. },
  89. { timestamps }
  90. ),
  91. perbaikan: new Schema(
  92. {
  93. keterangan: String,
  94. dokumen: [
  95. {
  96. type: Types.ObjectId,
  97. ref: dokumen,
  98. },
  99. ],
  100. },
  101. { timestamps }
  102. ),
  103. }),
  104. 'pengajuan'
  105. )