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;
|
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(
|
public IAsyncEnumerable<UserInfo> GetUsers(
|
||||||
int tenant,
|
int tenant,
|
||||||
bool isDocSpaceAdmin,
|
bool isDocSpaceAdmin,
|
||||||
|
@ -180,6 +180,19 @@ public class UserManager
|
|||||||
|
|
||||||
return await users.ToArrayAsync();
|
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(
|
public IAsyncEnumerable<UserInfo> GetUsers(
|
||||||
bool isDocSpaceAdmin,
|
bool isDocSpaceAdmin,
|
||||||
|
@ -30,6 +30,16 @@ namespace ASC.Core;
|
|||||||
public interface IUserService
|
public interface IUserService
|
||||||
{
|
{
|
||||||
Task<IEnumerable<UserInfo>> GetUsersAsync(int tenant);
|
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(
|
IAsyncEnumerable<UserInfo> GetUsers(
|
||||||
int tenant,
|
int tenant,
|
||||||
bool isDocSpaceAdmin,
|
bool isDocSpaceAdmin,
|
||||||
|
@ -237,6 +237,26 @@ public class EFUserService : IUserService
|
|||||||
.ToListAsync();
|
.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(
|
public async IAsyncEnumerable<UserInfo> GetUsers(
|
||||||
int tenant,
|
int tenant,
|
||||||
bool isDocSpaceAdmin,
|
bool isDocSpaceAdmin,
|
||||||
|
Loading…
Reference in New Issue
Block a user