From fbaa8cab95a91b887bbd2d108d27c5abb38e4e29 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 28 Oct 2019 23:35:00 +0800 Subject: Add UserDetailController unit tests. --- Timeline/Controllers/UserDetailController.cs | 44 ++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Timeline/Controllers/UserDetailController.cs (limited to 'Timeline/Controllers') diff --git a/Timeline/Controllers/UserDetailController.cs b/Timeline/Controllers/UserDetailController.cs new file mode 100644 index 00000000..ef13b462 --- /dev/null +++ b/Timeline/Controllers/UserDetailController.cs @@ -0,0 +1,44 @@ +using Microsoft.AspNetCore.Mvc; +using System.Threading.Tasks; +using Timeline.Filters; +using Timeline.Models.Validation; +using Timeline.Services; +using System.ComponentModel.DataAnnotations; + +namespace Timeline.Controllers +{ + [ApiController] + public class UserDetailController : Controller + { + private readonly IUserDetailService _service; + + public UserDetailController(IUserDetailService service) + { + _service = service; + } + + [HttpGet("users/{username}/nickname")] + [CatchUserNotExistException] + public async Task> GetNickname([FromRoute][Username] string username) + { + return Ok(await _service.GetNickname(username)); + } + + [HttpPut("users/{username}/nickname")] + [CatchUserNotExistException] + public async Task PutNickname([FromRoute][Username] string username, + [FromBody][StringLength(10, MinimumLength = 1)] string body) + { + await _service.SetNickname(username, body); + return Ok(); + } + + [HttpDelete("users/{username}/nickname")] + [CatchUserNotExistException] + public async Task DeleteNickname([FromRoute][Username] string username) + { + await _service.SetNickname(username, null); + return Ok(); + } + } +} -- cgit v1.2.3