Fix jwt-token

This commit is contained in:
2025-09-13 21:09:59 +02:00
parent 4e234c0bfc
commit a6c3b6aaf1
3 changed files with 149 additions and 46 deletions

View File

@@ -35,12 +35,20 @@ router.get('/rules', authenticateToken, async (req, res) => {
// Initialize multi-tenant auth to determine tenant
const multiTenantAuth = new MultiTenantAuth();
const tenantId = await multiTenantAuth.determineTenant(req);
const tenantSlug = await multiTenantAuth.determineTenant(req);
if (!tenantId) {
return res.status(403).json({
if (!tenantSlug) {
return res.status(400).json({
success: false,
message: 'Access denied: No tenant context'
message: 'Unable to determine tenant'
});
}
const tenant = await Tenant.findOne({ where: { slug: tenantSlug } });
if (!tenant) {
return res.status(404).json({
success: false,
message: 'Tenant not found'
});
}
@@ -53,7 +61,7 @@ router.get('/rules', authenticateToken, async (req, res) => {
include: [{
model: User,
as: 'user',
where: { tenant_id: tenantId },
where: { tenant_id: tenant.id },
attributes: ['id', 'username', 'email']
}],
limit: Math.min(parseInt(limit), 100),
@@ -126,12 +134,20 @@ router.put('/rules/:id', authenticateToken, validateRequest(alertRuleSchema), as
try {
// Initialize multi-tenant auth to determine tenant
const multiTenantAuth = new MultiTenantAuth();
const tenantId = await multiTenantAuth.determineTenant(req);
const tenantSlug = await multiTenantAuth.determineTenant(req);
if (!tenantId) {
return res.status(403).json({
if (!tenantSlug) {
return res.status(400).json({
success: false,
message: 'Access denied: No tenant context'
message: 'Unable to determine tenant'
});
}
const tenant = await Tenant.findOne({ where: { slug: tenantSlug } });
if (!tenant) {
return res.status(404).json({
success: false,
message: 'Tenant not found'
});
}
@@ -142,7 +158,7 @@ router.put('/rules/:id', authenticateToken, validateRequest(alertRuleSchema), as
include: [{
model: User,
as: 'user',
where: { tenant_id: tenantId },
where: { tenant_id: tenant.id },
attributes: ['id']
}]
});
@@ -177,12 +193,20 @@ router.delete('/rules/:id', authenticateToken, async (req, res) => {
try {
// Initialize multi-tenant auth to determine tenant
const multiTenantAuth = new MultiTenantAuth();
const tenantId = await multiTenantAuth.determineTenant(req);
const tenantSlug = await multiTenantAuth.determineTenant(req);
if (!tenantId) {
return res.status(403).json({
if (!tenantSlug) {
return res.status(400).json({
success: false,
message: 'Access denied: No tenant context'
message: 'Unable to determine tenant'
});
}
const tenant = await Tenant.findOne({ where: { slug: tenantSlug } });
if (!tenant) {
return res.status(404).json({
success: false,
message: 'Tenant not found'
});
}
@@ -193,7 +217,7 @@ router.delete('/rules/:id', authenticateToken, async (req, res) => {
include: [{
model: User,
as: 'user',
where: { tenant_id: tenantId },
where: { tenant_id: tenant.id },
attributes: ['id']
}]
});
@@ -236,12 +260,20 @@ router.get('/logs', authenticateToken, async (req, res) => {
// Initialize multi-tenant auth to determine tenant
const multiTenantAuth = new MultiTenantAuth();
const tenantId = await multiTenantAuth.determineTenant(req);
const tenantSlug = await multiTenantAuth.determineTenant(req);
if (!tenantId) {
return res.status(403).json({
if (!tenantSlug) {
return res.status(400).json({
success: false,
message: 'Access denied: No tenant context'
message: 'Unable to determine tenant'
});
}
const tenant = await Tenant.findOne({ where: { slug: tenantSlug } });
if (!tenant) {
return res.status(404).json({
success: false,
message: 'Tenant not found'
});
}
@@ -263,7 +295,7 @@ router.get('/logs', authenticateToken, async (req, res) => {
include: [{
model: User,
as: 'user',
where: { tenant_id: tenantId },
where: { tenant_id: tenant.id },
attributes: ['id', 'username']
}],
attributes: ['id', 'name', 'priority']
@@ -302,12 +334,20 @@ router.get('/stats', authenticateToken, async (req, res) => {
// Initialize multi-tenant auth to determine tenant
const multiTenantAuth = new MultiTenantAuth();
const tenantId = await multiTenantAuth.determineTenant(req);
const tenantSlug = await multiTenantAuth.determineTenant(req);
if (!tenantId) {
return res.status(403).json({
if (!tenantSlug) {
return res.status(400).json({
success: false,
message: 'Access denied: No tenant context'
message: 'Unable to determine tenant'
});
}
const tenant = await Tenant.findOne({ where: { slug: tenantSlug } });
if (!tenant) {
return res.status(404).json({
success: false,
message: 'Tenant not found'
});
}
@@ -316,7 +356,7 @@ router.get('/stats', authenticateToken, async (req, res) => {
include: [{
model: User,
as: 'user',
where: { tenant_id: tenantId },
where: { tenant_id: tenant.id },
attributes: []
}],
attributes: ['id']