log.controller.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const logModel = require('../../model/log.model')
  2. const handleError = require('../../utils/v1/handleError')
  3. const response = require('../../utils/responseHandler')
  4. const { validate } = require('../../utils/v1/validation')
  5. const moment = require('moment')
  6. exports.create = handleError(async (req, res) => {
  7. const user = req.user
  8. const { aktivitas, os, ipv4, menu } = req.body
  9. const isValid = validate(res, req.body, {
  10. aktivitas: 'string',
  11. os: 'string',
  12. ipv4: 'string',
  13. })
  14. if (!isValid) return
  15. await logModel.create({
  16. user: user._id,
  17. aktivitas,
  18. os,
  19. ipv4,
  20. menu,
  21. })
  22. return response.success(res, {
  23. message: 'log berhasil dibuat',
  24. })
  25. })
  26. exports.all = handleError(async (req, res) => {
  27. const {from_date, to_date} = req.query
  28. let query = {}
  29. if (from_date && to_date) {
  30. query = {
  31. createdAt: {
  32. $gte: moment(from_date).startOf('day').toDate(),
  33. $lte: moment(to_date).endOf('day').toDate(),
  34. },
  35. }
  36. }
  37. const log = await logModel.find(query).populate('user').sort({ createdAt: -1 })
  38. return response.success(res, {
  39. data: log,
  40. })
  41. })