pelanggaran.controller.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const handleError = require('../utils/handleError')
  2. const response = require('../utils/responseHandler')
  3. const pelanggaranModel = require('../model/pelanggaran.model')
  4. exports.getAll = handleError(async (req, res) => {
  5. const user = req.user
  6. let { id } = req.query
  7. const w = {}
  8. if (id) {
  9. id = id.split(',')
  10. w._id = { $in: id }
  11. }
  12. if (user.role.id === 2021) {
  13. w.level_sanksi = 1
  14. }
  15. const data = await pelanggaranModel.find(w)
  16. return response.success(res, {
  17. message: 'Berhasil ambil data Pelanggaran',
  18. data,
  19. })
  20. })
  21. exports.public = handleError(async (req, res) => {
  22. const data = await pelanggaranModel.find().select('pelanggaran')
  23. return response.success(res, {
  24. message: 'Berhasil ambil data Pelanggaran',
  25. data,
  26. })
  27. })
  28. exports.sanksi = handleError(async (req, res) => {
  29. const user = req.user
  30. const w = {}
  31. if (user.role.id === 2021) {
  32. w.level_sanksi = 1
  33. } else {
  34. w.level_sanksi = { $nin: [0, 1] }
  35. }
  36. let data = await pelanggaranModel.find(w)
  37. data = [
  38. ...new Set(
  39. data.map((e) => `${e.sanksi} - Sanksi Administratif ${e.label_sanksi}`)
  40. ),
  41. ]
  42. return response.success(res, {
  43. message: 'Berhasil ambil data Pelanggaran',
  44. data,
  45. })
  46. })