aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Services/User
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-04-12 18:07:17 +0800
committercrupest <crupest@outlook.com>2022-04-12 18:07:17 +0800
commitbdcbe0612ae3e4e173754c5e663e2668e9f380ec (patch)
treec8f2b703302b0fed91925962a1695c2394bf345a /BackEnd/Timeline/Services/User
parent3fc0cd57711b41e3a65e24e30ceaa3f95d7d4415 (diff)
downloadtimeline-bdcbe0612ae3e4e173754c5e663e2668e9f380ec.tar.gz
timeline-bdcbe0612ae3e4e173754c5e663e2668e9f380ec.tar.bz2
timeline-bdcbe0612ae3e4e173754c5e663e2668e9f380ec.zip
...
Diffstat (limited to 'BackEnd/Timeline/Services/User')
-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);
+ }
}
}