Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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()));
        }
Ejemplo n.º 3
0
        public ApplicationResult <long> GetResultUserId()
        {
            if (UserId == null || IsAuthenticated == false)
            {
                return(ApplicationResult <long> .Fail(PowerChatError.Create("Unauthorized", "Unauthorized")));
            }

            return(ApplicationResult <long> .Ok(UserId.Value));
        }
Ejemplo n.º 4
0
        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.")));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
 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));
 }