@sologence/nestjs-auth
Version:
## Overview
26 lines (25 loc) • 1.6 kB
TypeScript
import { JwtService } from '@nestjs/jwt';
import { Repository, EntityManager } from 'typeorm';
import { User, USER_ROLE } from '../entity/user.entity';
import { JwtConfigOptions } from './interfaces/jwt-config.interface';
import { ValidationResult } from './interfaces/validation-result.interface';
import { PasswordResetResult } from './interfaces/password-reset-result.interface';
export declare class AuthService {
private readonly userRepository;
private readonly jwtService;
private readonly jwtConfig;
private readonly entityManager;
private readonly logger;
constructor(userRepository: Repository<User>, jwtService: JwtService, jwtConfig: JwtConfigOptions, entityManager: EntityManager);
private isSuperAdminExists;
validateUser(email: string, password: string): Promise<ValidationResult>;
private generateToken;
validateToken(token: string): Promise<User>;
validateUserFromJWT(token: string): Promise<ValidationResult>;
registerUser(email: string, password: string, role?: USER_ROLE, firstName?: string, lastName?: string, mobile?: string): Promise<User>;
registerSuperAdmin(email: string, password: string, firstName?: string, lastName?: string, mobile?: string): Promise<User>;
activateUser(userEmail: string, adminEmail: string, adminPassword: string): Promise<User>;
activateUserWithToken(adminToken: string, userEmail: string): Promise<User>;
changePassword(token: string, oldPassword: string, newPassword: string): Promise<boolean>;
resetUserPassword(adminToken: string, userEmail: string): Promise<PasswordResetResult>;
}