laporan.model.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const mongoose = require('mongoose')
  2. const { Schema, Types } = mongoose
  3. const user = require('./user.model')
  4. const dokumen = require('./dokumen.model')
  5. module.exports = mongoose.model(
  6. 'Laporan',
  7. new Schema(
  8. {
  9. no_laporan: { type: String, unique },
  10. user: { type: Types.ObjectId, ref: user },
  11. pt: Object,
  12. keterangan: String,
  13. pelanggaran: [Object],
  14. role_data: {
  15. type: String,
  16. enum: ['dikti', 'lldikti'],
  17. default: 'dikti',
  18. },
  19. status: String,
  20. aktif: { type: Boolean, default: true },
  21. dokumen: [
  22. {
  23. type: Types.ObjectId,
  24. ref: dokumen,
  25. },
  26. ],
  27. jadwal: {
  28. judul: String,
  29. dari_tanggal: Date,
  30. sampai_tanggal: Date,
  31. warna: String,
  32. },
  33. evaluasi: [
  34. new Schema(
  35. {
  36. tanggal: Date,
  37. judul: String,
  38. dokumen: [
  39. {
  40. type: Types.ObjectId,
  41. ref: dokumen,
  42. },
  43. ],
  44. },
  45. {
  46. timestamps,
  47. }
  48. ),
  49. ],
  50. },
  51. {
  52. timestamps,
  53. }
  54. ),
  55. 'laporan'
  56. )