@brewww/authentication-service
Version:
Authenticator service for Brew projects.
31 lines (30 loc) • 1.46 kB
TypeScript
import { User, UserRole } from "../entities";
import { Repository } from "typeorm";
import { IPreRegisterUserHandler } from "./interfaces/pre-register-user-handler.interface";
import { IPostRegisterUserHandler } from "./interfaces/post-register-user-handler.interface";
import { IUserValidator } from "./interfaces/user-validator.interface";
import { IGetUser } from "./interfaces/get-user.interface";
export declare class UserService {
private readonly userRepository;
private readonly userRoleRepository;
private preRegisterUserHandlers;
private postRegisterUserHandlers;
private userValidators;
constructor(userRepository: Repository<User>, userRoleRepository: Repository<UserRole>);
getUserAsync(options: IGetUser): Promise<User | null>;
validateUserAsync(credentials: {
username?: string;
email?: string;
password: string;
}): Promise<User>;
private validateUserPasswordAsync;
createUserAsync(user: User, appData?: object): Promise<User>;
updateUserPasswordAsync(user: User, newPassword: string): Promise<void>;
private insertUserAsync;
addPreRegisterUserHandler(handler: IPreRegisterUserHandler): void;
addPostRegisterUserHandler(handler: IPostRegisterUserHandler): void;
addUserValidator(userValidator: IUserValidator): void;
private applyPreRegisterUserHandlersAsync;
private applyPostRegisterUserHandlersAsync;
private applyUserValidatorsAsync;
}