/
var
/
www
/
greso.tech
/
server
/
nsm
/
utils
/
/var/www/greso.tech/server/nsm/utils
mkdir
upload
Name
Size
Mode
Actions
refreshToken.util.js
1872
0644
edit
dl
rm
request.util.js
837
0644
edit
dl
rm
validator.util.js
2782
0644
edit
dl
rm
Edit:
/var/www/greso.tech/server/nsm/utils/refreshToken.util.js
(1872B)
const { v4: uuidv4 } = require('uuid') const config = require('../config/app.json') const jwt = require('jsonwebtoken') const { CompanyUsersModel, BranchUsersModel } = require('../responseModels') exports.verify = (token) => { return token.expiryDate.getTime() > new Date().getTime() } exports.createAccessToken = async ({ db, app, deviceId, platform, userId }) => { const user = await db.user.findOne({ where: { id: userId } }) if (!user) { return null } const role = await db.role.findOne({ where: { id: user.roleId } }) var where = { userId: userId } var roles = [] roles.push(role.id) // add default role if (role.key == 'su') { where = {} } const userCompanies = await db.companyUsers.findAll({ where: where }) const userBranches = await db.branchUsers.findAll({ where: where }) // add user roles if (role.key == 'su') { roles = await SERVICES.AuthService.GetAllRoles() } else { for (var b_idx in userBranches) { roles.push(userBranches[b_idx].roleId) } for (var c_idx in userCompanies) { roles.push(userCompanies[c_idx].roleId) } } return jwt.sign( { id: user.id, branches: new BranchUsersModel({ rows: userBranches }), companies: new CompanyUsersModel({ rows: userCompanies }), app: app, deviceId: deviceId, platform: platform, roleId: user.roleId, roleKey: role.key, roles: roles }, config.jwt.secret, { expiresIn: config.jwt.accessTokenExpires } ) } exports.createRefreshToken = async ({ db, app, deviceId, platform, userId }) => { let expiredAt = new Date() expiredAt.setSeconds(expiredAt.getSeconds() + config.jwt.refreshTokenExpires) let _token = uuidv4() let refreshToken = await db.refreshToken.create({ app: app, deviceId: deviceId, platform: platform, token: _token, userId: userId, expiryDate: expiredAt.getTime() }) return refreshToken.token }
Save
cmd:
run