aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-03-10 03:10:34 +0800
committercrupest <crupest@outlook.com>2020-03-10 03:10:34 +0800
commit2f9da0048893aacb7ffbfcae50ea5e0c8f840dbc (patch)
tree5d0f20cd5eec5050719dc83b08e50fa5179402dc
parent84079146cf4c179cfe2770386dcd9f1cd1e7b14a (diff)
downloadtimeline-2f9da0048893aacb7ffbfcae50ea5e0c8f840dbc.tar.gz
timeline-2f9da0048893aacb7ffbfcae50ea5e0c8f840dbc.tar.bz2
timeline-2f9da0048893aacb7ffbfcae50ea5e0c8f840dbc.zip
...
-rw-r--r--Timeline/Controllers/TimelineController.cs18
-rw-r--r--Timeline/Models/Http/Timeline.cs5
2 files changed, 14 insertions, 9 deletions
diff --git a/Timeline/Controllers/TimelineController.cs b/Timeline/Controllers/TimelineController.cs
index 00e9a860..e3baff12 100644
--- a/Timeline/Controllers/TimelineController.cs
+++ b/Timeline/Controllers/TimelineController.cs
@@ -154,9 +154,10 @@ namespace TimelineApp.Controllers
{
return StatusCode(StatusCodes.Status403Forbidden, ErrorResponse.Common.Forbid());
}
- await _service.ChangeProperty(name, body);
- var timeline = (await _service.GetTimeline(name)).FillLinks(Url);
- return Ok(timeline);
+ await _service.ChangeProperty(name, _mapper.Map<TimelineChangePropertyRequest>(body));
+ var timeline = await _service.GetTimeline(name);
+ var result = _mapper.Map<TimelineInfo>(timeline);
+ return result;
}
[HttpPut("timelines/{name}/members/{member}")]
@@ -207,8 +208,9 @@ namespace TimelineApp.Controllers
try
{
- var timelineInfo = (await _service.CreateTimeline(body.Name, userId)).FillLinks(Url);
- return Ok(timelineInfo);
+ var timeline = await _service.CreateTimeline(body.Name, userId);
+ var result = _mapper.Map<TimelineInfo>(timeline);
+ return result;
}
catch (ConflictException)
{
@@ -218,7 +220,7 @@ namespace TimelineApp.Controllers
[HttpDelete("timelines/{name}")]
[Authorize]
- public async Task<ActionResult<TimelineInfo>> TimelineDelete([FromRoute][TimelineName] string name)
+ public async Task<ActionResult<CommonDeleteResponse>> TimelineDelete([FromRoute][TimelineName] string name)
{
if (!this.IsAdministrator() && !(await _service.HasManagePermission(name, this.GetUserId())))
{
@@ -228,11 +230,11 @@ namespace TimelineApp.Controllers
try
{
await _service.DeleteTimeline(name);
- return Ok(CommonDeleteResponse.Delete());
+ return CommonDeleteResponse.Delete();
}
catch (TimelineNotExistException)
{
- return Ok(CommonDeleteResponse.NotExist());
+ return CommonDeleteResponse.NotExist();
}
}
}
diff --git a/Timeline/Models/Http/Timeline.cs b/Timeline/Models/Http/Timeline.cs
index 144cca7c..637a775d 100644
--- a/Timeline/Models/Http/Timeline.cs
+++ b/Timeline/Models/Http/Timeline.cs
@@ -64,7 +64,7 @@ namespace TimelineApp.Models.Http
var urlHelper = _urlHelperFactory.GetUrlHelper(_actionContextAccessor.ActionContext);
- return new TimelineInfoLinks
+ return new TimelineInfoLinks
{
Self = urlHelper.ActionLink(nameof(TimelineController.TimelineGet), nameof(TimelineController)[0..^nameof(Controller).Length], new { source.Name }),
Posts = urlHelper.ActionLink(nameof(TimelineController.PostListGet), nameof(TimelineController)[0..^nameof(Controller).Length], new { source.Name })
@@ -114,6 +114,9 @@ namespace TimelineApp.Models.Http
public TimelineInfoAutoMapperProfile()
{
CreateMap<Timeline, TimelineInfo>().ForMember(u => u._links, opt => opt.MapFrom<TimelineInfoLinksValueResolver>());
+ CreateMap<TimelinePost, TimelinePostInfo>();
+ CreateMap<ITimelinePostContent, TimelinePostContentInfo>().ConvertUsing<TimelinePostConverter>();
+ CreateMap<TimelinePatchRequest, TimelineChangePropertyRequest>();
}
}
}