@nauth-toolkit/nestjs 0.1.61 → 0.1.63

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAA4C,MAAM,gBAAgB,CAAC;AAKrH,OAAO,EAYL,WAAW,EAuBZ,MAAM,qBAAqB,CAAC;AA8K7B;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAEa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;IA4wCxD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuB9B"}
1
+ {"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,aAAa,EAA4C,MAAM,gBAAgB,CAAC;AAKrH,OAAO,EAYL,WAAW,EAuBZ,MAAM,qBAAqB,CAAC;AA6L7B;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAEa,UAAU;IACrB;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa;IAswCxD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAuB9B"}
@@ -81,12 +81,16 @@ let NAuthProviderAutoRegistrationService = class NAuthProviderAutoRegistrationSe
81
81
  moduleRef;
82
82
  mfaService;
83
83
  socialProviderRegistry;
84
+ hookRegistry;
85
+ emailProvider;
84
86
  logger;
85
87
  config;
86
- constructor(moduleRef, mfaService, socialProviderRegistry, logger, config) {
88
+ constructor(moduleRef, mfaService, socialProviderRegistry, hookRegistry, emailProvider, logger, config) {
87
89
  this.moduleRef = moduleRef;
88
90
  this.mfaService = mfaService;
89
91
  this.socialProviderRegistry = socialProviderRegistry;
92
+ this.hookRegistry = hookRegistry;
93
+ this.emailProvider = emailProvider;
90
94
  this.logger = logger;
91
95
  this.config = config;
92
96
  }
@@ -132,6 +136,17 @@ let NAuthProviderAutoRegistrationService = class NAuthProviderAutoRegistrationSe
132
136
  if (this.logger?.isEnabled?.()) {
133
137
  this.logger.debug(`[nauth-toolkit] Auto-registered providers (NestJS): MFA=${registeredMfa}/${mfaProviders.length}, Social=${registeredSocial}/${validSocialProviders} (${socialProviders.length} total from DI)`);
134
138
  }
139
+ // ==========================================================================
140
+ // Built-in Email Notification Hooks (opt-in via config.emailNotifications)
141
+ // ==========================================================================
142
+ // Register built-in hooks on bootstrap to guarantee they are wired before any requests,
143
+ // similar to MFA/Social provider auto-registration.
144
+ if (this.config) {
145
+ (0, internal_1.registerBuiltInEmailNotificationHooks)(this.hookRegistry, this.emailProvider, this.config, this.logger);
146
+ if (this.logger?.isEnabled?.()) {
147
+ this.logger.debug('[nauth-toolkit] Registered built-in email notification hooks (NestJS)');
148
+ }
149
+ }
135
150
  }
136
151
  safeGetAllProviders(token) {
137
152
  // `ModuleRef.get()` throws if the token is unknown. We treat "not present" as empty.
@@ -175,14 +190,15 @@ let NAuthProviderAutoRegistrationService = class NAuthProviderAutoRegistrationSe
175
190
  };
176
191
  NAuthProviderAutoRegistrationService = __decorate([
177
192
  (0, common_1.Injectable)(),
178
- __param(3, (0, common_1.Optional)()),
179
- __param(3, (0, common_1.Inject)('NAUTH_LOGGER')),
180
- __param(4, (0, common_1.Optional)()),
181
- __param(4, (0, common_1.Inject)('NAUTH_CONFIG')),
193
+ __param(4, (0, common_1.Inject)('EMAIL_PROVIDER')),
194
+ __param(5, (0, common_1.Optional)()),
195
+ __param(5, (0, common_1.Inject)('NAUTH_LOGGER')),
196
+ __param(6, (0, common_1.Optional)()),
197
+ __param(6, (0, common_1.Inject)('NAUTH_CONFIG')),
182
198
  __metadata("design:paramtypes", [core_1.ModuleRef,
183
199
  core_2.MFAService,
184
200
  internal_1.SocialProviderRegistry,
185
- core_2.NAuthLogger, Object])
201
+ internal_1.HookRegistryService, Object, core_2.NAuthLogger, Object])
186
202
  ], NAuthProviderAutoRegistrationService);
187
203
  /**
188
204
  * Main Authentication Module (v2.0 - Modular)
@@ -206,8 +222,6 @@ let AuthModule = AuthModule_1 = class AuthModule {
206
222
  nauthLogger.log('Initializing nauth-toolkit...');
207
223
  nauthLogger.debug(`Table prefix: ${config.tablePrefix || 'nauth_'}`);
208
224
  nauthLogger.debug(`JWT algorithm: ${config.jwt.algorithm || 'HS256'}`);
209
- nauthLogger.debug('[PERF] Config validation completed');
210
- nauthLogger.debug('[PERF] Logger initialized');
211
225
  }
212
226
  // Storage adapter will be initialized in useFactory below
213
227
  // Use config.storageAdapter if provided, otherwise default to MemoryStorageAdapter
@@ -292,10 +306,8 @@ let AuthModule = AuthModule_1 = class AuthModule {
292
306
  {
293
307
  provide: 'STORAGE_ADAPTER',
294
308
  useFactory: async (config, logger, rateLimitRepo, storageLockRepo) => {
295
- logger?.debug?.('[PERF] STORAGE_ADAPTER factory started');
296
309
  // If storage adapter is explicitly provided, use it
297
310
  if (config.storageAdapter) {
298
- logger?.debug?.('[PERF] Using provided storage adapter');
299
311
  const adapter = config.storageAdapter;
300
312
  // Inject logger into adapter if it supports setLogger (for factory-created adapters)
301
313
  if (adapter &&
@@ -309,26 +321,20 @@ let AuthModule = AuthModule_1 = class AuthModule {
309
321
  adapter.setRepositories(rateLimitRepo, storageLockRepo);
310
322
  }
311
323
  }
312
- logger?.debug?.('[PERF] Calling storage adapter.initialize()...');
313
324
  await adapter.initialize();
314
- logger?.debug?.('[PERF] Storage adapter initialized');
315
325
  return adapter;
316
326
  }
317
327
  // No storage adapter provided - try to use DatabaseStorageAdapter if repositories available
318
328
  if (rateLimitRepo && storageLockRepo) {
319
329
  // Default to DatabaseStorageAdapter when repositories are available (most apps have a database)
320
330
  try {
321
- logger?.debug?.('[PERF] Importing DatabaseStorageAdapter...');
322
331
  // Lazy import to avoid bundling if not used
323
332
  const { DatabaseStorageAdapter } = await Promise.resolve().then(() => __importStar(require('@nauth-toolkit/storage-database')));
324
- logger?.debug?.('[PERF] DatabaseStorageAdapter imported');
325
333
  const adapter = new DatabaseStorageAdapter(null, null, logger);
326
334
  adapter.setRepositories(rateLimitRepo, storageLockRepo);
327
- logger?.debug?.('[PERF] Calling DatabaseStorageAdapter.initialize()...');
328
335
  await adapter.initialize();
329
336
  logger?.warn?.('WARNING: Storage adapter not provided. Using DatabaseStorageAdapter as default. ' +
330
337
  'For production, explicitly configure storageAdapter in your config.');
331
- logger?.debug?.('[PERF] DatabaseStorageAdapter initialized');
332
338
  return adapter;
333
339
  }
334
340
  catch (error) {
@@ -355,8 +361,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
355
361
  // Rate Limit Repository (optional - only needed for DatabaseStorageAdapter)
356
362
  {
357
363
  provide: 'RateLimitRepository',
358
- useFactory: (dataSource, logger) => {
359
- logger?.debug?.('[PERF] Discovering RateLimitRepository...');
364
+ useFactory: (dataSource, _logger) => {
360
365
  // Try to find entity from config first
361
366
  const entityFromConfig = entities.find((e) => e.name === 'RateLimit');
362
367
  if (entityFromConfig) {
@@ -380,8 +385,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
380
385
  // Storage Lock Repository (optional - only needed for DatabaseStorageAdapter)
381
386
  {
382
387
  provide: 'StorageLockRepository',
383
- useFactory: (dataSource, logger) => {
384
- logger?.debug?.('[PERF] Discovering StorageLockRepository...');
388
+ useFactory: (dataSource, _logger) => {
385
389
  // Try to find entity from config first
386
390
  const entityFromConfig = entities.find((e) => e.name === 'StorageLock');
387
391
  if (entityFromConfig) {
@@ -406,8 +410,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
406
410
  // This allows entities to be auto-discovered if registered in TypeORM.forRoot()
407
411
  {
408
412
  provide: 'UserRepository',
409
- useFactory: (dataSource, logger) => {
410
- logger?.debug?.('[PERF] Discovering UserRepository...');
413
+ useFactory: (dataSource, _logger) => {
411
414
  // Try to find entity from provided config first
412
415
  const entityFromConfig = entities.find((e) => e.name === 'User');
413
416
  if (entityFromConfig) {
@@ -725,8 +728,8 @@ let AuthModule = AuthModule_1 = class AuthModule {
725
728
  // will automatically register themselves with this service via OnModuleInit
726
729
  {
727
730
  provide: core_2.MFAService,
728
- useFactory: (mfaDeviceRepository, userRepository, challengeService, nauthConfig, logger, auditService, clientInfoService) => {
729
- return new core_2.MFAService(mfaDeviceRepository, userRepository, challengeService, nauthConfig, logger, auditService, clientInfoService);
731
+ useFactory: (mfaDeviceRepository, userRepository, challengeService, nauthConfig, logger, auditService, clientInfoService, hookRegistry) => {
732
+ return new core_2.MFAService(mfaDeviceRepository, userRepository, challengeService, nauthConfig, logger, auditService, clientInfoService, hookRegistry);
730
733
  },
731
734
  inject: [
732
735
  'MFADeviceRepository',
@@ -736,6 +739,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
736
739
  { token: 'NAUTH_LOGGER', optional: true },
737
740
  { token: internal_1.AuthAuditService, optional: true },
738
741
  { token: core_2.ClientInfoService, optional: true },
742
+ { token: internal_1.HookRegistryService, optional: true },
739
743
  ],
740
744
  },
741
745
  {
@@ -803,8 +807,9 @@ let AuthModule = AuthModule_1 = class AuthModule {
803
807
  },
804
808
  {
805
809
  provide: internal_1.AdaptiveMFADecisionService,
806
- useFactory: (riskDetectionService, riskScoringService, storageAdapter, clientInfoService, config, logger, auditService) => {
807
- return new internal_1.AdaptiveMFADecisionService(riskDetectionService, riskScoringService, storageAdapter, clientInfoService, config, logger, auditService);
810
+ useFactory: (riskDetectionService, riskScoringService, storageAdapter, clientInfoService, config, logger, auditService, // Optional - only available when auditLogs.enabled is true
811
+ hookRegistry) => {
812
+ return new internal_1.AdaptiveMFADecisionService(riskDetectionService, riskScoringService, storageAdapter, clientInfoService, config, logger, auditService, hookRegistry);
808
813
  },
809
814
  inject: [
810
815
  internal_1.RiskDetectionService,
@@ -814,6 +819,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
814
819
  'NAUTH_CONFIG',
815
820
  'NAUTH_LOGGER',
816
821
  { token: internal_1.AuthAuditService, optional: true }, // Optional - only available when auditLogs.enabled is true
822
+ { token: internal_1.HookRegistryService, optional: true },
817
823
  ],
818
824
  },
819
825
  // MaxMind Module (optional - only provided if package is installed and config is present)
@@ -878,31 +884,18 @@ let AuthModule = AuthModule_1 = class AuthModule {
878
884
  maybeLoggerAware.setLogger(nauthLogger);
879
885
  }
880
886
  }
887
+ // Inject config into provider if it supports it (used for suppression logic in some providers)
888
+ {
889
+ const maybeConfigAware = provider;
890
+ if (typeof maybeConfigAware.setConfig === 'function') {
891
+ maybeConfigAware.setConfig(config);
892
+ }
893
+ }
881
894
  // Inject global variables from email config if provider supports it
882
895
  if (typeof provider
883
896
  .setGlobalVariables === 'function' &&
884
897
  config.email) {
885
- const globalVars = {};
886
- // Extract top-level branding fields
887
- if (config.email.appName)
888
- globalVars.appName = config.email.appName;
889
- if (config.email.companyName)
890
- globalVars.companyName = config.email.companyName;
891
- if (config.email.logoUrl)
892
- globalVars.logoUrl = config.email.logoUrl;
893
- if (config.email.supportEmail)
894
- globalVars.supportEmail = config.email.supportEmail;
895
- if (config.email.dashboardUrl)
896
- globalVars.dashboardUrl = config.email.dashboardUrl;
897
- if (config.email.brandColor)
898
- globalVars.brandColor = config.email.brandColor;
899
- if (config.email.footerDisclaimer)
900
- globalVars.footerDisclaimer = config.email.footerDisclaimer;
901
- // Merge with templates.globalVariables (templates.globalVariables takes precedence)
902
- const mergedVars = {
903
- ...globalVars,
904
- ...(config.email.templates?.globalVariables || {}),
905
- };
898
+ const mergedVars = (config.email.globalVariables ?? {});
906
899
  provider.setGlobalVariables(mergedVars);
907
900
  }
908
901
  return provider;
@@ -980,14 +973,18 @@ let AuthModule = AuthModule_1 = class AuthModule {
980
973
  provider.setTemplateEngine(templateEngine);
981
974
  // Set global variables
982
975
  if (typeof provider.setGlobalVariables === 'function' && smsTemplates.globalVariables) {
983
- // Extract top-level branding fields from email config (if available)
976
+ // Extract selected branding fields from email.globalVariables (if available)
984
977
  const globalVars = {};
985
- if (config.email?.appName)
986
- globalVars.appName = config.email.appName;
987
- if (config.email?.companyName)
988
- globalVars.companyName = config.email.companyName;
989
- if (config.email?.supportEmail)
990
- globalVars.supportEmail = config.email.supportEmail;
978
+ const emailGlobals = config.email?.globalVariables;
979
+ if (typeof emailGlobals?.appName === 'string') {
980
+ globalVars.appName = emailGlobals.appName;
981
+ }
982
+ if (typeof emailGlobals?.companyName === 'string') {
983
+ globalVars.companyName = emailGlobals.companyName;
984
+ }
985
+ if (typeof emailGlobals?.supportEmail === 'string') {
986
+ globalVars.supportEmail = emailGlobals.supportEmail;
987
+ }
991
988
  // Merge with sms.templates.globalVariables (sms.templates.globalVariables takes precedence)
992
989
  // Filter out non-compatible types from globalVariables
993
990
  const smsGlobalVars = {};
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export declare const HOOK_METADATA_KEY = "nauth:hook";
27
27
  /**
28
28
  * Hook types supported by NAuth
29
29
  */
30
- export type HookType = 'preSignup' | 'postSignup' | 'userProfileUpdated';
30
+ export type HookType = 'preSignup' | 'postSignup' | 'userProfileUpdated' | 'passwordChanged' | 'mfaDeviceRemoved' | 'adaptiveMfaRiskDetected' | 'accountStatusChanged' | 'emailChanged' | 'accountLocked' | 'sessionsRevoked' | 'mfaFirstEnabled';
31
31
  /**
32
32
  * Metadata stored on hook provider classes
33
33
  */
@@ -126,4 +126,250 @@ export declare function PostSignupHook(options?: HookDecoratorOptions): ClassDec
126
126
  * ```
127
127
  */
128
128
  export declare function UserProfileUpdatedHook(options?: HookDecoratorOptions): ClassDecorator;
129
+ /**
130
+ * Marks a provider as a password changed hook
131
+ *
132
+ * Password changed hooks are executed after a password is successfully changed, allowing you to:
133
+ * - Send security notification emails
134
+ * - Log password change events
135
+ * - Revoke active sessions
136
+ * - Trigger security audits
137
+ *
138
+ * These hooks cannot block password changes (password is already updated) but errors are logged.
139
+ *
140
+ * @param options - Hook configuration options
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * @Injectable()
145
+ * @PasswordChangedHook({ priority: 1 })
146
+ * export class PasswordChangedNotificationHook implements IPasswordChangedHook {
147
+ * constructor(private readonly emailService: EmailService) {}
148
+ *
149
+ * async execute(metadata: PasswordChangedMetadata) {
150
+ * await this.emailService.sendPasswordChangedAlert({
151
+ * to: metadata.user.email,
152
+ * changedBy: metadata.changedBy,
153
+ * });
154
+ * }
155
+ * }
156
+ * ```
157
+ */
158
+ export declare function PasswordChangedHook(options?: HookDecoratorOptions): ClassDecorator;
159
+ /**
160
+ * Marks a provider as an MFA device removed hook
161
+ *
162
+ * MFA device removed hooks are executed after an MFA device is removed, allowing you to:
163
+ * - Send security notification emails
164
+ * - Log device removal events
165
+ * - Alert if user has no remaining MFA devices
166
+ * - Trigger security audits
167
+ *
168
+ * These hooks cannot block device removal (device is already removed) but errors are logged.
169
+ *
170
+ * @param options - Hook configuration options
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * @Injectable()
175
+ * @MFADeviceRemovedHook({ priority: 1 })
176
+ * export class MFADeviceRemovedNotificationHook implements IMFADeviceRemovedHook {
177
+ * constructor(private readonly emailService: EmailService) {}
178
+ *
179
+ * async execute(metadata: MFADeviceRemovedMetadata) {
180
+ * await this.emailService.sendMFADeviceRemovedAlert({
181
+ * to: metadata.user.email,
182
+ * deviceType: metadata.deviceType,
183
+ * remainingDevices: metadata.remainingDeviceCount,
184
+ * });
185
+ * }
186
+ * }
187
+ * ```
188
+ */
189
+ export declare function MFADeviceRemovedHook(options?: HookDecoratorOptions): ClassDecorator;
190
+ /**
191
+ * Marks a provider as an adaptive MFA risk detected hook
192
+ *
193
+ * Adaptive MFA risk detected hooks are executed when high-risk signin activity is detected, allowing you to:
194
+ * - Send risk alert emails to users
195
+ * - Notify security teams
196
+ * - Log suspicious activity
197
+ * - Trigger additional security checks
198
+ *
199
+ * These hooks cannot block authentication (risk decision is already made) but errors are logged.
200
+ *
201
+ * @param options - Hook configuration options
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * @Injectable()
206
+ * @AdaptiveMFARiskDetectedHook({ priority: 1 })
207
+ * export class RiskAlertHook implements IAdaptiveMFARiskDetectedHook {
208
+ * constructor(private readonly emailService: EmailService) {}
209
+ *
210
+ * async execute(metadata: AdaptiveMFARiskDetectedMetadata) {
211
+ * await this.emailService.sendRiskAlert({
212
+ * to: metadata.user.email,
213
+ * riskLevel: metadata.riskLevel,
214
+ * riskFactors: metadata.riskFactors,
215
+ * });
216
+ * }
217
+ * }
218
+ * ```
219
+ */
220
+ export declare function AdaptiveMFARiskDetectedHook(options?: HookDecoratorOptions): ClassDecorator;
221
+ /**
222
+ * Marks a provider as an account status changed hook
223
+ *
224
+ * Account status changed hooks are executed after an account is enabled or disabled, allowing you to:
225
+ * - Send account status notification emails
226
+ * - Log account status changes
227
+ * - Sync status to external systems
228
+ * - Trigger compliance workflows
229
+ *
230
+ * These hooks cannot block status changes (status is already updated) but errors are logged.
231
+ *
232
+ * @param options - Hook configuration options
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * @Injectable()
237
+ * @AccountStatusChangedHook({ priority: 1 })
238
+ * export class AccountStatusNotificationHook implements IAccountStatusChangedHook {
239
+ * constructor(private readonly emailService: EmailService) {}
240
+ *
241
+ * async execute(metadata: AccountStatusChangedMetadata) {
242
+ * if (metadata.status === 'disabled') {
243
+ * await this.emailService.sendAccountDisabledAlert({
244
+ * to: metadata.user.email,
245
+ * reason: metadata.reason,
246
+ * });
247
+ * }
248
+ * }
249
+ * }
250
+ * ```
251
+ */
252
+ export declare function AccountStatusChangedHook(options?: HookDecoratorOptions): ClassDecorator;
253
+ /**
254
+ * Marks a provider as an email changed hook
255
+ *
256
+ * Email changed hooks are executed after a user's email address is changed, allowing you to:
257
+ * - Send notification to both old and new email addresses
258
+ * - Log email change events
259
+ * - Sync to external systems
260
+ * - Trigger security audits
261
+ *
262
+ * These hooks cannot block email changes (email is already updated) but errors are logged.
263
+ *
264
+ * @param options - Hook configuration options
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * @Injectable()
269
+ * @EmailChangedHook({ priority: 1 })
270
+ * export class EmailChangedNotificationHook implements IEmailChangedHook {
271
+ * constructor(private readonly emailService: EmailService) {}
272
+ *
273
+ * async execute(metadata: EmailChangedMetadata) {
274
+ * await this.emailService.sendEmailChangedAlert({
275
+ * oldEmail: metadata.oldEmail,
276
+ * newEmail: metadata.newEmail,
277
+ * });
278
+ * }
279
+ * }
280
+ * ```
281
+ */
282
+ export declare function EmailChangedHook(options?: HookDecoratorOptions): ClassDecorator;
283
+ /**
284
+ * Marks a provider as an account locked hook
285
+ *
286
+ * Account locked hooks are executed after an account is locked due to failed login attempts, allowing you to:
287
+ * - Send lockout notification emails
288
+ * - Log lockout events
289
+ * - Trigger security alerts
290
+ * - Provide unlock instructions
291
+ *
292
+ * These hooks cannot block lockouts (account is already locked) but errors are logged.
293
+ *
294
+ * @param options - Hook configuration options
295
+ *
296
+ * @example
297
+ * ```typescript
298
+ * @Injectable()
299
+ * @AccountLockedHook({ priority: 1 })
300
+ * export class AccountLockedNotificationHook implements IAccountLockedHook {
301
+ * constructor(private readonly emailService: EmailService) {}
302
+ *
303
+ * async execute(metadata: AccountLockedMetadata) {
304
+ * await this.emailService.sendAccountLockedAlert({
305
+ * to: metadata.user.email,
306
+ * reason: metadata.lockoutReason,
307
+ * unlockTime: metadata.unlockTime,
308
+ * });
309
+ * }
310
+ * }
311
+ * ```
312
+ */
313
+ export declare function AccountLockedHook(options?: HookDecoratorOptions): ClassDecorator;
314
+ /**
315
+ * Marks a provider as a sessions revoked hook
316
+ *
317
+ * Sessions revoked hooks are executed after user sessions are bulk revoked, allowing you to:
318
+ * - Send security notification emails
319
+ * - Log session revocation events
320
+ * - Trigger security audits
321
+ * - Alert users of forced logouts
322
+ *
323
+ * These hooks cannot block session revocation (sessions are already revoked) but errors are logged.
324
+ *
325
+ * @param options - Hook configuration options
326
+ *
327
+ * @example
328
+ * ```typescript
329
+ * @Injectable()
330
+ * @SessionsRevokedHook({ priority: 1 })
331
+ * export class SessionsRevokedNotificationHook implements ISessionsRevokedHook {
332
+ * constructor(private readonly emailService: EmailService) {}
333
+ *
334
+ * async execute(metadata: SessionsRevokedMetadata) {
335
+ * await this.emailService.sendSessionsRevokedAlert({
336
+ * to: metadata.user.email,
337
+ * revokedCount: metadata.revokedCount,
338
+ * reason: metadata.reason,
339
+ * });
340
+ * }
341
+ * }
342
+ * ```
343
+ */
344
+ export declare function SessionsRevokedHook(options?: HookDecoratorOptions): ClassDecorator;
345
+ /**
346
+ * Marks a provider as an MFA first enabled hook
347
+ *
348
+ * MFA first enabled hooks are executed after a user enables MFA for the first time, allowing you to:
349
+ * - Send congratulations emails
350
+ * - Log MFA enablement events
351
+ * - Track security adoption
352
+ * - Reward users for enabling MFA
353
+ *
354
+ * These hooks cannot block MFA enablement (MFA is already enabled) but errors are logged.
355
+ *
356
+ * @param options - Hook configuration options
357
+ *
358
+ * @example
359
+ * ```typescript
360
+ * @Injectable()
361
+ * @MFAFirstEnabledHook({ priority: 1 })
362
+ * export class MFAFirstEnabledNotificationHook implements IMFAFirstEnabledHook {
363
+ * constructor(private readonly emailService: EmailService) {}
364
+ *
365
+ * async execute(metadata: MFAFirstEnabledMetadata) {
366
+ * await this.emailService.sendMFAEnabledCongrats({
367
+ * to: metadata.user.email,
368
+ * method: metadata.firstMethod,
369
+ * });
370
+ * }
371
+ * }
372
+ * ```
373
+ */
374
+ export declare function MFAFirstEnabledHook(options?: HookDecoratorOptions): ClassDecorator;
129
375
  //# sourceMappingURL=hook.decorator.d.ts.map