/var/www/greso.tech/server/nsm/controllers/user
Edit: /var/www/greso.tech/server/nsm/controllers/user/profile.js (1315B)
module.exports = function ({ db, logger }) {
const { NotFound, BadRequest } = require('../../responseModels/errors')
const UserProfileModel = require('../../responseModels/user/profile.model')
return async (req, res, next) => {
logger.child({ path: req.path }).info()
let t1 = performance.now()
try {
var user = await db.user.findOne(
{
include: [
db.userEmail,
db.userPhone,
db.role,
{ model: db.company, as: 'userCompanies',
required: false,
include: { model: db.branch, as: 'branches' ,
paranoid: false,
required: false,
where: { deletedAt: null }},
},
{ model: db.company, as: 'clientCompanies', required: false, },
{ model: db.branch, as: 'userBranches' ,
include: [
{
model: db.company,
as: 'company',
paranoid: false,
required: false,
where: { deletedAt: null }
}
],
paranoid: false,
required: false,
where: { deletedAt: null }
},
],
where: { id: req.user.id }
}
)
// add list user roles
user.dataValues.roles = req.user.roles
const time = performance.now() - t1
return res.status(200).json(new UserProfileModel({ time, user }))
} catch (err) {
next(err)
}
}
}