/var/www/qr4y.com/server/delivery/api/utils
NameSizeModeActions
checkPermission.util.js2550644editdlrm
date.js46660644editdlrm
refreshToken.util.js20930644editdlrm
response.util.js1700644editdlrm
validator.util.js11720644editdlrm
Edit: /var/www/qr4y.com/server/delivery/api/utils/refreshToken.util.js (2093B)
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({ include: [ { model: db.language }, ], where: { id: userId } }) if (!user) { return null } const userCompanies = await db.companyUsers.findAll({ where: { userId: userId } }) const userBranches = await db.branchUsers.findAll({ where: { userId: userId } }) const role = await db.role.findOne({ where: { id: user.roleId } }) const driver = await db.driver.findOne({ where: { userId: user.id } }) return jwt.sign( { id: user.id, branches: new BranchUsersModel({ rows: userBranches }), companies: new CompanyUsersModel({ rows: userCompanies }), driverId: driver?.id || '', languageCode: user?.language?.code || 'en', app: app, deviceId: deviceId, platform: platform, roleId: user.roleId, roleKey: role.key }, 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 uId = userId.toString() let refreshToken = await db.refreshToken.create({ app: app, deviceId: deviceId, platform: platform, token: _token, userId: uId, expiryDate: expiredAt.getTime() }) return refreshToken.token } // APPS -------- exports.createAppAccessToken = async ({ companyId, branchId, deviceId, platform, appId, appType, appVer }) => { return jwt.sign( { companyId: companyId, branchId: branchId, appId: appId, appType: appType, appVer: appVer, deviceId: deviceId, platform: platform, }, config.jwt.secret, { expiresIn: config.jwt.accessTokenExpires } ) }