Browse Source

Improve PermissionDataSeeder

pull/9978/head
liangshiwei 5 years ago
parent
commit
a29f3a7d4f
  1. 11
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs

11
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/PermissionDataSeeder.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
@ -32,13 +33,11 @@ namespace Volo.Abp.PermissionManagement
{ {
using (CurrentTenant.Change(tenantId)) using (CurrentTenant.Change(tenantId))
{ {
foreach (var permissionName in grantedPermissions) var names = grantedPermissions.ToArray();
{ var existsPermissionGrants = (await PermissionGrantRepository.GetListAsync(names, providerName, providerKey)).Select(x => x.Name).ToList();
if (await PermissionGrantRepository.FindAsync(permissionName, providerName, providerKey) != null)
{
continue;
}
foreach (var permissionName in names.Except(existsPermissionGrants))
{
await PermissionGrantRepository.InsertAsync( await PermissionGrantRepository.InsertAsync(
new PermissionGrant( new PermissionGrant(
GuidGenerator.Create(), GuidGenerator.Create(),

Loading…
Cancel
Save