Fix jwt-token

This commit is contained in:
2025-09-22 08:02:07 +02:00
parent a258543224
commit e8c5306e10
2 changed files with 12 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
const express = require('express'); const express = require('express');
const router = express.Router(); const router = express.Router();
const Joi = require('joi'); const Joi = require('joi');
const { AlertRule, AlertLog, User, Device, Tenant, sequelize } = require('../models'); const { AlertRule, AlertLog, User, Device, Tenant, DroneDetection, sequelize } = require('../models');
const { validateRequest } = require('../middleware/validation'); const { validateRequest } = require('../middleware/validation');
const { authenticateToken, requireRole } = require('../middleware/auth'); const { authenticateToken, requireRole } = require('../middleware/auth');
const MultiTenantAuth = require('../middleware/multi-tenant-auth'); const MultiTenantAuth = require('../middleware/multi-tenant-auth');
@@ -299,6 +299,11 @@ router.get('/logs', authenticateToken, async (req, res) => {
attributes: ['id', 'username'] attributes: ['id', 'username']
}], }],
attributes: ['id', 'name', 'priority'] attributes: ['id', 'name', 'priority']
}, {
model: DroneDetection,
as: 'detection',
attributes: ['id', 'drone_id', 'device_id', 'drone_type', 'rssi', 'server_timestamp'],
required: false // Allow alerts without detection_id (like device offline alerts)
}], }],
limit: Math.min(parseInt(limit), 200), limit: Math.min(parseInt(limit), 200),
offset: parseInt(offset), offset: parseInt(offset),

View File

@@ -369,14 +369,16 @@ class AlertService {
model: DroneDetection, model: DroneDetection,
as: 'detection', as: 'detection',
where: { where: {
device_id: detection.device_id, device_id: detection.device_id
drone_id: detection.drone_id // Removed drone_id check - cooldown applies per device, not per device+drone combination
} // This prevents alert spam when multiple drones are detected by the same device
},
required: false // Allow alerts without detection_id (like device offline alerts)
}] }]
}); });
if (recentAlert) { if (recentAlert) {
console.log(`❌ Rule "${rule.name}": Still in cooldown period`); console.log(`❌ Rule "${rule.name}": Still in cooldown period (last alert: ${recentAlert.sent_at})`);
return false; return false;
} }
} }