Prevent deleting master tenant (#319)
* Prevent deleting master tenant * Prevent deletion in APIS level * Address feedback
This commit is contained in:
@ -4,6 +4,7 @@ using System.Linq;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using Oqtane.Models;
|
||||
using Oqtane.Shared;
|
||||
|
||||
namespace Oqtane.Repository
|
||||
{
|
||||
@ -37,6 +38,13 @@ namespace Oqtane.Repository
|
||||
|
||||
public Tenant UpdateTenant(Tenant tenant)
|
||||
{
|
||||
var oldTenant = GetTenant(tenant.TenantId);
|
||||
|
||||
if (oldTenant.Name.Equals(Constants.MasterTenant, StringComparison.OrdinalIgnoreCase) && !oldTenant.Name.Equals(tenant.Name))
|
||||
{
|
||||
throw new InvalidOperationException("Unable to rename the master tenant.");
|
||||
}
|
||||
|
||||
_db.Entry(tenant).State = EntityState.Modified;
|
||||
_db.SaveChanges();
|
||||
_cache.Remove("tenants");
|
||||
@ -50,8 +58,8 @@ namespace Oqtane.Repository
|
||||
|
||||
public void DeleteTenant(int tenantId)
|
||||
{
|
||||
Tenant tenant = _db.Tenant.Find(tenantId);
|
||||
if (tenant != null)
|
||||
var tenant = GetTenant(tenantId);
|
||||
if (tenant != null && !tenant.Name.Equals(Constants.MasterTenant, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_db.Tenant.Remove(tenant);
|
||||
_db.SaveChanges();
|
||||
|
Reference in New Issue
Block a user