public async Task <ApplicationResult <LoginResponseModel> > Handle(LoginCommand request, CancellationToken cancellationToken) { var user = await _userService.GetUserAsync(request.Email); if (user == null) { return(ApplicationResult <LoginResponseModel> .Fail(PowerChatError.Create(UserErrorCodes.UserNotFound, $"User with email '{request.Email}' was not found."))); } var result = await _authService.LoginAsync(request.Email, request.Password); if (result.Succeeded) { var userLoggedInEvent = new UserLoggedInEvent { UserId = user.Id }; await _mediator.Publish(userLoggedInEvent, cancellationToken); var loginResponse = new LoginResponseModel { UserId = user.Id, Token = result.Value.Token, Expires = result.Value.Expires }; return(ApplicationResult <LoginResponseModel> .Ok(loginResponse)); } return(ApplicationResult <LoginResponseModel> .Fail(result.Error)); }
public static ApplicationResult <long> ToApplicationResult(this IdentityResult identityResult, User user) { if (identityResult.Succeeded) { return(ApplicationResult <long> .Ok(user.Id)); } return(ApplicationResult <long> .Fail(identityResult.Errors.Select(e => PowerChatError.Create(e.Code, e.Description)).First())); }
public ApplicationResult <long> GetResultUserId() { if (UserId == null || IsAuthenticated == false) { return(ApplicationResult <long> .Fail(PowerChatError.Create("Unauthorized", "Unauthorized"))); } return(ApplicationResult <long> .Ok(UserId.Value)); }
private ApplicationResult <JwtDto> TranslateSignInResult(SignInResult signInResult, string email) { if (signInResult.IsLockedOut) { return(ApplicationResult <JwtDto> .Fail(PowerChatError.Create(IdentityErrorCodes.UserLockedOut, $"User with email '{email}' is locked out."))); } return(ApplicationResult <JwtDto> .Fail(PowerChatError.Create(IdentityErrorCodes.InvalidCredentials, "Invalid credentials. Please try again."))); }
public static ValidationResult Fail(IList <string> validationFailures) { var error = PowerChatError.Create("validation", "One or more validation failures have occured."); return(new ValidationResult(false, error, validationFailures)); }
protected ValidationResult(bool succeeded, PowerChatError error, IList <string> validationFailures) : base(succeeded, error) { ValidationFailures = validationFailures; }
protected ApplicationResult(bool succeeded, PowerChatError error) : base(succeeded, error) { }
public new static ApplicationResult Fail(PowerChatError error) { return(new ApplicationResult(false, error)); }