Browse Source

added filtering to IdentityClientRepository and refactored it

pull/4044/head
Akın Sabri Çam 6 years ago
parent
commit
44ddf5cded
  1. 1
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/IClientRepository.cs
  2. 9
      modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs
  3. 10
      modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoClientRepository.cs

1
modules/identityserver/src/Volo.Abp.IdentityServer.Domain/Volo/Abp/IdentityServer/Clients/IClientRepository.cs

@ -19,6 +19,7 @@ namespace Volo.Abp.IdentityServer.Clients
string sorting,
int skipCount,
int maxResultCount,
string filter = null,
bool includeDetails = false,
CancellationToken cancellationToken = default
);

9
modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/Clients/ClientRepository.cs

@ -19,7 +19,7 @@ namespace Volo.Abp.IdentityServer.Clients
}
public virtual async Task<Client> FindByCliendIdAsync(
string clientId,
string clientId,
bool includeDetails = true,
CancellationToken cancellationToken = default)
{
@ -28,11 +28,14 @@ namespace Volo.Abp.IdentityServer.Clients
.FirstOrDefaultAsync(x => x.ClientId == clientId, GetCancellationToken(cancellationToken));
}
public virtual async Task<List<Client>> GetListAsync(string sorting, int skipCount, int maxResultCount, bool includeDetails = false,
public virtual async Task<List<Client>> GetListAsync(
string sorting, int skipCount, int maxResultCount, string filter, bool includeDetails = false,
CancellationToken cancellationToken = default)
{
return await DbSet
.IncludeDetails(includeDetails).OrderBy(sorting ?? nameof(Client.ClientName) + " desc")
.IncludeDetails(includeDetails)
.WhereIf(filter != null, x => x.ClientId.Contains(filter))
.OrderBy(sorting ?? nameof(Client.ClientName) + " desc")
.PageBy(skipCount, maxResultCount)
.ToListAsync(GetCancellationToken(cancellationToken));
}

10
modules/identityserver/src/Volo.Abp.IdentityServer.MongoDB/Volo/Abp/IdentityServer/MongoDB/MongoClientRepository.cs

@ -22,7 +22,7 @@ namespace Volo.Abp.IdentityServer.MongoDB
}
public virtual async Task<Client> FindByCliendIdAsync(
string clientId,
string clientId,
bool includeDetails = true,
CancellationToken cancellationToken = default)
{
@ -30,13 +30,15 @@ namespace Volo.Abp.IdentityServer.MongoDB
}
public virtual async Task<List<Client>> GetListAsync(
string sorting,
int skipCount,
int maxResultCount,
string sorting,
int skipCount,
int maxResultCount,
string filter = null,
bool includeDetails = false,
CancellationToken cancellationToken = default)
{
return await GetMongoQueryable()
.WhereIf(filter != null, x=>x.ClientId.Contains(filter))
.OrderBy(sorting ?? nameof(Client.ClientName))
.As<IMongoQueryable<Client>>()
.PageBy<Client, IMongoQueryable<Client>>(skipCount, maxResultCount)

Loading…
Cancel
Save