/
var
/
www
/
greso.tech
/
server
/
nsm
/
controllers
/
company
/
client
/
/var/www/greso.tech/server/nsm/controllers/company/client
mkdir
upload
Name
Size
Mode
Actions
create.js
1482
0644
edit
dl
rm
delete.js
1254
0644
edit
dl
rm
edit.js
1122
0644
edit
dl
rm
list.js
1840
0644
edit
dl
rm
Edit:
/var/www/greso.tech/server/nsm/controllers/company/client/list.js
(1840B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../../utils/validator.util') const { CompanyClientsListModel } = require('../../../responseModels') return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() try { const { companyId, limit, page } = req.query let where = {} if (isSet(companyId)) { where['companyId'] = companyId const company = await db.company.findOne({ where: { id: companyId } }) if (!company) { throw new BadRequest({ code: 2012, lang: req.user?.languageCode }) } } let include_user = [] let wherePhone = {} let whereEmail = {} // whereEmail['userId'] = { } include_user.push({ model: db.userPhone, required: false, as: 'userPhones', // where: wherePhone }) include_user.push({ model: db.userEmail, required: false, as: 'userEmails', // where: whereEmail }) let include = [ { model: db.user, include: include_user } ] let offset = page ? (page - 1) * (limit || 10) : 0 const count = await db.companyClients.count({ where, }); const rows = await db.companyClients.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 CompanyClientsListModel({ rows, page, limit, count, time })) } catch (err) { next(err) } } }
Save
cmd:
run