/** * AuthService - Servicio de Autenticación * * Gestiona login, logout, refresh tokens y validación de JWT. * Implementa patrón multi-tenant con verificación de tenant_id. * * @module Auth */ import { Repository } from 'typeorm'; import { User } from '../../core/entities/user.entity'; import { Tenant } from '../../core/entities/tenant.entity'; import { LoginDto, RegisterDto, RefreshTokenDto, ChangePasswordDto, AuthResponse, TokenValidationResult } from '../dto/auth.dto'; export interface RefreshToken { id: string; userId: string; token: string; expiresAt: Date; revokedAt?: Date; } export declare class AuthService { private readonly userRepository; private readonly tenantRepository; private readonly refreshTokenRepository; private readonly jwtSecret; private readonly jwtExpiresIn; private readonly jwtRefreshExpiresIn; constructor(userRepository: Repository, tenantRepository: Repository, refreshTokenRepository: Repository); /** * Login de usuario */ login(dto: LoginDto): Promise; /** * Registro de usuario */ register(dto: RegisterDto): Promise; /** * Refresh de token */ refresh(dto: RefreshTokenDto): Promise; /** * Logout - Revocar refresh token */ logout(refreshToken: string): Promise; /** * Cambiar password */ changePassword(userId: string, dto: ChangePasswordDto): Promise; /** * Validar access token */ validateAccessToken(token: string): TokenValidationResult; /** * Validar token */ private validateToken; /** * Generar access token */ private generateAccessToken; /** * Generar refresh token */ private generateRefreshToken; /** * Convertir expiresIn a segundos */ private getExpiresInSeconds; } //# sourceMappingURL=auth.service.d.ts.map