From 57b95cf3c53c0248355ffa46214224cdba4bf79b Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 13 Feb 2021 15:46:02 +0800 Subject: feat: Add timeline manageable. --- .../Controllers/BookmarkTimelineController.cs | 8 +++++++- .../Controllers/HighlightTimelineController.cs | 8 +++++++- BackEnd/Timeline/Controllers/SearchController.cs | 8 +++++++- BackEnd/Timeline/Controllers/TimelineController.cs | 19 +++++++++++++++---- .../Timeline/Controllers/TimelinePostController.cs | 4 ++-- 5 files changed, 38 insertions(+), 9 deletions(-) (limited to 'BackEnd/Timeline/Controllers') diff --git a/BackEnd/Timeline/Controllers/BookmarkTimelineController.cs b/BackEnd/Timeline/Controllers/BookmarkTimelineController.cs index 16793de6..e2a08dcb 100644 --- a/BackEnd/Timeline/Controllers/BookmarkTimelineController.cs +++ b/BackEnd/Timeline/Controllers/BookmarkTimelineController.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Threading.Tasks; +using Timeline.Entities; using Timeline.Models.Http; using Timeline.Models.Mapper; using Timeline.Models.Validation; @@ -28,6 +29,11 @@ namespace Timeline.Controllers _timelineMapper = timelineMapper; } + private Task> Map(List timelines) + { + return _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId(), this.UserHasPermission(UserPermission.AllTimelineManagement)); + } + /// /// Get bookmark list in order. /// @@ -40,7 +46,7 @@ namespace Timeline.Controllers { var ids = await _service.GetBookmarks(this.GetUserId()); var timelines = await _timelineService.GetTimelineList(ids); - return await _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId()); + return await Map(timelines); } /// diff --git a/BackEnd/Timeline/Controllers/HighlightTimelineController.cs b/BackEnd/Timeline/Controllers/HighlightTimelineController.cs index ea012f76..f582e74b 100644 --- a/BackEnd/Timeline/Controllers/HighlightTimelineController.cs +++ b/BackEnd/Timeline/Controllers/HighlightTimelineController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Timeline.Auth; +using Timeline.Entities; using Timeline.Models.Http; using Timeline.Models.Mapper; using Timeline.Models.Validation; @@ -28,6 +29,11 @@ namespace Timeline.Controllers _timelineMapper = timelineMapper; } + private Task> Map(List timelines) + { + return _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId(), this.UserHasPermission(UserPermission.AllTimelineManagement)); + } + /// /// Get all highlight timelines. /// @@ -38,7 +44,7 @@ namespace Timeline.Controllers { var ids = await _service.GetHighlightTimelines(); var timelines = await _timelineService.GetTimelineList(ids); - return await _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId()); + return await Map(timelines); } /// diff --git a/BackEnd/Timeline/Controllers/SearchController.cs b/BackEnd/Timeline/Controllers/SearchController.cs index dec876b6..b2266c18 100644 --- a/BackEnd/Timeline/Controllers/SearchController.cs +++ b/BackEnd/Timeline/Controllers/SearchController.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; +using Timeline.Entities; using Timeline.Models.Http; using Timeline.Models.Mapper; using Timeline.Services; @@ -28,6 +29,11 @@ namespace Timeline.Controllers _userMapper = userMapper; } + private Task> Map(List timelines) + { + return _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId(), this.UserHasPermission(UserPermission.AllTimelineManagement)); + } + /// /// Search timelines whose name or title contains query string case-insensitively. /// @@ -40,7 +46,7 @@ namespace Timeline.Controllers { var searchResult = await _service.SearchTimeline(query); var timelines = searchResult.Items.Select(i => i.Item).ToList(); - return await _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId()); + return await Map(timelines); } /// diff --git a/BackEnd/Timeline/Controllers/TimelineController.cs b/BackEnd/Timeline/Controllers/TimelineController.cs index 8479ca83..b20ab227 100644 --- a/BackEnd/Timeline/Controllers/TimelineController.cs +++ b/BackEnd/Timeline/Controllers/TimelineController.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Threading.Tasks; +using Timeline.Entities; using Timeline.Filters; using Timeline.Models; using Timeline.Models.Http; @@ -43,6 +44,16 @@ namespace Timeline.Controllers private bool UserHasAllTimelineManagementPermission => this.UserHasPermission(UserPermission.AllTimelineManagement); + private Task Map(TimelineEntity timeline) + { + return _timelineMapper.MapToHttp(timeline, Url, this.GetOptionalUserId(), UserHasAllTimelineManagementPermission); + } + + private Task> Map(List timelines) + { + return _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId(), UserHasAllTimelineManagementPermission); + } + /// /// List all timelines. /// @@ -102,7 +113,7 @@ namespace Timeline.Controllers } var timelines = await _service.GetTimelines(relationship, visibilityFilter); - var result = await _timelineMapper.MapToHttp(timelines, Url, this.GetOptionalUserId()); + var result = await Map(timelines); return result; } @@ -118,7 +129,7 @@ namespace Timeline.Controllers { var timelineId = await _service.GetTimelineIdByName(timeline); var t = await _service.GetTimeline(timelineId); - var result = await _timelineMapper.MapToHttp(t, Url, this.GetOptionalUserId()); + var result = await Map(t); return result; } @@ -147,7 +158,7 @@ namespace Timeline.Controllers { await _service.ChangeProperty(timelineId, _mapper.Map(body)); var t = await _service.GetTimeline(timelineId); - var result = await _timelineMapper.MapToHttp(t, Url, this.GetOptionalUserId()); + var result = await Map(t); return result; } catch (EntityAlreadyExistException) @@ -237,7 +248,7 @@ namespace Timeline.Controllers try { var timeline = await _service.CreateTimeline(body.Name, userId); - var result = await _timelineMapper.MapToHttp(timeline, Url, this.GetOptionalUserId()); + var result = await Map(timeline); return result; } catch (EntityAlreadyExistException e) when (e.EntityName == EntityNames.Timeline) diff --git a/BackEnd/Timeline/Controllers/TimelinePostController.cs b/BackEnd/Timeline/Controllers/TimelinePostController.cs index 7e3d6900..4026d551 100644 --- a/BackEnd/Timeline/Controllers/TimelinePostController.cs +++ b/BackEnd/Timeline/Controllers/TimelinePostController.cs @@ -49,9 +49,9 @@ namespace Timeline.Controllers return _timelineMapper.MapToHttp(post, timelineName, Url, this.GetOptionalUserId(), UserHasAllTimelineManagementPermission); } - private Task> Map(List post, string timelineName) + private Task> Map(List posts, string timelineName) { - return _timelineMapper.MapToHttp(post, timelineName, Url, this.GetOptionalUserId(), UserHasAllTimelineManagementPermission); + return _timelineMapper.MapToHttp(posts, timelineName, Url, this.GetOptionalUserId(), UserHasAllTimelineManagementPermission); } /// -- cgit v1.2.3