Fix jwt-token
This commit is contained in:
@@ -130,7 +130,8 @@ const TenantModal = ({ isOpen, onClose, tenant = null, onSave }) => {
|
||||
const tenantData = {
|
||||
...formData,
|
||||
auth_config: cleanAuthConfig,
|
||||
// Convert empty email strings to null to avoid validation errors
|
||||
// Convert empty strings to null to avoid validation errors
|
||||
domain: formData.domain?.trim() || null,
|
||||
admin_email: formData.admin_email?.trim() || null,
|
||||
billing_email: formData.billing_email?.trim() || null
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user