Browse Source

Add GetListByNamesAsync to IIDentityClaimTypeRepository

pull/18555/head
liangshiwei 2 years ago
parent
commit
45a8e43298
  1. 5
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIDentityClaimTypeRepository.cs
  2. 7
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs
  3. 7
      modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs
  4. 8
      modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityClaimTypeRepository_Tests.cs

5
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIDentityClaimTypeRepository.cs

@ -35,4 +35,9 @@ public interface IIdentityClaimTypeRepository : IBasicRepository<IdentityClaimTy
string filter = null,
CancellationToken cancellationToken = default
);
Task<List<IdentityClaimType>> GetListByNamesAsync(
IEnumerable<string> names,
CancellationToken cancellationToken = default
);
}

7
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs

@ -58,4 +58,11 @@ public class EfCoreIdentityClaimTypeRepository : EfCoreRepository<IIdentityDbCon
u.Name.Contains(filter)
).LongCountAsync(GetCancellationToken(cancellationToken));
}
public virtual async Task<List<IdentityClaimType>> GetListByNamesAsync(IEnumerable<string> names, CancellationToken cancellationToken = default)
{
return await (await GetDbSetAsync())
.Where(x => names.Contains(x.Name))
.ToListAsync(GetCancellationToken(cancellationToken));
}
}

7
modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs

@ -68,4 +68,11 @@ public class MongoIdentityClaimTypeRepository : MongoDbRepository<IAbpIdentityMo
.As<IMongoQueryable<IdentityClaimType>>()
.LongCountAsync(GetCancellationToken(cancellationToken));
}
public virtual async Task<List<IdentityClaimType>> GetListByNamesAsync(IEnumerable<string> names, CancellationToken cancellationToken = default)
{
return await (await GetMongoQueryableAsync(cancellationToken))
.Where(x => names.Contains(x.Name))
.ToListAsync(GetCancellationToken(cancellationToken));
}
}

8
modules/identity/test/Volo.Abp.Identity.TestBase/Volo/Abp/Identity/IdentityClaimTypeRepository_Tests.cs

@ -42,4 +42,12 @@ public abstract class IdentityClaimTypeRepository_Tests<TStartupModule> : AbpIde
{
(await ClaimTypeRepository.GetCountAsync("Age")).ShouldBe(1);
}
[Fact]
public async Task GetListAsyncByNames()
{
var result = await ClaimTypeRepository.GetListByNamesAsync(new List<string> { "Age", "Education" });
result.Count.ShouldBe(2);
}
}

Loading…
Cancel
Save