public IActionResult Register( [FromBody, SwaggerParameter("Moderator's creation payload")] ModeratorRegistrationDto newModeratorData) { try { _moderatorService.RegisterModerator(newModeratorData); var authenticatedModerator = _authenticationService.GetAuthenticatedModerator(new AuthenticationDto { Login = newModeratorData.Nickname, Password = newModeratorData.Password }); return(Ok(authenticatedModerator)); } catch (BaseException ex) { if (ex is DuplicatedEmailException || ex is DuplicatedIdentifierException) { return(Conflict( new ConflictError(ex))); } return(BadRequest( new BadRequestError(ex))); } }