Fix jwt-token
This commit is contained in:
@@ -130,7 +130,8 @@ const TenantModal = ({ isOpen, onClose, tenant = null, onSave }) => {
|
|||||||
const tenantData = {
|
const tenantData = {
|
||||||
...formData,
|
...formData,
|
||||||
auth_config: cleanAuthConfig,
|
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,
|
admin_email: formData.admin_email?.trim() || null,
|
||||||
billing_email: formData.billing_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
|
// Check for unique slug
|
||||||
const existingTenant = await Tenant.findOne({ where: { slug: tenantData.slug } });
|
const existingTenant = await Tenant.findOne({ where: { slug: tenantData.slug } });
|
||||||
if (existingTenant) {
|
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
|
// Log management action
|
||||||
console.log(`Management: Admin ${req.managementUser.username} creating tenant: ${tenantData.name}`);
|
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
|
// Log management action
|
||||||
console.log(`Management: Admin ${req.managementUser.username} updating tenant: ${tenant.name}`);
|
console.log(`Management: Admin ${req.managementUser.username} updating tenant: ${tenant.name}`);
|
||||||
|
|
||||||
await tenant.update(req.body);
|
await tenant.update(updateData);
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
success: true,
|
success: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user