aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Controllers
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline/Controllers')
-rw-r--r--Timeline/Controllers/PersonalTimelineController.cs4
-rw-r--r--Timeline/Controllers/TimelineController.cs31
2 files changed, 29 insertions, 6 deletions
diff --git a/Timeline/Controllers/PersonalTimelineController.cs b/Timeline/Controllers/PersonalTimelineController.cs
index b6c213d9..cef04a97 100644
--- a/Timeline/Controllers/PersonalTimelineController.cs
+++ b/Timeline/Controllers/PersonalTimelineController.cs
@@ -28,7 +28,7 @@ namespace Timeline.Controllers
[HttpGet("users/{username}/timeline")]
public async Task<ActionResult<TimelineInfo>> TimelineGet([FromRoute][Username] string username)
{
- return (await _service.GetTimeline(username)).FillLinksForPersonalTimeline(Url);
+ return (await _service.GetTimeline(username)).FillLinks(Url);
}
[HttpGet("users/{username}/timeline/posts")]
@@ -84,7 +84,7 @@ namespace Timeline.Controllers
return StatusCode(StatusCodes.Status403Forbidden, ErrorResponse.Common.Forbid());
}
await _service.ChangeProperty(username, body);
- var timeline = (await _service.GetTimeline(username)).FillLinksForPersonalTimeline(Url);
+ var timeline = (await _service.GetTimeline(username)).FillLinks(Url);
return Ok(timeline);
}
diff --git a/Timeline/Controllers/TimelineController.cs b/Timeline/Controllers/TimelineController.cs
index a514ccd9..811b0426 100644
--- a/Timeline/Controllers/TimelineController.cs
+++ b/Timeline/Controllers/TimelineController.cs
@@ -17,18 +17,41 @@ namespace Timeline.Controllers
{
private readonly ILogger<TimelineController> _logger;
+ private readonly IUserService _userService;
private readonly ITimelineService _service;
- public TimelineController(ILogger<TimelineController> logger, ITimelineService service)
+ public TimelineController(ILogger<TimelineController> logger, IUserService userService, ITimelineService service)
{
_logger = logger;
+ _userService = userService;
_service = service;
}
+ [HttpGet("timelines")]
+ public async Task<ActionResult<List<TimelineInfo>>> TimelineList([FromQuery][Username] string? relate)
+ {
+ long? relatedUserId = null;
+ if (relate != null)
+ {
+ try
+ {
+ relatedUserId = await _userService.GetUserIdByUsername(relate);
+ }
+ catch (UserNotExistException)
+ {
+ return BadRequest(ErrorResponse.TimelineController.QueryRelateNotExist());
+ }
+ }
+
+ var result = await _service.GetTimelines(relatedUserId);
+ result.ForEach(t => t.FillLinks(Url));
+ return Ok(result);
+ }
+
[HttpGet("timelines/{name}")]
public async Task<ActionResult<TimelineInfo>> TimelineGet([FromRoute][TimelineName] string name)
{
- var result = (await _service.GetTimeline(name)).FillLinksForNormalTimeline(Url);
+ var result = (await _service.GetTimeline(name)).FillLinks(Url);
return Ok(result);
}
@@ -85,7 +108,7 @@ namespace Timeline.Controllers
return StatusCode(StatusCodes.Status403Forbidden, ErrorResponse.Common.Forbid());
}
await _service.ChangeProperty(name, body);
- var timeline = (await _service.GetTimeline(name)).FillLinksForNormalTimeline(Url);
+ var timeline = (await _service.GetTimeline(name)).FillLinks(Url);
return Ok(timeline);
}
@@ -137,7 +160,7 @@ namespace Timeline.Controllers
try
{
- var timelineInfo = (await _service.CreateTimeline(body.Name, userId)).FillLinksForNormalTimeline(Url);
+ var timelineInfo = (await _service.CreateTimeline(body.Name, userId)).FillLinks(Url);
return Ok(timelineInfo);
}
catch (ConflictException)