/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/add_phone.js (1681B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../utils/validator.util') const bcrypt = require('bcryptjs') return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() try { const { phone, id, user_id } = req.body if (!isSet(phone) || !isPhone(phone)) { throw new BadRequest({ code: 1004, lang: req.user?.languageCode }) } if (isSet(id) && isEmpty(id)) { throw new BadRequest({ code: 2007, lang: req.user?.languageCode }) } if (!isSet(user_id) || isEmpty(user_id) || !minLength(user_id, 32)) { throw new BadRequest({ code: 2011, lang: req.user?.languageCode }) } const foundPhone = await db.userPhone.findOne({ where: { phone: phone } }) if (foundPhone) { throw new NotFound({ lang: req.user?.languageCode }) } const user = await db.user.findOne({ where: { id: user_id }, include: ['userPhones'] }) if (!user) { throw new NotFound({ lang: req.user?.languageCode }) } const new_phone = await db.userPhone.create({ phone, userId: user_id }) const time = performance.now() - t1 return res.status(200).json({ status: 'success', id: new_phone.id, time }) } catch (err) { next(err) } } }