public IActionResult Login([FromBody] LoginRequest loginRequest) { var creditials = Credentials.FromRawData(loginRequest.Email.ToLower(), loginRequest.Password); var client = _userFacade.FindByCredentials(creditials); if (client != null) { string roleClaim; if (client.Type.Equals(UserType.Admin)) { roleClaim = Claims.Roles.Admin; } else if (client.Type.Equals(UserType.Moderator)) { roleClaim = Claims.Roles.Moderator; } else if (client.Type.Equals(UserType.User)) { roleClaim = Claims.Roles.User; } else { roleClaim = Claims.Roles.UnConfirmed; } var response = new LoginResponse(client.UserProfile.Name, client.Credentials.Email, client.UserProfile.AvatarLink, _jwtIssuer.IssueJwt(roleClaim, client.Id), client.UserProfile.IsTeacher); return(Ok(response)); } return(Unauthorized()); }
public async Task <IActionResult> CreateShynee( [FromBody] CreateShynee shynee) { var shyneeCredentials = new ShyneeCredentials( shynee.Email, Hasher.HashPassword(shynee.Password)); var shyneeProfile = new ShyneeProfile( shynee.Nickname, shynee.Name, shynee.Dob, shynee.Gender, shynee.Interests, shynee.PersonalInfo); var createdShynee = await _shyneesService.CreateShyneeAsync( shyneeCredentials, shyneeProfile); var shyneeProfileDto = new ShyneeProfileDto( shyneeProfile.Nickname.Parameter, shyneeProfile.AvatarUri.Parameter, shyneeProfile.Name.Parameter, shyneeProfile.Dob.Parameter, shyneeProfile.Gender.Parameter, shyneeProfile.Interests.Parameter, shyneeProfile.PersonalInfo.Parameter); var shyneeCredentialsDto = new ShyneeCredentialsDto( createdShynee.Id, createdShynee.Credentials.Email, _jwtIssuer.IssueJwt(createdShynee.Id), shyneeProfileDto); return(Ok(shyneeCredentialsDto)); }