Fix jwt-token

This commit is contained in:
2025-09-15 05:26:34 +02:00
parent ea5ae88019
commit c3c3de43ee
2 changed files with 20 additions and 7 deletions

View File

@@ -1,5 +1,17 @@
const jwt = require('jsonwebtoken');
const { User, Tenant } = require('../models');
// Allow models to be injected for testing
let models = null;
try {
models = require('../models');
} catch (error) {
// Models will be injected during testing
}
// Function to set models (used in testing)
function setModels(testModels) {
models = testModels;
}
async function authenticateToken(req, res, next) {
const authHeader = req.headers['authorization'];
@@ -27,10 +39,10 @@ async function authenticateToken(req, res, next) {
// For older tokens without tenantId, we need to look up the user's tenant
let tenantId = decoded.tenantId;
const user = await User.findByPk(decoded.userId, {
const user = await models.User.findByPk(decoded.userId, {
attributes: ['id', 'username', 'email', 'role', 'is_active', 'tenant_id'],
include: [{
model: Tenant,
model: models.Tenant,
as: 'tenant',
attributes: ['slug', 'name']
}]
@@ -89,5 +101,6 @@ function requireRole(roles) {
module.exports = {
authenticateToken,
requireRole
requireRole,
setModels
};