From 328b3653fe7635f093ae62116ec6d945c976221f Mon Sep 17 00:00:00 2001 From: Tirta Aditya Date: Tue, 21 Oct 2025 14:18:06 +0700 Subject: [PATCH] updated absensi lunch_in in API history and admin --- app/modules/absensi/routes/absensi.route.js | 3 ++- app/modules/absensi/services/absensi.service.js | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/modules/absensi/routes/absensi.route.js b/app/modules/absensi/routes/absensi.route.js index 72a955e..3da4973 100644 --- a/app/modules/absensi/routes/absensi.route.js +++ b/app/modules/absensi/routes/absensi.route.js @@ -3,13 +3,14 @@ const router = express.Router() const controller = require('../controllers/absensi.controller') const apiKey = require('../../../middlewares/apiKey') const jwt = require('../../../middlewares/authentication') +const checkRole = require('../../../middlewares/checkRole') const upload = require('../../../middlewares/upload') router.get('/history', apiKey, jwt, (req, res) => { controller.history(req, res); }) -router.get('/', apiKey, (req, res) => { +router.get('/', apiKey, jwt, checkRole('admin'), (req, res) => { controller.getAll(req, res) }) diff --git a/app/modules/absensi/services/absensi.service.js b/app/modules/absensi/services/absensi.service.js index 28c9ccb..8876b97 100644 --- a/app/modules/absensi/services/absensi.service.js +++ b/app/modules/absensi/services/absensi.service.js @@ -266,7 +266,7 @@ const history = async (req, res) => { const result = attendances.map(a => { let duration = null; - if (a.clock_in && a.clock_out) { + if (a.clock_in && a.clock_out && a.lunch_in) { const diffMs = new Date(a.clock_out) - new Date(a.clock_in); const totalMinutes = Math.floor(diffMs / 60000); const hours = Math.floor(totalMinutes / 60); @@ -283,6 +283,9 @@ const history = async (req, res) => { clock_out: a.clock_out ? moment(a.clock_out).tz('Asia/Jakarta').format('YYYY-MM-DD HH:mm:ss') : '-', + lunch_in: a.lunch_in + ? moment(a.lunch_in).tz('Asia/Jakarta').format('YYYY-MM-DD HH:mm:ss') + : '-', duration: duration || '-', type: a.type, }; @@ -297,7 +300,7 @@ const history = async (req, res) => { const getAll = async (req, res) => { try { - + const today = moment().tz('Asia/Jakarta').format('YYYY-MM-DD'); const attendances = await Attedances.findAll({ @@ -308,7 +311,7 @@ const getAll = async (req, res) => { { model: User, as: 'user', - attributes: ['id', 'name', 'email'] + attributes: ['id', 'name', 'email'] } ], order: [['created_at', 'DESC']]