From 45a6ca3a189a81060ae44d0764248547fe2b686c Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 31 Jan 2020 15:21:58 +0800 Subject: Combine two user info types. --- Timeline/Controllers/UserController.cs | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) (limited to 'Timeline/Controllers/UserController.cs') diff --git a/Timeline/Controllers/UserController.cs b/Timeline/Controllers/UserController.cs index fa73c6f9..4572296b 100644 --- a/Timeline/Controllers/UserController.cs +++ b/Timeline/Controllers/UserController.cs @@ -29,35 +29,23 @@ namespace Timeline.Controllers _mapper = mapper; } - private IUserInfo ConvertToUserInfo(User user, bool administrator) - { - if (administrator) - return _mapper.Map(user); - else - return _mapper.Map(user); - } + private UserInfo ConvertToUserInfo(User user) => _mapper.Map(user); [HttpGet("users")] - public async Task> List() + public async Task> List() { var users = await _userService.GetUsers(); - var administrator = this.IsAdministrator(); - // Note: the (object) explicit conversion. If not convert, - // then result is a IUserInfo array and JsonSerializer will - // treat all element as IUserInfo and deserialize only properties - // in IUserInfo. So we convert it to object to make an object - // array so that JsonSerializer use the runtime type. - var result = users.Select(u => (object)ConvertToUserInfo(u, administrator)).ToArray(); + var result = users.Select(u => ConvertToUserInfo(u)).ToArray(); return Ok(result); } [HttpGet("users/{username}")] - public async Task> Get([FromRoute][Username] string username) + public async Task> Get([FromRoute][Username] string username) { try { var user = await _userService.GetUserByUsername(username); - return Ok(ConvertToUserInfo(user, this.IsAdministrator())); + return Ok(ConvertToUserInfo(user)); } catch (UserNotExistException e) { -- cgit v1.2.3