From ec7dfb73ace61a1aba5156cc1048cbe32ee1cee6 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 21 Oct 2019 20:47:31 +0800 Subject: ... --- Timeline/Controllers/UserDetailController.cs | 96 ---------------------------- 1 file changed, 96 deletions(-) delete mode 100644 Timeline/Controllers/UserDetailController.cs (limited to 'Timeline/Controllers/UserDetailController.cs') diff --git a/Timeline/Controllers/UserDetailController.cs b/Timeline/Controllers/UserDetailController.cs deleted file mode 100644 index 5e1183c1..00000000 --- a/Timeline/Controllers/UserDetailController.cs +++ /dev/null @@ -1,96 +0,0 @@ -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; -using System.Threading.Tasks; -using Timeline.Authenticate; -using Timeline.Models; -using Timeline.Models.Http; -using Timeline.Services; - -namespace Timeline.Controllers -{ - [Route("users/{username}")] - [ProducesErrorResponseType(typeof(CommonResponse))] - [ApiController] - public class UserDetailController : Controller - { - public static class ErrorCodes - { - public const int Get_UserNotExist = -1001; - - public const int Patch_Forbid = -2001; - public const int Patch_UserNotExist = -2002; - - public const int GetNickname_UserNotExist = -3001; - } - - private readonly ILogger _logger; - private readonly IUserDetailService _service; - - public UserDetailController(ILogger logger, IUserDetailService service) - { - _logger = logger; - _service = service; - } - - [HttpGet("nickname")] - [UserAuthorize] - [ProducesResponseType(StatusCodes.Status200OK, Type = typeof(UserDetail))] - [ProducesResponseType(StatusCodes.Status404NotFound)] - public async Task GetNickname([FromRoute] string username) - { - try - { - var nickname = await _service.GetUserNickname(username); - return Ok(new UserDetail - { - Nickname = nickname - }); - } - catch (UserNotExistException) - { - return NotFound(new CommonResponse(ErrorCodes.GetNickname_UserNotExist, "The user does not exist.")); - } - } - - [HttpGet("details")] - [UserAuthorize] - [ProducesResponseType(StatusCodes.Status200OK, Type = typeof(UserDetail))] - [ProducesResponseType(StatusCodes.Status404NotFound)] - public async Task Get([FromRoute] string username) - { - try - { - var detail = await _service.GetUserDetail(username); - return Ok(detail); - } - catch (UserNotExistException) - { - return NotFound(new CommonResponse(ErrorCodes.Get_UserNotExist, "The user does not exist.")); - } - } - - [HttpPatch("details")] - [Authorize] - [ProducesResponseType(StatusCodes.Status200OK, Type = typeof(void))] - [ProducesResponseType(StatusCodes.Status400BadRequest)] - [ProducesResponseType(StatusCodes.Status403Forbidden)] - [ProducesResponseType(StatusCodes.Status404NotFound)] - public async Task Patch([FromRoute] string username, [FromBody] UserDetail detail) - { - if (!User.IsAdmin() && User.Identity.Name != username) - return StatusCode(StatusCodes.Status403Forbidden, new CommonResponse(ErrorCodes.Patch_Forbid, "You can't change other's details unless you are admin.")); - - try - { - await _service.UpdateUserDetail(username, detail); - return Ok(); - } - catch (UserNotExistException) - { - return NotFound(new CommonResponse(ErrorCodes.Patch_UserNotExist, "The user does not exist.")); - } - } - } -} -- cgit v1.2.3