aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services
diff options
context:
space:
mode:
Diffstat (limited to 'BackEnd/Timeline/Services')
-rw-r--r--BackEnd/Timeline/Services/User/IUserService.cs5
-rw-r--r--BackEnd/Timeline/Services/User/UserService.cs15
2 files changed, 18 insertions, 2 deletions
diff --git a/BackEnd/Timeline/Services/User/IUserService.cs b/BackEnd/Timeline/Services/User/IUserService.cs
index 6ea9a4d2..efb61ccd 100644
--- a/BackEnd/Timeline/Services/User/IUserService.cs
+++ b/BackEnd/Timeline/Services/User/IUserService.cs
@@ -2,7 +2,8 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Timeline.Entities;
-
+using Timeline.Models;
+
namespace Timeline.Services.User
{
public interface IUserService
@@ -46,6 +47,8 @@ namespace Timeline.Services.User
/// <returns>The user info of users.</returns>
Task<List<UserEntity>> GetUsersAsync();
+ Task<Page<UserEntity>> GetUsersV2Async(int page, int pageSize);
+
/// <summary>
/// Create a user with given info.
/// </summary>
diff --git a/BackEnd/Timeline/Services/User/UserService.cs b/BackEnd/Timeline/Services/User/UserService.cs
index d5ee9a2f..a20076d6 100644
--- a/BackEnd/Timeline/Services/User/UserService.cs
+++ b/BackEnd/Timeline/Services/User/UserService.cs
@@ -6,6 +6,7 @@ using System.Globalization;
using System.Linq;
using System.Threading.Tasks;
using Timeline.Entities;
+using Timeline.Models;
using Timeline.Models.Validation;
using Timeline.Services.Token;
@@ -266,6 +267,18 @@ namespace Timeline.Services.User
_logger.LogInformation(Resource.LogChangePassowrd, entity.Username, id);
await _userTokenService.RevokeAllTokenByUserIdAsync(id);
- }
+ }
+
+ public async Task<Page<UserEntity>> GetUsersV2Async(int page, int pageSize)
+ {
+ if (page <= 0) throw new ArgumentOutOfRangeException(nameof(page));
+ if (pageSize <= 0) throw new ArgumentOutOfRangeException(nameof(pageSize));
+
+ var items = await _database.Users.Skip((page - 1) * pageSize).Take(pageSize).ToListAsync();
+
+ var totalCount = await _database.Users.CountAsync();
+
+ return new Page<UserEntity>(page, pageSize, totalCount, items);
+ }
}
}