Fixed bug with registering the same user multiple times

This commit is contained in:
Karol Górzyński 2020-12-20 15:57:10 +01:00
parent e4ce736960
commit 10cd041d38
2 changed files with 13 additions and 10 deletions

View File

@ -61,16 +61,17 @@ namespace SessionCompanion.Controllers
public async Task<Either<SuccessResponse, ErrorResponse>> Register(UserRegisterViewModel userRegisterModel) public async Task<Either<SuccessResponse, ErrorResponse>> Register(UserRegisterViewModel userRegisterModel)
{ {
if (!ModelState.IsValid) if (!ModelState.IsValid)
{
return new ErrorResponse() { StatusCode = 400, Message = "Given model is incorect" }; return new ErrorResponse() { StatusCode = 400, Message = "Given model is incorect" };
}
if (await _service.SearchUserByUsername(userRegisterModel.Username) is not null)
return new ErrorResponse() { StatusCode = 400, Message = "Given user is already registered" };
UserViewModel userModel = new UserViewModel() UserViewModel userModel = new UserViewModel()
{ {
Password = userRegisterModel.Password, Password = userRegisterModel.Password,
Username = userRegisterModel.Username Username = userRegisterModel.Username
}; };
var user = await _service.SearchUserByUsername(userRegisterModel.Username);
await _service.Create(userModel); await _service.Create(userModel);
await _service.SaveAsync(); await _service.SaveAsync();

View File

@ -11,6 +11,13 @@
<param name="characterId">Identyfikator postaci</param> <param name="characterId">Identyfikator postaci</param>
<returns>ViewModel Postaci/ErrorResponse</returns> <returns>ViewModel Postaci/ErrorResponse</returns>
</member> </member>
<member name="M:SessionCompanion.Controllers.CharacterController.GetCharacterListForUser(System.Int32)">
<summary>
Metoda zwraca listę postaci przypisanych do danego użytkownika
</summary>
<param name="userId"> Identyfikator użytkownika </param>
<returns> Lista postać lub wiadomość błędu </returns>
</member>
<member name="M:SessionCompanion.Controllers.UserController.Login(System.String,System.String)"> <member name="M:SessionCompanion.Controllers.UserController.Login(System.String,System.String)">
<summary> <summary>
Metoda przyjmuje login oraz hasło i sprawdza czy istnieje użytkownik o podanych parametrach Metoda przyjmuje login oraz hasło i sprawdza czy istnieje użytkownik o podanych parametrach
@ -32,14 +39,9 @@
</summary> </summary>
<returns>true jesli ktoś jest już zalogowany i false jeśli nie</returns> <returns>true jesli ktoś jest już zalogowany i false jeśli nie</returns>
</member> </member>
<member name="F:SessionCompanion.Hubs.SessionHub.ConnectedCharacters"> <member name="F:SessionCompanion.Hubs.SessionHub.sessionHubData">
<summary> <summary>
Lista zalogowanych graczy i identyfikator wybranej postaci Klasa zawierająca wszystkie dane potrzebne w SignalR odnośnie aktualnej sesji
</summary>
</member>
<member name="F:SessionCompanion.Hubs.SessionHub.GameMasterConnected">
<summary>
Status, czy GM został już zalogowany
</summary> </summary>
</member> </member>
<member name="M:SessionCompanion.Hubs.SessionHub.OnDisconnectedAsync(System.Exception)"> <member name="M:SessionCompanion.Hubs.SessionHub.OnDisconnectedAsync(System.Exception)">