log.controller.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. createdAt: {
  30. $gte: from_date ? moment(from_date).startOf('day').toDate() : moment().startOf('month').toDate(),
  31. $lte: to_date ? moment(to_date).endOf('day').toDate() : moment().endOf('month').toDate(),
  32. }
  33. }
  34. const log = await logModel.find(query).populate('user').sort({ createdAt: -1 })
  35. return response.success(res, {
  36. data: log
  37. })
  38. })