kontak.controller.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. const auth = require('../../middleware/verifyToken')
  2. const kontakModel = require('../../model/kontak.model')
  3. const response = require('../../utils/responseHandler')
  4. const role = require('../../middleware/role')
  5. const checkData = require('../../middleware/checkData')
  6. const verifyOtp = require('../../middleware/verifyOTP')
  7. const { validation } = require('../../middleware/validation')
  8. exports.getKontak = [
  9. auth,
  10. checkData((req) => req.user, (user) => kontakModel.find({ pt_id: user.lembaga.id }), 'kontak'),
  11. async (req, res) =>
  12. response.success(res, {
  13. status: 'success',
  14. message: 'Berhasil mendapatkan data kontak',
  15. data: req.data['kontak']
  16. })
  17. ]
  18. exports.addKontak = [
  19. auth,
  20. ...verifyOtp,
  21. validation((req) => req.body, {
  22. no_hp: 'string'
  23. }),
  24. async (req, res) => {
  25. const user = req.user
  26. let no_hp = req.body.no_hp
  27. no_hp = req.body.no_hp.substring(0, 1) === '0' ? '62' + no_hp.substring(1) : no_hp
  28. const kontak = new kontakModel({
  29. nama: user.nama,
  30. no_hp,
  31. role: user.role.id,
  32. lembaga: user.lembaga.id,
  33. })
  34. try {
  35. await kontak.save()
  36. return response.success(res, {
  37. status: 'success',
  38. message: 'Berhasil menambahkan kontak',
  39. data: kontak
  40. })
  41. } catch (e) {
  42. return response.error(res, {
  43. message: e.message,
  44. code: e.response?.status || 500
  45. })
  46. }
  47. }
  48. ]