@lomray/microservice-users
Version:
Users microservice based on NodeJS & inverted json.
76 lines (75 loc) • 1.84 kB
TypeScript
import User from "../entities/user.js";
import TClearUserTokens from "../interfaces/clear-user-tokens.js";
import UserRepository from "../repositories/user.js";
import { ConfirmBy } from "./confirm/factory.js";
type ChangePasswordParams = {
userId?: string;
login?: string;
confirmBy?: ConfirmBy;
repository: UserRepository;
isConfirmed?: (user: User) => Promise<boolean> | boolean | undefined;
currentToken?: string;
clearTokensType?: TClearUserTokens;
};
/**
* Change user password
*/
declare class ChangePassword {
/**
* @protected
*/
protected readonly userId?: string;
/**
* @protected
*/
protected readonly login?: string;
/**
* @protected
*/
protected readonly currentToken?: string;
/**
* @protected
*/
protected readonly clearTokensType?: TClearUserTokens;
/**
* @protected
*/
protected readonly confirmBy?: ConfirmBy;
/**
* @protected
*/
protected readonly isConfirmed?: ChangePasswordParams['isConfirmed'];
/**
* @protected
*/
protected readonly repository: ChangePasswordParams['repository'];
/**
* @constructor
*/
/**
* @constructor
*/
protected constructor({ userId, login, confirmBy, repository, isConfirmed, currentToken, clearTokensType, }: ChangePasswordParams);
/**
* Init service
*/
/**
* Init service
*/
static init(params: ChangePasswordParams): ChangePassword;
/**
* Change password
*/
/**
* Change password
*/
change(newPassword: string, oldPassword?: string): Promise<User>;
/**
* Handle clear user tokens
*/
/**
* Handle clear user tokens
*/
private handleClearUserTokens;
}
export { ChangePassword as default, ChangePasswordParams };