aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline/Controllers
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-15 20:48:28 +0800
committercrupest <crupest@outlook.com>2020-11-15 20:48:28 +0800
commit1bbc60966cea77ec6ed7895bea1a01ad9c090c3a (patch)
tree7c2c792c141def97603cb43d98e83d29ac718e9a /BackEnd/Timeline/Controllers
parent667143d870679deb4be55122237e66d2d480946f (diff)
downloadtimeline-1bbc60966cea77ec6ed7895bea1a01ad9c090c3a.tar.gz
timeline-1bbc60966cea77ec6ed7895bea1a01ad9c090c3a.tar.bz2
timeline-1bbc60966cea77ec6ed7895bea1a01ad9c090c3a.zip
feat: Deleting root user now returns 400.
Diffstat (limited to 'BackEnd/Timeline/Controllers')
-rw-r--r--BackEnd/Timeline/Controllers/UserController.cs18
1 files changed, 13 insertions, 5 deletions
diff --git a/BackEnd/Timeline/Controllers/UserController.cs b/BackEnd/Timeline/Controllers/UserController.cs
index da34cb1b..8edae139 100644
--- a/BackEnd/Timeline/Controllers/UserController.cs
+++ b/BackEnd/Timeline/Controllers/UserController.cs
@@ -138,15 +138,23 @@ namespace Timeline.Controllers
/// <returns>Info of deletion.</returns>
[HttpDelete("users/{username}"), PermissionAuthorize(UserPermission.UserManagement)]
[ProducesResponseType(StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
public async Task<ActionResult<CommonDeleteResponse>> Delete([FromRoute][Username] string username)
{
- var delete = await _userDeleteService.DeleteUser(username);
- if (delete)
- return Ok(CommonDeleteResponse.Delete());
- else
- return Ok(CommonDeleteResponse.NotExist());
+ try
+ {
+ var delete = await _userDeleteService.DeleteUser(username);
+ if (delete)
+ return Ok(CommonDeleteResponse.Delete());
+ else
+ return Ok(CommonDeleteResponse.NotExist());
+ }
+ catch (InvalidOperationOnRootUserException)
+ {
+ return BadRequest(ErrorResponse.UserController.Delete_RootUser());
+ }
}
/// <summary>