@vynelix/nestjs-multi-auth 0.0.2 → 0.1.1

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/README.md CHANGED
@@ -21,6 +21,7 @@ A flexible, decoupled, and production-ready authentication library for NestJS ap
21
21
  - **Token Rotation**: Built-in `/refresh` and `/logout` endpoints with automatic token rotation.
22
22
  - **Session Tracking**: Tracks IP and User Agent for basic session security.
23
23
  - **Built-in Rate Limiting**: Configurable throttling on all auth endpoints via `@nestjs/throttler`.
24
+ - **Event-Driven Hooks**: Decoupled, reactive workflows using `@nestjs/event-emitter` (Optional).
24
25
  - **Account Management**: Built-in endpoints for viewing and deleting auth methods or entire accounts.
25
26
  - **Production Ready**: 10/10 code quality rating with standardized security patterns (e.g., Node.js built-in `crypto` for secure UUID generation).
26
27
 
@@ -56,6 +57,12 @@ Ensure you have the required peer dependencies installed in your NestJS project:
56
57
  npm install @nestjs/passport @nestjs/jwt passport passport-jwt class-validator bcrypt typeorm
57
58
  ```
58
59
 
60
+ #### Optional Dependencies
61
+ If you want to use the local event system:
62
+ ```bash
63
+ npm install @nestjs/event-emitter
64
+ ```
65
+
59
66
  ---
60
67
 
61
68
  ## Quick Start
@@ -538,18 +545,18 @@ The library automatically mounts the following endpoints under the `/auth` prefi
538
545
 
539
546
  | Method | Endpoint | Auth Required | Payload | Description |
540
547
  |--------|----------|:---:|:---|-------------|
541
- | `POST` | `/auth/signup` | | `SignupDto` | Register a new identity. |
542
- | `POST` | `/auth/signin` | | `LoginDto` | Authenticate and receive tokens. |
543
- | `POST` | `/auth/verify` | | `VerifyDto` | Submit an OTP to complete verification. |
544
- | `POST` | `/auth/resend-verification` | | `ResendVerificationDto` | Resend the OTP code. |
545
- | `POST` | `/auth/forgot-password` | | `ForgotPasswordDto` | Request a password reset OTP via email/phone/username. |
546
- | `POST` | `/auth/reset-password` | | `ResetPasswordDto` | Reset password using the OTP code. |
548
+ | `POST` | `/auth/signup` | - | `SignupDto` | Register a new identity. |
549
+ | `POST` | `/auth/signin` | - | `LoginDto` | Authenticate and receive tokens. |
550
+ | `POST` | `/auth/verify` | - | `VerifyDto` | Submit an OTP to complete verification. |
551
+ | `POST` | `/auth/resend-verification` | - | `ResendVerificationDto` | Resend the OTP code. |
552
+ | `POST` | `/auth/forgot-password` | - | `ForgotPasswordDto` | Request a password reset OTP via email/phone/username. |
553
+ | `POST` | `/auth/reset-password` | - | `ResetPasswordDto` | Reset password using the OTP code. |
547
554
  | `PATCH` | `/auth/password` | ✅ | `UpdatePasswordDto` | Update password for the current authenticated session. |
548
- | `POST` | `/auth/secure-account?uid=` | | `SecureAccountDto` | Lock account via a one-click security email link. |
549
- | `POST` | `/auth/magic-link` | | `MagicLinkRequestDto` | Request a magic login link for an email address. |
550
- | `GET` | `/auth/magic-callback?token=` | | — | Verify the magic link token and issue session tokens. |
551
- | `POST` | `/auth/refresh` | | `RefreshTokenDto` | Rotate the access token using a refresh token. |
552
- | `POST` | `/auth/logout` | | `RefreshTokenDto` | Invalidate the current session. |
555
+ | `POST` | `/auth/secure-account?uid=` | - | `SecureAccountDto` | Lock account via a one-click security email link. |
556
+ | `POST` | `/auth/magic-link` | - | `MagicLinkRequestDto` | Request a magic login link for an email address. |
557
+ | `GET` | `/auth/magic-callback?token=` | - | — | Verify the magic link token and issue session tokens. |
558
+ | `POST` | `/auth/refresh` | - | `RefreshTokenDto` | Rotate the access token using a refresh token. |
559
+ | `POST` | `/auth/logout` | - | `RefreshTokenDto` | Invalidate the current session. |
553
560
  | `POST` | `/auth/link` | ✅ | `SignupDto` | Link a new auth method to the current account. |
554
561
  | `POST` | `/auth/mfa/enroll` | ✅ | `EnrollMfaDto` | Begin TOTP MFA enrollment. |
555
562
  | `POST` | `/auth/mfa/activate` | ✅ | `ActivateMfaDto` | Confirm TOTP setup with a live code. |
@@ -571,12 +578,12 @@ Used for both registration (`/auth/signup`) and authentication (`/auth/signin`).
571
578
  | Field | Type | Required | Description |
572
579
  |---|---|---|---|
573
580
  | `method` | `AuthStrategy` | ✅ | The authentication strategy (e.g., `EMAIL`, `PHONE`, `GOOGLE`). |
574
- | `provider` | `OAuthProviderType` | | Required if `method` is `OAUTH` or a social strategy. |
575
- | `email` | `string` | | Required if `method` is `EMAIL`. |
576
- | `phone` | `string` | | Required if `method` is `PHONE`. |
577
- | `username` | `string` | | Required if `method` is `USERNAME`. |
578
- | `password` | `string` | | User's password (min 6 chars). |
579
- | `token` | `string` | | OAuth token or verification token for automated flows. |
581
+ | `provider` | `OAuthProviderType` | - | Required if `method` is `OAUTH` or a social strategy. |
582
+ | `email` | `string` | - | Required if `method` is `EMAIL`. |
583
+ | `phone` | `string` | - | Required if `method` is `PHONE`. |
584
+ | `username` | `string` | - | Required if `method` is `USERNAME`. |
585
+ | `password` | `string` | - | User's password (min 6 chars). |
586
+ | `token` | `string` | - | OAuth token or verification token for automated flows. |
580
587
 
581
588
  ### `VerifyDto`
582
589
  Used to verify an identity with a one-time code (`/auth/verify`).
@@ -598,9 +605,9 @@ Used to initiate a password reset (`/auth/forgot-password`).
598
605
 
599
606
  | Field | Type | Required | Description |
600
607
  |---|---|---|---|
601
- | `email` | `string` | | Email address of the account. |
602
- | `phone` | `string` | | Phone number of the account. |
603
- | `username` | `string` | | Username of the account. |
608
+ | `email` | `string` | - | Email address of the account. |
609
+ | `phone` | `string` | - | Phone number of the account. |
610
+ | `username` | `string` | - | Username of the account. |
604
611
 
605
612
  > At least one of `email`, `phone`, or `username` must be provided.
606
613
 
@@ -640,7 +647,7 @@ Used to rotate tokens or logout (`/auth/refresh`, `/auth/logout`).
640
647
 
641
648
  | Field | Type | Required | Description |
642
649
  |---|---|---|---|
643
- | `refreshToken` | `string` | | The refresh token. Required if not using HTTP-only cookies. |
650
+ | `refreshToken` | `string` | - | The refresh token. Required if not using HTTP-only cookies. |
644
651
 
645
652
  ### `EnrollMfaDto`
646
653
  Used to start MFA enrollment (`/auth/mfa/enroll`).
@@ -696,6 +703,73 @@ How tokens are delivered to and sent from the client.
696
703
 
697
704
  ---
698
705
 
706
+ ## Event Hooks
707
+
708
+ The library emits events for all major authentication actions using `@nestjs/event-emitter`. This allows you to build decoupled, reactive logic such as:
709
+ - Sending a welcome email after signup.
710
+ - Logging login attempts.
711
+ - Invalidating external caches on logout.
712
+
713
+ ### 1. Enable Events
714
+ First, ensure you have `@nestjs/event-emitter` installed and registered in your root `AppModule`:
715
+
716
+ ```typescript
717
+ import { EventEmitterModule } from '@nestjs/event-emitter';
718
+
719
+ @Module({
720
+ imports: [
721
+ EventEmitterModule.forRoot(),
722
+ AuthModule.register({ ... }),
723
+ ],
724
+ })
725
+ export class AppModule {}
726
+ ```
727
+
728
+ ### 2. Listen for Events
729
+ Use the `@OnEvent()` decorator with the `AuthEvents` enum to handle specific actions:
730
+
731
+ ```typescript
732
+ import { OnEvent } from '@nestjs/event-emitter';
733
+ import { AuthEvents } from 'nestjs-multi-auth';
734
+
735
+ @Injectable()
736
+ export class NotificationService {
737
+ @OnEvent(AuthEvents.SIGNUP)
738
+ async handleUserSignup(payload: any) {
739
+ // payload = { uid, method, email/phone/username }
740
+ console.log(`User ${payload.uid} signed up via ${payload.method}`);
741
+ }
742
+
743
+ @OnEvent(AuthEvents.LOGIN)
744
+ async handleUserLogin(payload: any) {
745
+ // payload = { uid, sessionId, method }
746
+ console.log(`User ${payload.uid} logged in!`);
747
+ }
748
+ }
749
+ ```
750
+
751
+ ### Available Events
752
+
753
+ | Event | Payload | Triggered When |
754
+ |-------|---------|----------------|
755
+ | `auth.signup` | `{ uid, method, ...identifier }` | A new account is successfully created. |
756
+ | `auth.login` | `{ uid, sessionId, method }` | A user successfully authenticates. |
757
+ | `auth.logout` | `{ uid, sessionId }` | A session is invalidated. |
758
+ | `auth.verify.request` | `{ uid, type, to }` | A verification code is sent. |
759
+ | `auth.verify.success` | `{ uid }` | A code is successfully confirmed. |
760
+ | `auth.mfa.enroll` | `{ uid, type }` | MFA enrollment begins. |
761
+ | `auth.mfa.activate` | `{ uid, type }` | MFA is fully enabled. |
762
+ | `auth.password.forgot` | `{ uid }` | Password reset is requested. |
763
+ | `auth.password.reset` | `{ uid }` | Password is changed via OTP. |
764
+ | `auth.password.update` | `{ uid }` | Password is changed via PATCH. |
765
+ | `auth.account.secure` | `{ uid }` | Account is locked via security link. |
766
+ | `auth.account.delete` | `{ uid }` | Entire account is deleted. |
767
+
768
+ > [!TIP]
769
+ > The event system is completely optional. If you don't register `EventEmitterModule`, the library will skip event emission without throwing errors.
770
+
771
+ ---
772
+
699
773
  ## Configuration Reference
700
774
 
701
775
  All options for `AuthModule.register()` / `AuthModule.forRootAsync()`:
package/bin/cli.js CHANGED
@@ -12,7 +12,7 @@ program
12
12
  .version('1.0.0');
13
13
 
14
14
 
15
- // 🔍 Resolve DataSource path
15
+ // Resolve DataSource path
16
16
  function resolveDataSource() {
17
17
  const cwd = process.cwd();
18
18
 
@@ -37,7 +37,7 @@ function resolveDataSource() {
37
37
  }
38
38
 
39
39
 
40
- // 🔧 Extract or create DataSource
40
+ // Extract or create DataSource
41
41
  function extractDataSource(exported) {
42
42
  const { DataSource } = require('typeorm');
43
43
 
@@ -45,7 +45,7 @@ function extractDataSource(exported) {
45
45
  throw new Error('No exports found in data-source file');
46
46
  }
47
47
 
48
- // Already a DataSource instance
48
+ // Already a DataSource instance
49
49
  if (exported.AppDataSource instanceof DataSource) {
50
50
  return exported.AppDataSource;
51
51
  }
@@ -58,7 +58,7 @@ function extractDataSource(exported) {
58
58
  return exported.default;
59
59
  }
60
60
 
61
- // Config object → wrap it
61
+ // Config object → wrap it
62
62
  const config =
63
63
  exported.default ||
64
64
  exported.databaseConfig ||
@@ -68,7 +68,7 @@ function extractDataSource(exported) {
68
68
  }
69
69
 
70
70
 
71
- // 🔧 Load DataSource (TS + JS support)
71
+ // Load DataSource (TS + JS support)
72
72
  async function loadDataSource() {
73
73
  const dataSourcePath = resolveDataSource();
74
74
 
@@ -90,7 +90,7 @@ async function loadDataSource() {
90
90
  }
91
91
 
92
92
 
93
- // 🔁 Shared runner
93
+ // Shared runner
94
94
  async function runWithDataSource(fn) {
95
95
  const dataSource = await loadDataSource();
96
96
 
@@ -104,7 +104,7 @@ async function runWithDataSource(fn) {
104
104
  }
105
105
 
106
106
 
107
- // 🚀 MIGRATE COMMAND
107
+ // MIGRATE COMMAND
108
108
  program
109
109
  .command('migrate')
110
110
  .description('Run auth migrations')
@@ -126,7 +126,7 @@ program
126
126
  });
127
127
 
128
128
 
129
- // 🔍 DOCTOR COMMAND
129
+ // DOCTOR COMMAND
130
130
  program
131
131
  .command('doctor')
132
132
  .description('Check auth schema status')
@@ -1,3 +1,4 @@
1
+ import { EventEmitter2 } from '@nestjs/event-emitter';
1
2
  import { JwtService } from '@nestjs/jwt';
2
3
  import { Repository } from 'typeorm';
3
4
  import { SignupDto } from './dto/requests/signup.dto';
@@ -27,8 +28,9 @@ export declare class AuthService {
27
28
  private mfaRepo;
28
29
  private options;
29
30
  private notificationProvider?;
31
+ private readonly eventEmitter?;
30
32
  private readonly logger;
31
- constructor(jwtService: JwtService, passwordStrategy: LocalAuthStrategy, oauthStrategy: OAuthAuthStrategy, sessionRepository: Repository<Session>, authRepo: Repository<Auth>, otpRepo: Repository<OtpToken>, mfaRepo: Repository<MfaMethod>, options: AuthModuleOptions, notificationProvider?: AuthNotificationProvider);
33
+ constructor(jwtService: JwtService, passwordStrategy: LocalAuthStrategy, oauthStrategy: OAuthAuthStrategy, sessionRepository: Repository<Session>, authRepo: Repository<Auth>, otpRepo: Repository<OtpToken>, mfaRepo: Repository<MfaMethod>, options: AuthModuleOptions, notificationProvider?: AuthNotificationProvider, eventEmitter?: EventEmitter2);
32
34
  private generateTokens;
33
35
  private fingerprint;
34
36
  private createSession;
@@ -15,6 +15,7 @@ var AuthService_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.AuthService = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
+ const event_emitter_1 = require("@nestjs/event-emitter");
18
19
  const jwt_1 = require("@nestjs/jwt");
19
20
  const typeorm_1 = require("@nestjs/typeorm");
20
21
  const typeorm_2 = require("typeorm");
@@ -32,8 +33,9 @@ const auth_notification_provider_interface_1 = require("./interfaces/auth-notifi
32
33
  const crypto = require("crypto");
33
34
  const duration_util_1 = require("./utils/duration.util");
34
35
  const auth_mapper_1 = require("./core/auth-mapper");
36
+ const auth_events_1 = require("./enums/auth.events");
35
37
  let AuthService = AuthService_1 = class AuthService {
36
- constructor(jwtService, passwordStrategy, oauthStrategy, sessionRepository, authRepo, otpRepo, mfaRepo, options, notificationProvider) {
38
+ constructor(jwtService, passwordStrategy, oauthStrategy, sessionRepository, authRepo, otpRepo, mfaRepo, options, notificationProvider, eventEmitter) {
37
39
  this.jwtService = jwtService;
38
40
  this.passwordStrategy = passwordStrategy;
39
41
  this.oauthStrategy = oauthStrategy;
@@ -43,6 +45,7 @@ let AuthService = AuthService_1 = class AuthService {
43
45
  this.mfaRepo = mfaRepo;
44
46
  this.options = options;
45
47
  this.notificationProvider = notificationProvider;
48
+ this.eventEmitter = eventEmitter;
46
49
  this.logger = new common_1.Logger(AuthService_1.name);
47
50
  }
48
51
  // --- INTERNAL HELPER: Generate Token Pair ---
@@ -144,6 +147,9 @@ let AuthService = AuthService_1 = class AuthService {
144
147
  }
145
148
  }
146
149
  const tokens = await this.createSession(auth.uid, userAgent, ip);
150
+ if (this.eventEmitter) {
151
+ this.eventEmitter.emit(auth_events_1.AuthEvents.SIGNUP, { auth: filteredAuth, identifier });
152
+ }
147
153
  return { ...tokens, auth: filteredAuth };
148
154
  }
149
155
  async login(dto, userAgent, ip) {
@@ -219,6 +225,9 @@ let AuthService = AuthService_1 = class AuthService {
219
225
  };
220
226
  }
221
227
  const tokens = await this.createSession(auth.uid, userAgent, ip);
228
+ if (this.eventEmitter) {
229
+ this.eventEmitter.emit(auth_events_1.AuthEvents.LOGIN, { auth: filteredAuth, tokens });
230
+ }
222
231
  return { ...tokens, auth: filteredAuth };
223
232
  }
224
233
  // --- VERIFICATION LOGIC ---
@@ -307,6 +316,9 @@ let AuthService = AuthService_1 = class AuthService {
307
316
  await this.authRepo.query(`UPDATE auth_identifiers SET "isVerified" = true WHERE "authId" = $1`, [otp.requestAuthId]);
308
317
  }
309
318
  const tokens = await this.createSession(auth.uid, userAgent, ip);
319
+ if (this.eventEmitter) {
320
+ this.eventEmitter.emit(auth_events_1.AuthEvents.IDENTITY_VERIFIED, { auth, tokens });
321
+ }
310
322
  return { message: 'Identity verified successfully', tokens, auth };
311
323
  }
312
324
  async resendVerification(uid) {
@@ -372,6 +384,9 @@ let AuthService = AuthService_1 = class AuthService {
372
384
  expiresAt: newExpiry,
373
385
  ipAddress: currentIp ?? session.ipAddress,
374
386
  });
387
+ if (this.eventEmitter) {
388
+ this.eventEmitter.emit(auth_events_1.AuthEvents.TOKEN_REFRESHED, { uid: session.uid, tokens });
389
+ }
375
390
  return tokens;
376
391
  }
377
392
  catch (e) {
@@ -385,7 +400,11 @@ let AuthService = AuthService_1 = class AuthService {
385
400
  try {
386
401
  const payload = this.jwtService.decode(refreshToken);
387
402
  if (payload?.sessionId) {
403
+ const session = await this.sessionRepository.findOne({ where: { id: payload.sessionId } });
388
404
  await this.sessionRepository.delete(payload.sessionId);
405
+ if (session && this.eventEmitter) {
406
+ this.eventEmitter.emit(auth_events_1.AuthEvents.LOGOUT, { uid: session.uid });
407
+ }
389
408
  }
390
409
  }
391
410
  catch (e) {
@@ -425,6 +444,9 @@ let AuthService = AuthService_1 = class AuthService {
425
444
  if (this.notificationProvider) {
426
445
  await this.notificationProvider.sendVerificationCode(primaryAuth.value, code, 'email');
427
446
  }
447
+ if (this.eventEmitter) {
448
+ this.eventEmitter.emit(auth_events_1.AuthEvents.PASSWORD_RESET, { auth: primaryAuth });
449
+ }
428
450
  return { message: 'If an account exists, a reset code has been sent.' };
429
451
  }
430
452
  async resetPassword(dto) {
@@ -449,6 +471,10 @@ let AuthService = AuthService_1 = class AuthService {
449
471
  await this.otpRepo.save(otp);
450
472
  // Security: Invalidate all sessions
451
473
  await this.sessionRepository.delete({ uid: dto.uid });
474
+ if (this.eventEmitter) {
475
+ const auth = await this.authRepo.findOne({ where: { uid: dto.uid } });
476
+ this.eventEmitter.emit(auth_events_1.AuthEvents.PASSWORD_RESET, { auth });
477
+ }
452
478
  return { message: 'Password reset successful. All active sessions have been logged out.' };
453
479
  }
454
480
  async updatePassword(uid, dto, userAgent, ip) {
@@ -492,6 +518,9 @@ let AuthService = AuthService_1 = class AuthService {
492
518
  });
493
519
  }
494
520
  }
521
+ if (this.eventEmitter) {
522
+ this.eventEmitter.emit(auth_events_1.AuthEvents.PASSWORD_UPDATED, { auth });
523
+ }
495
524
  return { message: 'Password updated successfully' };
496
525
  }
497
526
  async secureAccount(dto) {
@@ -512,6 +541,9 @@ let AuthService = AuthService_1 = class AuthService {
512
541
  // 3. Mark OTP as used
513
542
  otp.isUsed = true;
514
543
  await this.otpRepo.save(otp);
544
+ if (this.eventEmitter) {
545
+ this.eventEmitter.emit(auth_events_1.AuthEvents.ACCOUNT_SECURED, { uid: dto.uid });
546
+ }
515
547
  return { message: 'Account secured and locked. Please reset your password to regain access.' };
516
548
  }
517
549
  // --- MAGIC LINK ---
@@ -545,6 +577,9 @@ let AuthService = AuthService_1 = class AuthService {
545
577
  const link = `${this.options.frontendUrl || ''}/auth/magic-callback?token=${token}&email=${dto.email}`;
546
578
  await this.notificationProvider.sendMagicLink(dto.email, link);
547
579
  }
580
+ if (this.eventEmitter) {
581
+ this.eventEmitter.emit(auth_events_1.AuthEvents.MAGIC_LINK_REQUESTED, { email: dto.email });
582
+ }
548
583
  return { message: 'Magic link sent to your email.' };
549
584
  }
550
585
  async verifyMagicLink(dto, userAgent, ip) {
@@ -564,6 +599,9 @@ let AuthService = AuthService_1 = class AuthService {
564
599
  if (!auth)
565
600
  throw new common_1.BadRequestException('Identity not found');
566
601
  const tokens = await this.createSession(auth.uid, userAgent, ip);
602
+ if (this.eventEmitter) {
603
+ this.eventEmitter.emit(auth_events_1.AuthEvents.IDENTITY_VERIFIED, { auth, tokens });
604
+ }
567
605
  return { tokens, auth };
568
606
  }
569
607
  // --- MFA (2FA) LOGIC ---
@@ -590,6 +628,9 @@ let AuthService = AuthService_1 = class AuthService {
590
628
  mfa.secret = secret;
591
629
  }
592
630
  await this.mfaRepo.save(mfa);
631
+ if (this.eventEmitter) {
632
+ this.eventEmitter.emit(auth_events_1.AuthEvents.MFA_ENROLLED, { uid, type });
633
+ }
593
634
  return {
594
635
  secret,
595
636
  otpauth,
@@ -616,6 +657,9 @@ let AuthService = AuthService_1 = class AuthService {
616
657
  mfa.isEnabled = true;
617
658
  mfa.isDefault = true;
618
659
  await this.mfaRepo.save(mfa);
660
+ if (this.eventEmitter) {
661
+ this.eventEmitter.emit(auth_events_1.AuthEvents.MFA_ACTIVATED, { uid, type });
662
+ }
619
663
  return { message: 'MFA activated successfully' };
620
664
  }
621
665
  async viewAll() {
@@ -684,12 +728,13 @@ exports.AuthService = AuthService = AuthService_1 = __decorate([
684
728
  __param(7, (0, common_1.Inject)(auth_module_options_interface_1.AUTH_MODULE_OPTIONS)),
685
729
  __param(8, (0, common_1.Optional)()),
686
730
  __param(8, (0, common_1.Inject)(auth_notification_provider_interface_1.AUTH_NOTIFICATION_PROVIDER)),
731
+ __param(9, (0, common_1.Optional)()),
687
732
  __metadata("design:paramtypes", [jwt_1.JwtService,
688
733
  local_auth_strategy_1.LocalAuthStrategy,
689
734
  oauth_strategy_1.OAuthAuthStrategy,
690
735
  typeorm_2.Repository,
691
736
  typeorm_2.Repository,
692
737
  typeorm_2.Repository,
693
- typeorm_2.Repository, Object, Object])
738
+ typeorm_2.Repository, Object, Object, event_emitter_1.EventEmitter2])
694
739
  ], AuthService);
695
740
  //# sourceMappingURL=auth.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ export declare enum AuthEvents {
2
+ /**
3
+ * Emitted when a user signs up.
4
+ * Payload: { auth: AuthDto, identifier: AuthIdentifierDto }
5
+ */
6
+ SIGNUP = "auth.signup",
7
+ /**
8
+ * Emitted when a user logs in successfully.
9
+ * Payload: { auth: AuthDto, tokens: TokensDto }
10
+ */
11
+ LOGIN = "auth.login",
12
+ /**
13
+ * Emitted when a user logs out.
14
+ * Payload: { uid: string }
15
+ */
16
+ LOGOUT = "auth.logout",
17
+ /**
18
+ * Emitted when tokens are successfully refreshed.
19
+ * Payload: { uid: string, tokens: TokensDto }
20
+ */
21
+ TOKEN_REFRESHED = "auth.token_refreshed",
22
+ /**
23
+ * Emitted after a successful password reset via OTP.
24
+ * Payload: { auth: AuthDto }
25
+ */
26
+ PASSWORD_RESET = "auth.password_reset",
27
+ /**
28
+ * Emitted after a user manually updates their password.
29
+ * Payload: { auth: AuthDto }
30
+ */
31
+ PASSWORD_UPDATED = "auth.password_updated",
32
+ /**
33
+ * Emitted when a user's identity (email/phone) is verified.
34
+ * Payload: { auth: AuthDto }
35
+ */
36
+ IDENTITY_VERIFIED = "auth.identity_verified",
37
+ /**
38
+ * Emitted when a user enrolls in MFA (before activation).
39
+ * Payload: { uid: string, type: string }
40
+ */
41
+ MFA_ENROLLED = "auth.mfa_enrolled",
42
+ /**
43
+ * Emitted when MFA is successfully activated.
44
+ * Payload: { uid: string, type: string }
45
+ */
46
+ MFA_ACTIVATED = "auth.mfa_activated",
47
+ /**
48
+ * Emitted when a magic link is requested.
49
+ * Payload: { email: string }
50
+ */
51
+ MAGIC_LINK_REQUESTED = "auth.magic_link_requested",
52
+ /**
53
+ * Emitted when an account is locked/secured due to suspicious activity.
54
+ * Payload: { uid: string }
55
+ */
56
+ ACCOUNT_SECURED = "auth.account_secured"
57
+ }