added counting users with filter
This commit is contained in:
parent
4889105f6c
commit
03b68b4ccd
@ -181,6 +181,20 @@ public class CachedUserService : IUserService, ICachedService
|
||||
CacheUserGroupRefItem = userServiceCache.CacheUserGroupRefItem;
|
||||
}
|
||||
|
||||
public Task<int> GetUsersCountAsync(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
EmployeeStatus? employeeStatus,
|
||||
List<List<Guid>> includeGroups,
|
||||
List<Guid> excludeGroups,
|
||||
List<Tuple<List<List<Guid>>, List<Guid>>> combinedGroups,
|
||||
EmployeeActivationStatus? activationStatus,
|
||||
AccountLoginType? accountLoginType,
|
||||
string text)
|
||||
{
|
||||
return Service.GetUsersCountAsync(tenant, isDocSpaceAdmin, employeeStatus, includeGroups, excludeGroups, combinedGroups, activationStatus, accountLoginType, text);
|
||||
}
|
||||
|
||||
public IAsyncEnumerable<UserInfo> GetUsers(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
|
@ -180,6 +180,19 @@ public class UserManager
|
||||
|
||||
return await users.ToArrayAsync();
|
||||
}
|
||||
|
||||
public Task<int> GetUsersCountAsync(
|
||||
bool isDocSpaceAdmin,
|
||||
EmployeeStatus? employeeStatus,
|
||||
List<List<Guid>> includeGroups,
|
||||
List<Guid> excludeGroups,
|
||||
List<Tuple<List<List<Guid>>, List<Guid>>> combinedGroups,
|
||||
EmployeeActivationStatus? activationStatus,
|
||||
AccountLoginType? accountLoginType,
|
||||
string text)
|
||||
{
|
||||
return _userService.GetUsersCountAsync(Tenant.Id, isDocSpaceAdmin, employeeStatus, includeGroups, excludeGroups, combinedGroups, activationStatus, accountLoginType, text);
|
||||
}
|
||||
|
||||
public IAsyncEnumerable<UserInfo> GetUsers(
|
||||
bool isDocSpaceAdmin,
|
||||
|
@ -30,6 +30,16 @@ namespace ASC.Core;
|
||||
public interface IUserService
|
||||
{
|
||||
Task<IEnumerable<UserInfo>> GetUsersAsync(int tenant);
|
||||
Task<int> GetUsersCountAsync(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
EmployeeStatus? employeeStatus,
|
||||
List<List<Guid>> includeGroups,
|
||||
List<Guid> excludeGroups,
|
||||
List<Tuple<List<List<Guid>>, List<Guid>>> combinedGroups,
|
||||
EmployeeActivationStatus? activationStatus,
|
||||
AccountLoginType? accountLoginType,
|
||||
string text);
|
||||
IAsyncEnumerable<UserInfo> GetUsers(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
|
@ -237,6 +237,26 @@ public class EFUserService : IUserService
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<int> GetUsersCountAsync(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
EmployeeStatus? employeeStatus,
|
||||
List<List<Guid>> includeGroups,
|
||||
List<Guid> excludeGroups,
|
||||
List<Tuple<List<List<Guid>>, List<Guid>>> combinedGroups,
|
||||
EmployeeActivationStatus? activationStatus,
|
||||
AccountLoginType? accountLoginType,
|
||||
string text)
|
||||
{
|
||||
await using var userDbContext = _dbContextFactory.CreateDbContext();
|
||||
|
||||
var q = GetUserQuery(userDbContext, tenant);
|
||||
|
||||
q = GetUserQueryForFilter(userDbContext, q, isDocSpaceAdmin, employeeStatus, includeGroups, excludeGroups, combinedGroups, activationStatus, accountLoginType, text);
|
||||
|
||||
return await q.CountAsync();
|
||||
}
|
||||
|
||||
public async IAsyncEnumerable<UserInfo> GetUsers(
|
||||
int tenant,
|
||||
bool isDocSpaceAdmin,
|
||||
|
Loading…
Reference in New Issue
Block a user