From 5b059ad031b87fc2e3beaf1b650fc365b34b86ba Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 13 May 2021 15:53:08 +0800 Subject: feat: Posts pagination. --- BackEnd/Timeline/Controllers/TimelinePostController.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'BackEnd/Timeline/Controllers/TimelinePostController.cs') diff --git a/BackEnd/Timeline/Controllers/TimelinePostController.cs b/BackEnd/Timeline/Controllers/TimelinePostController.cs index 21d3821a..da45cbea 100644 --- a/BackEnd/Timeline/Controllers/TimelinePostController.cs +++ b/BackEnd/Timeline/Controllers/TimelinePostController.cs @@ -57,12 +57,14 @@ namespace Timeline.Controllers /// The name of the timeline. /// If set, only posts modified since the time will return. /// If set to true, deleted post will also return. + /// Page number, starting from 0. Null to get all. + /// Post number per page. Default is 20. /// The post list. [HttpGet] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status403Forbidden)] [ProducesResponseType(StatusCodes.Status404NotFound)] - public async Task>> List([FromRoute][GeneralTimelineName] string timeline, [FromQuery] DateTime? modifiedSince, [FromQuery] bool? includeDeleted) + public async Task>> List([FromRoute][GeneralTimelineName] string timeline, [FromQuery] DateTime? modifiedSince, [FromQuery] bool? includeDeleted, [FromQuery][Range(0, int.MaxValue)] int? page, [FromQuery][Range(1, int.MaxValue)] int? numberPerPage) { var timelineId = await _timelineService.GetTimelineIdByNameAsync(timeline); @@ -71,7 +73,7 @@ namespace Timeline.Controllers return ForbidWithCommonResponse(); } - var posts = await _postService.GetPostsAsync(timelineId, modifiedSince, includeDeleted ?? false); + var posts = await _postService.GetPostsAsync(timelineId, modifiedSince, includeDeleted ?? false, page, numberPerPage); var result = await Map(posts); return result; -- cgit v1.2.3