From bcae79d0b753cccecffac3ae3c7f049b56a8d800 Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 24 Feb 2020 16:52:19 +0800 Subject: Add delete timeline. --- Timeline/Controllers/TimelineController.cs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'Timeline/Controllers/TimelineController.cs') diff --git a/Timeline/Controllers/TimelineController.cs b/Timeline/Controllers/TimelineController.cs index 9ada16e0..85ccb5c1 100644 --- a/Timeline/Controllers/TimelineController.cs +++ b/Timeline/Controllers/TimelineController.cs @@ -206,5 +206,25 @@ namespace Timeline.Controllers return BadRequest(ErrorResponse.TimelineCommon.NameConflict()); } } + + [HttpDelete("timelines/{name}")] + [Authorize] + public async Task> TimelineDelete([FromRoute][TimelineName] string name) + { + if (!this.IsAdministrator() && !(await _service.HasManagePermission(name, this.GetUserId()))) + { + return StatusCode(StatusCodes.Status403Forbidden, ErrorResponse.Common.Forbid()); + } + + try + { + await _service.DeleteTimeline(name); + return Ok(CommonDeleteResponse.Delete()); + } + catch (TimelineNotExistException) + { + return Ok(CommonDeleteResponse.NotExist()); + } + } } } -- cgit v1.2.3