/var/www/greso.tech/server/nsm/controllers/user
NameSizeModeActions
add_email.js21620644editdlrm
add_phone.js16810644editdlrm
create.js26800644editdlrm
delete.js8230644editdlrm
details.js4630644editdlrm
edit.js26050644editdlrm
email.js10980644editdlrm
list.js21390644editdlrm
login_history.js13980644editdlrm
profile.js13150644editdlrm
remove_email.js8360644editdlrm
remove_phone.js8360644editdlrm
Edit: /var/www/greso.tech/server/nsm/controllers/user/login_history.js (1398B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../utils/validator.util') const { UsersLoginHisoryModel } = require('../../responseModels') return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() try { const { userId, roleId, ipAddress, limit, page } = req.query let include = [{ model: db.user, include: db.userEmail }] let where = {} if (userId) { where['userId'] = parseInt(userId) } if (ipAddress) { where['ipAddress'] = ipAddress } if (isSet(roleId)) { where['roleId'] = parseInt(roleId) } let offset = page ? (page - 1) * (limit || 10) : 0 const count = await db.userLoginHistory.count({ include: include, where, }); const rows = await db.userLoginHistory.findAll({ include: include, where, offset, order: [ ['createdAt', 'DESC'], ], limit: parseInt(limit) || 10 }) if (!rows || rows.length == 0) { throw new NotFound({ lang: req.user?.languageCode }) } const time = performance.now() - t1 return res.status(200).json(new UsersLoginHisoryModel({ list: rows, page, limit, count, time })) } catch (err) { next(err) } } }