@nauth-toolkit/core 0.1.86 → 0.1.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dto/admin-get-user-auth-history.dto.d.ts +62 -0
- package/dist/dto/admin-get-user-auth-history.dto.d.ts.map +1 -0
- package/dist/dto/admin-get-user-auth-history.dto.js +87 -0
- package/dist/dto/admin-get-user-auth-history.dto.js.map +1 -0
- package/dist/dto/admin-logout-all.dto.d.ts +48 -0
- package/dist/dto/admin-logout-all.dto.d.ts.map +1 -0
- package/dist/dto/{change-password-request.dto.js → admin-logout-all.dto.js} +36 -21
- package/dist/dto/admin-logout-all.dto.js.map +1 -0
- package/dist/dto/admin-remove-devices.dto.d.ts +25 -0
- package/dist/dto/admin-remove-devices.dto.d.ts.map +1 -0
- package/dist/dto/admin-remove-devices.dto.js +50 -0
- package/dist/dto/admin-remove-devices.dto.js.map +1 -0
- package/dist/dto/admin-reset-password.dto.d.ts +24 -49
- package/dist/dto/admin-reset-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-reset-password.dto.js +30 -82
- package/dist/dto/admin-reset-password.dto.js.map +1 -1
- package/dist/dto/admin-revoke-session.dto.d.ts +22 -0
- package/dist/dto/admin-revoke-session.dto.d.ts.map +1 -0
- package/dist/dto/admin-revoke-session.dto.js +48 -0
- package/dist/dto/admin-revoke-session.dto.js.map +1 -0
- package/dist/dto/admin-set-password.dto.d.ts +8 -10
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-set-password.dto.js +11 -21
- package/dist/dto/admin-set-password.dto.js.map +1 -1
- package/dist/dto/admin-set-preferred-method.dto.d.ts +25 -0
- package/dist/dto/admin-set-preferred-method.dto.d.ts.map +1 -0
- package/dist/dto/admin-set-preferred-method.dto.js +50 -0
- package/dist/dto/admin-set-preferred-method.dto.js.map +1 -0
- package/dist/dto/admin-update-user-attributes.dto.d.ts +41 -0
- package/dist/dto/admin-update-user-attributes.dto.d.ts.map +1 -0
- package/dist/dto/{update-user-attributes-request.dto.js → admin-update-user-attributes.dto.js} +12 -17
- package/dist/dto/admin-update-user-attributes.dto.js.map +1 -0
- package/dist/dto/auth-challenge.dto.d.ts +2 -2
- package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
- package/dist/dto/auth-challenge.dto.js +3 -3
- package/dist/dto/auth-challenge.dto.js.map +1 -1
- package/dist/dto/auth-response.dto.d.ts +1 -1
- package/dist/dto/auth-response.dto.d.ts.map +1 -1
- package/dist/dto/auth-response.dto.js +1 -1
- package/dist/dto/auth-response.dto.js.map +1 -1
- package/dist/dto/get-mfa-status.dto.d.ts +8 -4
- package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
- package/dist/dto/get-mfa-status.dto.js +8 -4
- package/dist/dto/get-mfa-status.dto.js.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.d.ts +3 -3
- package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.js +5 -5
- package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.d.ts +3 -3
- package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.js +5 -5
- package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
- package/dist/dto/get-user-auth-history.dto.d.ts +4 -39
- package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
- package/dist/dto/get-user-auth-history.dto.js +53 -51
- package/dist/dto/get-user-auth-history.dto.js.map +1 -1
- package/dist/dto/get-user-devices.dto.d.ts +5 -18
- package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
- package/dist/dto/get-user-devices.dto.js +5 -39
- package/dist/dto/get-user-devices.dto.js.map +1 -1
- package/dist/dto/get-user-sessions-response.dto.d.ts +1 -1
- package/dist/dto/get-user-sessions-response.dto.js +1 -1
- package/dist/dto/get-user-sessions.dto.d.ts +1 -1
- package/dist/dto/get-user-sessions.dto.js +1 -1
- package/dist/dto/index.d.ts +8 -2
- package/dist/dto/index.d.ts.map +1 -1
- package/dist/dto/index.js +8 -2
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/logout-all-response.dto.d.ts +1 -1
- package/dist/dto/logout-all-response.dto.js +1 -1
- package/dist/dto/logout-all.dto.d.ts +1 -18
- package/dist/dto/logout-all.dto.d.ts.map +1 -1
- package/dist/dto/logout-all.dto.js +1 -30
- package/dist/dto/logout-all.dto.js.map +1 -1
- package/dist/dto/logout-session.dto.d.ts +0 -5
- package/dist/dto/logout-session.dto.d.ts.map +1 -1
- package/dist/dto/logout-session.dto.js +0 -12
- package/dist/dto/logout-session.dto.js.map +1 -1
- package/dist/dto/logout.dto.d.ts +1 -18
- package/dist/dto/logout.dto.d.ts.map +1 -1
- package/dist/dto/logout.dto.js +1 -30
- package/dist/dto/logout.dto.js.map +1 -1
- package/dist/dto/remove-devices.dto.d.ts +4 -16
- package/dist/dto/remove-devices.dto.d.ts.map +1 -1
- package/dist/dto/remove-devices.dto.js +4 -26
- package/dist/dto/remove-devices.dto.js.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.d.ts +4 -2
- package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.js +5 -3
- package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
- package/dist/dto/set-must-change-password.dto.d.ts +3 -3
- package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password.dto.js +5 -5
- package/dist/dto/set-must-change-password.dto.js.map +1 -1
- package/dist/dto/set-preferred-method.dto.d.ts +4 -16
- package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
- package/dist/dto/set-preferred-method.dto.js +4 -26
- package/dist/dto/set-preferred-method.dto.js.map +1 -1
- package/dist/dto/setup-mfa.dto.d.ts +3 -18
- package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
- package/dist/dto/setup-mfa.dto.js +3 -30
- package/dist/dto/setup-mfa.dto.js.map +1 -1
- package/dist/dto/social-auth.dto.d.ts +4 -34
- package/dist/dto/social-auth.dto.d.ts.map +1 -1
- package/dist/dto/social-auth.dto.js +10 -68
- package/dist/dto/social-auth.dto.js.map +1 -1
- package/dist/dto/update-user-attributes.dto.d.ts +26 -0
- package/dist/dto/update-user-attributes.dto.d.ts.map +1 -0
- package/dist/dto/update-user-attributes.dto.js +30 -0
- package/dist/dto/update-user-attributes.dto.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/hooks.interface.d.ts +2 -1
- package/dist/interfaces/hooks.interface.d.ts.map +1 -1
- package/dist/interfaces/provider.interface.d.ts +1 -1
- package/dist/interfaces/provider.interface.d.ts.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.js +2 -2
- package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
- package/dist/services/admin-auth.service.d.ts +307 -0
- package/dist/services/admin-auth.service.d.ts.map +1 -0
- package/dist/services/admin-auth.service.js +885 -0
- package/dist/services/admin-auth.service.js.map +1 -0
- package/dist/services/auth-audit.service.d.ts +16 -16
- package/dist/services/auth-audit.service.d.ts.map +1 -1
- package/dist/services/auth-audit.service.js +33 -33
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +3 -3
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-service-internal-helpers.d.ts +2 -2
- package/dist/services/auth-service-internal-helpers.d.ts.map +1 -1
- package/dist/services/auth-service-internal-helpers.js.map +1 -1
- package/dist/services/auth.service.d.ts +122 -446
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +424 -1274
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/mfa.service.d.ts +90 -12
- package/dist/services/mfa.service.d.ts.map +1 -1
- package/dist/services/mfa.service.js +395 -264
- package/dist/services/mfa.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +80 -29
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +7 -0
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js +38 -26
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/services/user.service.d.ts +3 -3
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +7 -7
- package/dist/services/user.service.js.map +1 -1
- package/dist/utils/dto-validator.d.ts.map +1 -1
- package/dist/utils/dto-validator.js +50 -4
- package/dist/utils/dto-validator.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +2 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +2 -0
- package/dist/utils/setup/init-services.js.map +1 -1
- package/package.json +1 -1
- package/dist/dto/change-password-request.dto.d.ts +0 -43
- package/dist/dto/change-password-request.dto.d.ts.map +0 -1
- package/dist/dto/change-password-request.dto.js.map +0 -1
- package/dist/dto/update-user-attributes-request.dto.d.ts +0 -44
- package/dist/dto/update-user-attributes-request.dto.d.ts.map +0 -1
- package/dist/dto/update-user-attributes-request.dto.js.map +0 -1
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { BaseUser, BaseLoginAttempt, BaseMFADevice, BaseChallengeSession, BaseVerificationToken, BaseSocialAccount, BaseAuthAudit, BaseTrustedDevice, BaseSession } from '../entities';
|
|
3
|
+
import { PasswordService } from './password.service';
|
|
4
|
+
import { SessionService } from './session.service';
|
|
5
|
+
import { EmailVerificationService } from './email-verification.service';
|
|
6
|
+
import { PhoneVerificationService } from './phone-verification.service';
|
|
7
|
+
import { ClientInfoService } from './client-info.service';
|
|
8
|
+
import { ChallengeService } from './challenge.service';
|
|
9
|
+
import { AuthChallengeHelperService } from './auth-challenge-helper.service';
|
|
10
|
+
import { AccountLockoutStorageService } from '../storage/account-lockout-storage.service';
|
|
11
|
+
import { InternalAuthAuditService as AuthAuditService } from './auth-audit.service';
|
|
12
|
+
import { TrustedDeviceService } from './trusted-device.service';
|
|
13
|
+
import { AdminSignupDTO, AdminSignupResponseDTO } from '../dto/admin-signup.dto';
|
|
14
|
+
import { AdminSignupSocialDTO, AdminSignupSocialResponseDTO } from '../dto/admin-signup-social.dto';
|
|
15
|
+
import { DeleteUserDTO, DeleteUserResponseDTO } from '../dto/delete-user.dto';
|
|
16
|
+
import { GetUsersDTO, GetUsersResponseDTO } from '../dto/get-users.dto';
|
|
17
|
+
import { DisableUserDTO, DisableUserResponseDTO } from '../dto/disable-user.dto';
|
|
18
|
+
import { EnableUserDTO, EnableUserResponseDTO } from '../dto/enable-user.dto';
|
|
19
|
+
import { GetUserByEmailDTO } from '../dto/get-user-by-email.dto';
|
|
20
|
+
import { GetUserByIdDTO } from '../dto/get-user-by-id.dto';
|
|
21
|
+
import { UserResponseDto } from '../dto/user-response.dto';
|
|
22
|
+
import { GetUserSessionsDTO } from '../dto/get-user-sessions.dto';
|
|
23
|
+
import { GetUserSessionsResponseDTO } from '../dto/get-user-sessions-response.dto';
|
|
24
|
+
import { LogoutAllResponseDTO } from '../dto/logout-all-response.dto';
|
|
25
|
+
import { AdminLogoutAllDTO } from '../dto/admin-logout-all.dto';
|
|
26
|
+
import { AdminRevokeSessionDTO } from '../dto/admin-revoke-session.dto';
|
|
27
|
+
import { LogoutSessionResponseDTO } from '../dto/logout-session-response.dto';
|
|
28
|
+
import { SetMustChangePasswordDTO } from '../dto/set-must-change-password.dto';
|
|
29
|
+
import { SetMustChangePasswordResponseDTO } from '../dto/set-must-change-password-response.dto';
|
|
30
|
+
import { AdminSetPasswordDTO, AdminSetPasswordResponseDTO } from '../dto/admin-set-password.dto';
|
|
31
|
+
import { AdminResetPasswordDTO, AdminResetPasswordResponseDTO, ConfirmAdminResetPasswordDTO, ConfirmAdminResetPasswordResponseDTO } from '../dto/admin-reset-password.dto';
|
|
32
|
+
import { UpdateVerifiedStatusRequestDTO } from '../dto/update-verified-status-request.dto';
|
|
33
|
+
import { NAuthConfig } from '../interfaces/config.interface';
|
|
34
|
+
import { NAuthLogger } from '../utils/nauth-logger';
|
|
35
|
+
import { HookRegistryService } from './hook-registry.service';
|
|
36
|
+
import { PasswordResetService } from './password-reset.service';
|
|
37
|
+
import { SocialAuthService } from './social-auth.service';
|
|
38
|
+
import { AdminUpdateUserAttributesDTO } from '../dto/admin-update-user-attributes.dto';
|
|
39
|
+
/**
|
|
40
|
+
* Administrative authentication service
|
|
41
|
+
*
|
|
42
|
+
* Provides admin-only operations for managing users, sessions, and password workflows.
|
|
43
|
+
* This service is intentionally separate from AuthService to keep user self-service
|
|
44
|
+
* APIs isolated from admin actions.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const result = await adminAuthService.disableUser({ sub: 'user-uuid' });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare class AdminAuthService {
|
|
52
|
+
private readonly userRepository;
|
|
53
|
+
private readonly loginAttemptRepository;
|
|
54
|
+
private readonly passwordService;
|
|
55
|
+
private readonly sessionService;
|
|
56
|
+
private readonly challengeService;
|
|
57
|
+
private readonly challengeHelper;
|
|
58
|
+
private readonly emailVerificationService;
|
|
59
|
+
private readonly clientInfoService;
|
|
60
|
+
private readonly accountLockoutStorage;
|
|
61
|
+
private readonly config;
|
|
62
|
+
private readonly logger;
|
|
63
|
+
private readonly hookRegistry;
|
|
64
|
+
private readonly auditService?;
|
|
65
|
+
private readonly phoneVerificationService?;
|
|
66
|
+
private readonly mfaDeviceRepository?;
|
|
67
|
+
private readonly trustedDeviceService?;
|
|
68
|
+
private readonly passwordResetService?;
|
|
69
|
+
private readonly socialAuthService?;
|
|
70
|
+
private readonly sessionRepository?;
|
|
71
|
+
private readonly verificationTokenRepository?;
|
|
72
|
+
private readonly socialAccountRepository?;
|
|
73
|
+
private readonly challengeSessionRepository?;
|
|
74
|
+
private readonly authAuditRepository?;
|
|
75
|
+
private readonly trustedDeviceRepository?;
|
|
76
|
+
private readonly helpers;
|
|
77
|
+
private readonly userService;
|
|
78
|
+
constructor(userRepository: Repository<BaseUser>, loginAttemptRepository: Repository<BaseLoginAttempt>, passwordService: PasswordService, sessionService: SessionService, challengeService: ChallengeService, challengeHelper: AuthChallengeHelperService, emailVerificationService: EmailVerificationService, clientInfoService: ClientInfoService, accountLockoutStorage: AccountLockoutStorageService, config: NAuthConfig, logger: NAuthLogger, hookRegistry: HookRegistryService, auditService?: AuthAuditService | undefined, phoneVerificationService?: PhoneVerificationService | undefined, mfaDeviceRepository?: Repository<BaseMFADevice> | undefined, trustedDeviceService?: TrustedDeviceService | undefined, passwordResetService?: PasswordResetService | undefined, socialAuthService?: SocialAuthService | undefined, sessionRepository?: Repository<BaseSession> | undefined, verificationTokenRepository?: Repository<BaseVerificationToken> | undefined, socialAccountRepository?: Repository<BaseSocialAccount> | undefined, challengeSessionRepository?: Repository<BaseChallengeSession> | undefined, authAuditRepository?: Repository<BaseAuthAudit> | undefined, trustedDeviceRepository?: Repository<BaseTrustedDevice> | undefined);
|
|
79
|
+
/**
|
|
80
|
+
* Administrative user deletion with complete cascade cleanup
|
|
81
|
+
*
|
|
82
|
+
* @param dto - User sub to delete
|
|
83
|
+
* @returns Deletion confirmation with cascade counts
|
|
84
|
+
* @throws {NAuthException} USER_NOT_FOUND
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const result = await adminAuthService.deleteUser({ sub: 'user-uuid-123' });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
deleteUser(dto: DeleteUserDTO): Promise<DeleteUserResponseDTO>;
|
|
92
|
+
/**
|
|
93
|
+
* Get paginated list of users with advanced filtering
|
|
94
|
+
*
|
|
95
|
+
* @param dto - Filters, pagination, sorting
|
|
96
|
+
* @returns Paginated user list with metadata
|
|
97
|
+
* @throws {NAuthException} When validation fails
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const result = await adminAuthService.getUsers({ page: 1, limit: 20 });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
getUsers(dto: GetUsersDTO): Promise<GetUsersResponseDTO>;
|
|
105
|
+
/**
|
|
106
|
+
* Administrative permanent account locking
|
|
107
|
+
*
|
|
108
|
+
* @param dto - User sub and optional reason
|
|
109
|
+
* @returns User object with updated lock status and revoked session count
|
|
110
|
+
* @throws {NAuthException} USER_NOT_FOUND
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const result = await adminAuthService.disableUser({ sub: 'user-uuid-123' });
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
disableUser(dto: DisableUserDTO): Promise<DisableUserResponseDTO>;
|
|
118
|
+
/**
|
|
119
|
+
* Enable (unlock) user account
|
|
120
|
+
*
|
|
121
|
+
* @param dto - User sub to enable
|
|
122
|
+
* @returns User object with updated lock status
|
|
123
|
+
* @throws {NAuthException} USER_NOT_FOUND
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const result = await adminAuthService.enableUser({ sub: 'user-uuid-123' });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
enableUser(dto: EnableUserDTO): Promise<EnableUserResponseDTO>;
|
|
131
|
+
/**
|
|
132
|
+
* Get user by ID (sub)
|
|
133
|
+
*
|
|
134
|
+
* @param dto - GetUserByIdDTO containing sub
|
|
135
|
+
* @returns User response DTO or null if not found
|
|
136
|
+
* @throws {NAuthException} When validation fails
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const user = await adminAuthService.getUserById({ sub: 'user-uuid' });
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
getUserById(dto: GetUserByIdDTO): Promise<UserResponseDto | null>;
|
|
144
|
+
/**
|
|
145
|
+
* Get user by email address.
|
|
146
|
+
*
|
|
147
|
+
* @param dto - GetUserByEmailDTO containing email and optional requireEmailVerified
|
|
148
|
+
* @returns User response DTO or null if not found
|
|
149
|
+
* @throws {NAuthException} When validation fails
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const user = await adminAuthService.getUserByEmail({ email: 'user@example.com' });
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
getUserByEmail(dto: GetUserByEmailDTO): Promise<UserResponseDto | null>;
|
|
157
|
+
/**
|
|
158
|
+
* Require user to change password at next login.
|
|
159
|
+
*
|
|
160
|
+
* @param dto - SetMustChangePasswordDTO containing sub
|
|
161
|
+
* @returns Success response
|
|
162
|
+
* @throws {NAuthException} If user is not found or cannot change password
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* await adminAuthService.setMustChangePassword({ sub: 'user-uuid-123' });
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
setMustChangePassword(dto: SetMustChangePasswordDTO): Promise<SetMustChangePasswordResponseDTO>;
|
|
170
|
+
/**
|
|
171
|
+
* Update email and/or phone verification status.
|
|
172
|
+
*
|
|
173
|
+
* @param dto - Request DTO containing sub and verification status flags
|
|
174
|
+
* @returns Updated user object
|
|
175
|
+
* @throws {NAuthException} If user not found or trying to verify non-existent email/phone
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* await adminAuthService.updateVerifiedStatus({ sub: 'user-uuid', isEmailVerified: true });
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
updateVerifiedStatus(dto: UpdateVerifiedStatusRequestDTO): Promise<UserResponseDto>;
|
|
183
|
+
/**
|
|
184
|
+
* Administrative user creation with override capabilities
|
|
185
|
+
*
|
|
186
|
+
* @param dto - Admin signup DTO with override flags
|
|
187
|
+
* @returns User object and optionally generated password
|
|
188
|
+
* @throws {NAuthException} EMAIL_EXISTS | USERNAME_EXISTS | PHONE_EXISTS | WEAK_PASSWORD
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```typescript
|
|
192
|
+
* const result = await adminAuthService.signup({ email: 'user@example.com', generatePassword: true });
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
signup(dto: AdminSignupDTO): Promise<AdminSignupResponseDTO>;
|
|
196
|
+
/**
|
|
197
|
+
* Administrative social user import with override capabilities
|
|
198
|
+
*
|
|
199
|
+
* @param dto - Admin social signup DTO with social account details
|
|
200
|
+
* @returns User object and social account confirmation
|
|
201
|
+
* @throws {NAuthException} EMAIL_EXISTS | USERNAME_EXISTS | PHONE_EXISTS | SOCIAL_ACCOUNT_EXISTS | WEAK_PASSWORD
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* const result = await adminAuthService.signupSocial({
|
|
206
|
+
* email: 'user@example.com',
|
|
207
|
+
* provider: 'google',
|
|
208
|
+
* providerId: 'google_12345',
|
|
209
|
+
* });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
signupSocial(dto: AdminSignupSocialDTO): Promise<AdminSignupSocialResponseDTO>;
|
|
213
|
+
/**
|
|
214
|
+
* Global signout (admin-initiated)
|
|
215
|
+
*
|
|
216
|
+
* @param dto - Target user sub and optional forgetDevices flag
|
|
217
|
+
* @returns Number of sessions revoked
|
|
218
|
+
* @throws {NAuthException} NOT_FOUND if user not found
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const result = await adminAuthService.logoutAll({ sub: 'user-uuid', forgetDevices: true });
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
logoutAll(dto: AdminLogoutAllDTO): Promise<LogoutAllResponseDTO>;
|
|
226
|
+
/**
|
|
227
|
+
* Get all active sessions for a user (admin)
|
|
228
|
+
*
|
|
229
|
+
* @param dto - Contains target user sub
|
|
230
|
+
* @returns Array of sessions with device info, auth method, and isCurrent flag
|
|
231
|
+
* @throws {NAuthException} NOT_FOUND if user not found
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* const result = await adminAuthService.getUserSessions({ sub: 'user-uuid' });
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
getUserSessions(dto: GetUserSessionsDTO): Promise<GetUserSessionsResponseDTO>;
|
|
239
|
+
/**
|
|
240
|
+
* Revoke a specific user session by ID (admin)
|
|
241
|
+
*
|
|
242
|
+
* @param dto - Contains sessionId and user sub
|
|
243
|
+
* @returns Success status and whether it was the current session
|
|
244
|
+
* @throws {NAuthException} NOT_FOUND if user not found
|
|
245
|
+
* @throws {NAuthException} SESSION_NOT_FOUND if session not found
|
|
246
|
+
* @throws {NAuthException} FORBIDDEN if session doesn't belong to user
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* ```typescript
|
|
250
|
+
* await adminAuthService.revokeUserSession({ sub: 'user-uuid', sessionId: '123' });
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
revokeUserSession(dto: AdminRevokeSessionDTO): Promise<LogoutSessionResponseDTO>;
|
|
254
|
+
/**
|
|
255
|
+
* Update user profile attributes (admin)
|
|
256
|
+
*
|
|
257
|
+
* @param dto - AdminUpdateUserAttributesDTO containing sub and fields to update
|
|
258
|
+
* @returns Updated user object
|
|
259
|
+
* @throws {NAuthException} If user not found or unique constraint violated
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```typescript
|
|
263
|
+
* const user = await adminAuthService.updateUserAttributes({ sub: 'user-uuid', email: 'new@example.com' });
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
updateUserAttributes(dto: AdminUpdateUserAttributesDTO): Promise<UserResponseDto>;
|
|
267
|
+
/**
|
|
268
|
+
* Admin-only: Initiate a code-based password reset workflow.
|
|
269
|
+
*
|
|
270
|
+
* @param dto - Admin reset password request
|
|
271
|
+
* @returns Response with masked destination, expiry, and sessions revoked count
|
|
272
|
+
* @throws {NAuthException} NOT_FOUND when user not found
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```typescript
|
|
276
|
+
* const result = await adminAuthService.resetPassword({ sub: 'user-uuid', deliveryMethod: 'email' });
|
|
277
|
+
* ```
|
|
278
|
+
*/
|
|
279
|
+
resetPassword(dto: AdminResetPasswordDTO): Promise<AdminResetPasswordResponseDTO>;
|
|
280
|
+
/**
|
|
281
|
+
* Complete admin-initiated password reset with a verification code.
|
|
282
|
+
*
|
|
283
|
+
* @param dto - Confirm admin reset password request
|
|
284
|
+
* @returns Success response
|
|
285
|
+
* @throws {NAuthException} NOT_FOUND | PASSWORD_RESET_CODE_INVALID | PASSWORD_RESET_CODE_EXPIRED | PASSWORD_RESET_MAX_ATTEMPTS | WEAK_PASSWORD | PASSWORD_REUSED | INVALID_CREDENTIALS
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* ```typescript
|
|
289
|
+
* await adminAuthService.confirmResetPassword({ sub: 'user-uuid', code: '123456', newPassword: 'NewPass123!' });
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
confirmResetPassword(dto: ConfirmAdminResetPasswordDTO): Promise<ConfirmAdminResetPasswordResponseDTO>;
|
|
293
|
+
/**
|
|
294
|
+
* Admin-only: Reset a user's password by sub.
|
|
295
|
+
*
|
|
296
|
+
* @param dto - Admin reset password request
|
|
297
|
+
* @returns Response with success status and session revocation count
|
|
298
|
+
* @throws {NAuthException} If user not found, user has no password (social-only), or password validation fails
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* ```typescript
|
|
302
|
+
* const result = await adminAuthService.setPassword({ sub: 'user-uuid', newPassword: 'NewPass123!' });
|
|
303
|
+
* ```
|
|
304
|
+
*/
|
|
305
|
+
setPassword(dto: AdminSetPasswordDTO): Promise<AdminSetPasswordResponseDTO>;
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=admin-auth.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-auth.service.d.ts","sourceRoot":"","sources":["../../src/services/admin-auth.service.ts"],"names":[],"mappings":"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"}
|