From 474d01e901098195b9ed514b238e1e200cef6357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20G=C3=B3rzy=C5=84ski?= Date: Tue, 15 Dec 2020 15:36:23 +0100 Subject: [PATCH] Update CharacterController with Either, also small style fix in UserController --- .../Controllers/CharacterController.cs | 19 ++++++++++++++----- .../Controllers/UserController.cs | 2 -- .../SessionCompanion/SessionCompanion.xml | 4 ++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs b/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs index 49eb93b..52507ad 100644 --- a/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs +++ b/SessionCompanion/SessionCompanion/Controllers/CharacterController.cs @@ -1,6 +1,8 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; +using SessionCompanion.Extensions.EitherType; using SessionCompanion.Services.Interfaces; +using SessionCompanion.ViewModels.ApiResponses; using SessionCompanion.ViewModels.CharacterViewModels; namespace SessionCompanion.Controllers @@ -19,12 +21,19 @@ namespace SessionCompanion.Controllers /// /// Metoda zwraca postać ze wskazanym identyfikatorem /// - /// Identyfikator postaci - /// ViewModel Postaci - [HttpGet("{id}")] - public async Task Get(int id) + /// Identyfikator postaci + /// ViewModel Postaci/ErrorResponse + [HttpGet("{characterId}")] + public async Task> Get(int characterId) { - return await _service.Get(id); + + CharacterViewModel characterViewModel = await _service.Get(characterId); + if (characterViewModel is null) + return new ErrorResponse() { + StatusCode = 204, + Message = "No character with given characterId" + }; + return characterViewModel; } } } \ No newline at end of file diff --git a/SessionCompanion/SessionCompanion/Controllers/UserController.cs b/SessionCompanion/SessionCompanion/Controllers/UserController.cs index 3272412..2e9081b 100644 --- a/SessionCompanion/SessionCompanion/Controllers/UserController.cs +++ b/SessionCompanion/SessionCompanion/Controllers/UserController.cs @@ -34,9 +34,7 @@ namespace SessionCompanion.Controllers UserViewModel user = await _service.SearchUserByUsername(userName); if (user != null && user.Password.Equals(password)) - { return user.Id; - } return new ErrorResponse() { diff --git a/SessionCompanion/SessionCompanion/SessionCompanion.xml b/SessionCompanion/SessionCompanion/SessionCompanion.xml index a0e2259..ff31b6a 100644 --- a/SessionCompanion/SessionCompanion/SessionCompanion.xml +++ b/SessionCompanion/SessionCompanion/SessionCompanion.xml @@ -8,8 +8,8 @@ Metoda zwraca postać ze wskazanym identyfikatorem - Identyfikator postaci - ViewModel Postaci + Identyfikator postaci + ViewModel Postaci/ErrorResponse