/// <summary> /// To the authenticated. /// </summary> /// <param name="request">The request.</param> /// <returns>Map to the authenticated.</returns> private Func <User, IMono <AuthenticatedUser> > ToAuthenticated(Credential request) { return(user => user is null || !BCrypt.EnhancedVerify(request.Password, user.Password) ? Mono.Error <AuthenticatedUser>( new ArgumentException("the user or the password are invalid")) : Mono.Just( new AuthenticatedUser(user.Name, user.LastName, user.Email, this.Token(user)))); }
/// <summary> /// The Create instance. /// </summary> /// <param name="server">the server name.</param> /// <returns>The config.</returns> public static IMono <Config> Create(string server) { var validator = new ConfigValidator(); var config = new Config(server); var validation = validator.Validate(config); return(validation.IsValid ? Mono.Just(config) : Mono.Error <Config>(new ArgumentException(string.Join(", ", validation.Errors)))); }
/// <summary> /// Creates the specified name. /// </summary> /// <param name="name">The name.</param> /// <param name="lastName">The last name.</param> /// <param name="email">The email.</param> /// <param name="password">The password.</param> /// <param name="confirm">The confirm.</param> /// <returns>the user.</returns> public static IMono <User> Create(string name, string lastName, string email, string password, string confirm) { if (password != confirm) { return(Mono.Error <User>(new ArgumentException(nameof(confirm)))); } var user = new User(name, lastName, email, BCrypt.Net.BCrypt.EnhancedHashPassword(password)); var validation = new UserValidation(); var valid = validation.Validate(user); return(!valid.IsValid ? Mono.Error <User>(new ArgumentException(string.Join(", ", valid.Errors))) : Mono.Just(user)); }