/var/www/qr4y.gr/server/delivery/api/utils
NameSizeModeActions
checkPermission.util.js2340644editdlrm
date.js46660644editdlrm
refreshToken.util.js14420644editdlrm
response.util.js1700644editdlrm
validator.util.js11720644editdlrm
Edit: /var/www/qr4y.gr/server/delivery/api/utils/refreshToken.util.js (1442B)
const { v4: uuidv4 } = require('uuid') const config = require('../../config/app.json') const jwt = require('jsonwebtoken') 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 }, { model: db.role, include: { model: db.permission, through: { attributes: [] } } } ], where: { id: userId } }) if(!user){ return null } const driver = await db.driver.findOne({ where: { userId: user.id } }) return jwt.sign( { id: user.id, uid: user.uid, branchId: user.branchId, comanyId: user.comapnyId, driverId: driver?.id || 0, languageCode: user.language.code, app: app, deviceId: deviceId, platform: platform, permissions: user.role.permissions.map((p) => { return p.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 refreshToken = await db.refreshToken.create({ app: app, deviceId: deviceId, platform: platform, token: _token, userId: userId, expiryDate: expiredAt.getTime() }) return refreshToken.token }