Fix jwt-token

This commit is contained in:
2025-09-13 13:20:23 +02:00
parent 0518f8dd5d
commit 5c15b51238
2 changed files with 42 additions and 2 deletions

View File

@@ -218,6 +218,11 @@ router.post('/tenants', async (req, res) => {
});
}
// Convert empty domain string to null to avoid unique constraint issues
if (tenantData.domain === '') {
tenantData.domain = null;
}
// Check for unique slug
const existingTenant = await Tenant.findOne({ where: { slug: tenantData.slug } });
if (existingTenant) {
@@ -227,6 +232,17 @@ router.post('/tenants', async (req, res) => {
});
}
// Check for unique domain if provided
if (tenantData.domain) {
const existingDomain = await Tenant.findOne({ where: { domain: tenantData.domain } });
if (existingDomain) {
return res.status(409).json({
success: false,
message: 'Domain already exists for another tenant'
});
}
}
// Log management action
console.log(`Management: Admin ${req.managementUser.username} creating tenant: ${tenantData.name}`);
@@ -295,10 +311,33 @@ router.put('/tenants/:id', async (req, res) => {
});
}
const updateData = req.body;
// Convert empty domain string to null to avoid unique constraint issues
if (updateData.domain === '') {
updateData.domain = null;
}
// Check for unique domain if provided and different from current
if (updateData.domain && updateData.domain !== tenant.domain) {
const existingDomain = await Tenant.findOne({
where: {
domain: updateData.domain,
id: { [require('sequelize').Op.ne]: tenant.id }
}
});
if (existingDomain) {
return res.status(409).json({
success: false,
message: 'Domain already exists for another tenant'
});
}
}
// Log management action
console.log(`Management: Admin ${req.managementUser.username} updating tenant: ${tenant.name}`);
await tenant.update(req.body);
await tenant.update(updateData);
res.json({
success: true,