From bdcbe0612ae3e4e173754c5e663e2668e9f380ec Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 12 Apr 2022 18:07:17 +0800 Subject: ... --- BackEnd/Timeline/Services/User/IUserService.cs | 5 ++++- BackEnd/Timeline/Services/User/UserService.cs | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'BackEnd/Timeline/Services/User') 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 /// The user info of users. Task> GetUsersAsync(); + Task> GetUsersV2Async(int page, int pageSize); + /// /// Create a user with given info. /// 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> 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(page, pageSize, totalCount, items); + } } } -- cgit v1.2.3