UNPKG

@rytass/member-base-nestjs-module

Version:

Rytass Member System NestJS Base Module

49 lines (48 loc) 3.62 kB
import { OnApplicationBootstrap } from '@nestjs/common'; import { DeepPartial, Repository } from 'typeorm'; import { BaseMemberEntity } from '../models/base-member.entity'; import type { AuthTokenPayloadBase } from '../typings/auth-token-payload'; import { MemberLoginLogEntity } from '../models/member-login-log.entity'; import { TokenPairDto } from '../dto/token-pair.dto'; import { MemberBaseModuleOptionsDTO } from '../typings/member-base-module-options.dto'; import { PasswordValidatorService } from './password-validator.service'; import { MemberPasswordHistoryEntity } from '../models/member-password-history.entity'; export declare class MemberBaseService<MemberEntity extends BaseMemberEntity = BaseMemberEntity> implements OnApplicationBootstrap { private readonly originalProvidedOptions; private readonly baseMemberRepo; private readonly memberLoginLogRepo; private readonly loginFailedBanThreshold; private readonly resetPasswordTokenExpiration; private readonly resetPasswordTokenSecret; private readonly accessTokenSecret; private readonly accessTokenExpiration; private readonly refreshTokenSecret; private readonly refreshTokenExpiration; private readonly onlyResetRefreshTokenExpirationByPassword; private readonly memberPasswordHistoryRepo; private readonly passwordAgeLimitInDays; private readonly forceRejectLoginOnPasswordExpired; private readonly passwordValidatorService; private readonly customizedJwtPayload; private readonly loginFailedAutoUnlockSeconds; constructor(originalProvidedOptions: MemberBaseModuleOptionsDTO | undefined, baseMemberRepo: Repository<BaseMemberEntity>, memberLoginLogRepo: Repository<MemberLoginLogEntity>, loginFailedBanThreshold: number, resetPasswordTokenExpiration: number, resetPasswordTokenSecret: string, accessTokenSecret: string, accessTokenExpiration: number, refreshTokenSecret: string, refreshTokenExpiration: number, onlyResetRefreshTokenExpirationByPassword: boolean, memberPasswordHistoryRepo: Repository<MemberPasswordHistoryEntity>, passwordAgeLimitInDays: number | undefined, forceRejectLoginOnPasswordExpired: boolean, passwordValidatorService: PasswordValidatorService, customizedJwtPayload: (member: MemberEntity) => AuthTokenPayloadBase, loginFailedAutoUnlockSeconds: number | null); private readonly logger; onApplicationBootstrap(): void; signRefreshToken(member: MemberEntity, domain?: string): string; signAccessToken(member: MemberEntity, domain?: string): string; getResetPasswordToken(account: string): Promise<string>; changePassword<T extends MemberEntity = MemberEntity>(id: string, originPassword: string, newPassword: string): Promise<T>; changePasswordWithToken<T extends MemberEntity = MemberEntity>(token: string, newPassword: string): Promise<T>; register<T extends MemberEntity = MemberEntity>(account: string, password: string, memberOptions?: DeepPartial<Omit<T, 'account' | 'password'>>): Promise<T>; registerWithoutPassword<T extends MemberEntity = MemberEntity>(account: string, memberOptions?: DeepPartial<Omit<T, 'account' | 'password'>>): Promise<[T, string]>; refreshToken(refreshToken: string, options?: { domain?: string; }): Promise<TokenPairDto>; login(account: string, password: string, ip?: string): Promise<TokenPairDto>; login(account: string, password: string, options?: { domain?: string; ip?: string; }): Promise<TokenPairDto>; resetLoginFailedCounter<T extends MemberEntity = MemberEntity>(id: string): Promise<T>; private validateExpiration; }