From dfcacaa1a27d9d9f2ae6fba6c9616c442e8004f7 Mon Sep 17 00:00:00 2001 From: Alexander Borg Date: Sat, 13 Sep 2025 21:22:47 +0200 Subject: [PATCH] Fix jwt-token --- server/routes/index.js | 2 ++ server/routes/tenant-debug.js | 50 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 server/routes/tenant-debug.js diff --git a/server/routes/index.js b/server/routes/index.js index d68dac8..19ccb12 100644 --- a/server/routes/index.js +++ b/server/routes/index.js @@ -15,6 +15,7 @@ const debugRoutes = require('./debug'); const detectorsRoutes = require('./detectors'); const detectionsRoutes = require('./detections'); const droneTypesRoutes = require('./droneTypes'); +const tenantDebugRoutes = require('./tenant-debug'); // Management portal routes (before API versioning) router.use('/management', managementRoutes); @@ -47,6 +48,7 @@ router.use('/debug', debugRoutes); router.use('/detectors', detectorsRoutes); router.use('/detections', detectionsRoutes); router.use('/drone-types', droneTypesRoutes); +router.use('/tenant-debug', tenantDebugRoutes); // API documentation endpoint router.get('/', (req, res) => { diff --git a/server/routes/tenant-debug.js b/server/routes/tenant-debug.js new file mode 100644 index 0000000..6ebb51e --- /dev/null +++ b/server/routes/tenant-debug.js @@ -0,0 +1,50 @@ +const express = require('express'); +const router = express.Router(); +const { authenticateToken } = require('../middleware/auth'); +const MultiTenantAuth = require('../middleware/multi-tenant-auth'); +const { Tenant } = require('../models'); + +// Debug endpoint to test tenant determination +router.get('/test-tenant', authenticateToken, async (req, res) => { + try { + console.log('Testing tenant determination...'); + + const multiTenantAuth = new MultiTenantAuth(); + const tenantSlug = await multiTenantAuth.determineTenant(req); + + console.log('Tenant slug found:', tenantSlug); + + if (!tenantSlug) { + return res.json({ + success: false, + message: 'No tenant slug found', + debug: { + host: req.get('host'), + user: req.user ? { id: req.user.id, tenant_id: req.user.tenant_id } : null + } + }); + } + + const tenant = await Tenant.findOne({ where: { slug: tenantSlug } }); + + res.json({ + success: true, + tenantSlug, + tenant: tenant ? { id: tenant.id, name: tenant.name, slug: tenant.slug } : null, + debug: { + host: req.get('host'), + user: req.user ? { id: req.user.id, tenant_id: req.user.tenant_id } : null + } + }); + + } catch (error) { + console.error('Error in tenant test:', error); + res.status(500).json({ + success: false, + error: error.message, + stack: error.stack + }); + } +}); + +module.exports = router;