|
|
|
@ -66,6 +66,44 @@ namespace Volo.Abp.IdentityServer.ApiResources |
|
|
|
return await DbSet.CountAsync(); |
|
|
|
} |
|
|
|
|
|
|
|
public override async Task<ApiResource> UpdateAsync(ApiResource entity, bool autoSave = false, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
var scopeClaims = DbContext.Set<ApiScopeClaim>().Where(sc => sc.ApiResourceId == entity.Id); |
|
|
|
|
|
|
|
foreach (var scopeClaim in scopeClaims) |
|
|
|
{ |
|
|
|
DbContext.Set<ApiScopeClaim>().Remove(scopeClaim); |
|
|
|
} |
|
|
|
|
|
|
|
var scopes = DbContext.Set<ApiScope>().Where(s => s.ApiResourceId == entity.Id); |
|
|
|
|
|
|
|
foreach (var scope in scopes) |
|
|
|
{ |
|
|
|
DbContext.Set<ApiScope>().Remove(scope); |
|
|
|
} |
|
|
|
|
|
|
|
return await base.UpdateAsync(entity, autoSave, cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public override async Task DeleteAsync(Guid id, bool autoSave = false, CancellationToken cancellationToken = default) |
|
|
|
{ |
|
|
|
var scopeClaims = DbContext.Set<ApiScopeClaim>().Where(sc => sc.ApiResourceId == id); |
|
|
|
|
|
|
|
foreach (var scopeClaim in scopeClaims) |
|
|
|
{ |
|
|
|
DbContext.Set<ApiScopeClaim>().Remove(scopeClaim); |
|
|
|
} |
|
|
|
|
|
|
|
var scopes = DbContext.Set<ApiScope>().Where(s => s.ApiResourceId == id); |
|
|
|
|
|
|
|
foreach (var scope in scopes) |
|
|
|
{ |
|
|
|
DbContext.Set<ApiScope>().Remove(scope); |
|
|
|
} |
|
|
|
|
|
|
|
await base.DeleteAsync(id, autoSave, cancellationToken); |
|
|
|
} |
|
|
|
|
|
|
|
public override IQueryable<ApiResource> WithDetails() |
|
|
|
{ |
|
|
|
return GetQueryable().IncludeDetails(); |
|
|
|
|