@nauth-toolkit/core 0.1.58 → 0.1.60

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.
Files changed (45) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js +22 -0
  3. package/dist/bootstrap.js.map +1 -1
  4. package/dist/dto/admin-reset-password.dto.d.ts +277 -0
  5. package/dist/dto/admin-reset-password.dto.d.ts.map +1 -0
  6. package/dist/dto/admin-reset-password.dto.js +402 -0
  7. package/dist/dto/admin-reset-password.dto.js.map +1 -0
  8. package/dist/dto/index.d.ts +1 -0
  9. package/dist/dto/index.d.ts.map +1 -1
  10. package/dist/dto/index.js +1 -0
  11. package/dist/dto/index.js.map +1 -1
  12. package/dist/entities/verification-token.entity.d.ts +3 -2
  13. package/dist/entities/verification-token.entity.d.ts.map +1 -1
  14. package/dist/entities/verification-token.entity.js +2 -1
  15. package/dist/entities/verification-token.entity.js.map +1 -1
  16. package/dist/enums/auth-audit-event-type.enum.d.ts +12 -0
  17. package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
  18. package/dist/enums/auth-audit-event-type.enum.js +12 -0
  19. package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
  20. package/dist/interfaces/config.interface.d.ts +25 -0
  21. package/dist/interfaces/config.interface.d.ts.map +1 -1
  22. package/dist/interfaces/provider.interface.d.ts +10 -0
  23. package/dist/interfaces/provider.interface.d.ts.map +1 -1
  24. package/dist/interfaces/template.interface.d.ts +1 -0
  25. package/dist/interfaces/template.interface.d.ts.map +1 -1
  26. package/dist/interfaces/template.interface.js +1 -0
  27. package/dist/interfaces/template.interface.js.map +1 -1
  28. package/dist/services/auth.service.d.ts +79 -0
  29. package/dist/services/auth.service.d.ts.map +1 -1
  30. package/dist/services/auth.service.js +219 -0
  31. package/dist/services/auth.service.js.map +1 -1
  32. package/dist/services/password-reset.service.d.ts +54 -6
  33. package/dist/services/password-reset.service.d.ts.map +1 -1
  34. package/dist/services/password-reset.service.js +191 -19
  35. package/dist/services/password-reset.service.js.map +1 -1
  36. package/dist/services/password.service.d.ts.map +1 -1
  37. package/dist/services/password.service.js +5 -0
  38. package/dist/services/password.service.js.map +1 -1
  39. package/dist/templates/html-template.engine.d.ts.map +1 -1
  40. package/dist/templates/html-template.engine.js +62 -0
  41. package/dist/templates/html-template.engine.js.map +1 -1
  42. package/dist/validators/template.validator.d.ts.map +1 -1
  43. package/dist/validators/template.validator.js +1 -0
  44. package/dist/validators/template.validator.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAA+B,MAAM,uBAAuB,CAAC;AASlF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAgB,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAkB,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAOxD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC;IAEpB,yBAAyB;IACzB,UAAU,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CACrE,SAAQ,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,EAAE,oBAAoB;IACpG,0CAA0C;IAC1C,UAAU,EAAE;QACV,6CAA6C;QAC7C,UAAU,EAAE,WAAW,CAAC;QACxB,yBAAyB;QACzB,IAAI,EAAE,WAAW,CAAC;QAClB,sBAAsB;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,4CAA4C;QAC5C,aAAa,EAAE,WAAW,CAAC;KAC5B,CAAC;IAEF,oBAAoB;IACpB,OAAO,EAAE;QACP,2CAA2C;QAC3C,MAAM,EAAE,MAAM,OAAO,CAAC;QACtB,yDAAyD;QACzD,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;QACvD,qCAAqC;QACrC,YAAY,EAAE,MAAM,OAAO,CAAC;QAC5B,mCAAmC;QACnC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;QACrD,qCAAqC;QACrC,cAAc,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;QACxC,6BAA6B;QAC7B,iBAAiB,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QACrD,sBAAsB;QACtB,aAAa,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;KAC7C,CAAC;IAEF,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IAEtB,oBAAoB;IACpB,MAAM,EAAE,WAAW,CAAC;IAEpB,sBAAsB;IACtB,MAAM,EAAE,WAAW,CAAC;IAEpB,gCAAgC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAMD;;;;GAIG;AACH,qBAAa,KAAK;IAChB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CA4NnE"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAA+B,MAAM,uBAAuB,CAAC;AASlF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAgB,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAkB,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjF,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAOxD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,WAAW,CAAC;IAEpB,yBAAyB;IACzB,UAAU,EAAE,UAAU,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa,CAAC,WAAW,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CACrE,SAAQ,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,4BAA4B,CAAC,EAAE,oBAAoB;IACpG,0CAA0C;IAC1C,UAAU,EAAE;QACV,6CAA6C;QAC7C,UAAU,EAAE,WAAW,CAAC;QACxB,yBAAyB;QACzB,IAAI,EAAE,WAAW,CAAC;QAClB,sBAAsB;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,4CAA4C;QAC5C,aAAa,EAAE,WAAW,CAAC;KAC5B,CAAC;IAEF,oBAAoB;IACpB,OAAO,EAAE;QACP,2CAA2C;QAC3C,MAAM,EAAE,MAAM,OAAO,CAAC;QACtB,yDAAyD;QACzD,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;QACvD,qCAAqC;QACrC,YAAY,EAAE,MAAM,OAAO,CAAC;QAC5B,mCAAmC;QACnC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;QACrD,qCAAqC;QACrC,cAAc,EAAE,MAAM,KAAK,GAAG,SAAS,CAAC;QACxC,6BAA6B;QAC7B,iBAAiB,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QACrD,sBAAsB;QACtB,aAAa,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;KAC7C,CAAC;IAEF,6BAA6B;IAC7B,OAAO,EAAE,YAAY,CAAC;IAEtB,oBAAoB;IACpB,MAAM,EAAE,WAAW,CAAC;IAEpB,sBAAsB;IACtB,MAAM,EAAE,WAAW,CAAC;IAEpB,gCAAgC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAMD;;;;GAIG;AACH,qBAAa,KAAK;IAChB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAmPnE"}
package/dist/bootstrap.js CHANGED
@@ -81,21 +81,30 @@ class NAuth {
81
81
  // ========================================================================
82
82
  // 0. Run database migrations (adapter-owned, auto-run, no consumer burden)
83
83
  // ========================================================================
84
+ logger.debug('[PERF] Starting database migrations...');
84
85
  await (0, run_nauth_migrations_1.runNAuthMigrationsOnStartup)(config, dataSource, logger);
86
+ logger.debug('[PERF] Database migrations completed');
85
87
  // ========================================================================
86
88
  // 1. Initialize Repositories & Storage
87
89
  // ========================================================================
90
+ logger.debug('[PERF] Discovering repositories...');
88
91
  const repos = (0, get_repositories_1.getRepositories)(dataSource);
92
+ logger.debug('[PERF] Repositories discovered');
93
+ logger.debug('[PERF] Initializing storage...');
89
94
  const storage = await (0, init_storage_1.initStorage)(config, repos.rateLimitRepository, repos.storageLockRepository, logger);
95
+ logger.debug('[PERF] Storage initialized');
90
96
  // ========================================================================
91
97
  // 2. Initialize Services
92
98
  // ========================================================================
99
+ logger.debug('[PERF] Initializing services...');
93
100
  const emailProvider = config.emailProvider;
94
101
  const smsProvider = config.smsProvider;
95
102
  const services = (0, init_services_1.initServices)(config, repos, storage, logger, emailProvider, smsProvider);
103
+ logger.debug('[PERF] Services initialized');
96
104
  // ========================================================================
97
105
  // 3. Initialize Auth Flow State Machine
98
106
  // ========================================================================
107
+ logger.debug('[PERF] Initializing auth flow state machine...');
99
108
  const contextBuilder = new internal_1.AuthFlowContextBuilder(services.trustedDeviceService, services.adaptiveMFADecisionService, services.clientInfoService, logger);
100
109
  const stateMachine = new internal_1.AuthFlowStateMachineService(contextBuilder, logger);
101
110
  if (services.authChallengeHelperService) {
@@ -105,17 +114,25 @@ class NAuth {
105
114
  else {
106
115
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.INTERNAL_ERROR, 'AuthChallengeHelperService not initialized.');
107
116
  }
117
+ logger.debug('[PERF] Auth flow state machine initialized');
108
118
  // ========================================================================
109
119
  // 4. Register MFA & Social Providers
110
120
  // ========================================================================
121
+ logger.debug('[PERF] Registering providers...');
111
122
  const socialAuthStateStore = new social_auth_state_store_service_1.SocialAuthStateStore(storage, logger);
112
123
  if (config.mfa?.enabled && services.mfaService) {
124
+ logger.debug('[PERF] Registering MFA providers...');
113
125
  await (0, register_mfa_1.registerMFAProviders)(config, services.mfaService, repos.mfaDeviceRepository, repos.userRepository, logger, services.passwordService, services.emailVerificationService, services.phoneVerificationService, services.challengeService, services.auditService, services.clientInfoService);
126
+ logger.debug('[PERF] MFA providers registered');
114
127
  }
128
+ logger.debug('[PERF] Initializing social auth...');
115
129
  const socialProviders = await (0, init_social_1.initSocialAuth)(config, services.socialProviderRegistry, services.authService, services.socialAuthService, services.jwtService, services.sessionService, services.authChallengeHelperService, services.clientInfoService, logger, socialAuthStateStore, repos.userRepository, services.phoneVerificationService, services.auditService, services.trustedDeviceService, repos.socialProviderSecretRepository, services.hookRegistry);
130
+ logger.debug('[PERF] Social auth initialized');
131
+ logger.debug('[PERF] Providers registration completed');
116
132
  // ========================================================================
117
133
  // 5. Create Handlers
118
134
  // ========================================================================
135
+ logger.debug('[PERF] Creating handlers...');
119
136
  const clientInfoHandler = new client_info_handler_1.ClientInfoHandler(services.clientInfoService, services.geoLocationService, logger);
120
137
  const authHandler = new auth_handler_1.AuthHandler(services.jwtService, services.sessionService, services.authService, config, logger);
121
138
  const tokenDeliveryHandler = new token_delivery_handler_1.TokenDeliveryHandler(config, logger);
@@ -124,9 +141,11 @@ class NAuth {
124
141
  ? new csrf_service_1.CsrfService(config)
125
142
  : undefined;
126
143
  const csrfHandler = csrfService ? new csrf_handler_1.CsrfHandler(csrfService, config, logger) : null;
144
+ logger.debug('[PERF] Handlers created');
127
145
  // ========================================================================
128
146
  // 6. Register Middleware with Adapter
129
147
  // ========================================================================
148
+ logger.debug('[PERF] Registering middleware with adapter...');
130
149
  const middleware = {
131
150
  // ClientInfo MUST be first - initializes context
132
151
  clientInfo: adapter.registerMiddleware('clientInfo', clientInfoHandler.handle.bind(clientInfoHandler), {
@@ -197,12 +216,15 @@ class NAuth {
197
216
  getCurrentSession: () => context_storage_1.ContextStorage.get('CURRENT_SESSION'),
198
217
  getClientInfo: () => context_storage_1.ContextStorage.get('CLIENT_INFO'),
199
218
  };
219
+ logger.debug('[PERF] Middleware registered with adapter');
200
220
  // ========================================================================
201
221
  // 8. Build and Return Instance
202
222
  // ========================================================================
223
+ logger.debug('[PERF] Building NAuth instance...');
203
224
  // Exclude internal services from public API
204
225
  const { challengeService, authChallengeHelperService, ...publicServices } = services;
205
226
  logger.log(`NAuth initialized successfully with ${adapter.name}`);
227
+ logger.debug('[PERF] NAuth initialization completed');
206
228
  return {
207
229
  ...publicServices,
208
230
  ...socialProviders,
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAIH,uDAAmD;AACnD,kEAA8D;AAC9D,+DAAyD;AAEzD,gEAA4D;AAC5D,6DAAyD;AAEzD,WAAW;AACX,wEAAmE;AACnE,0DAAsD;AACtD,8EAAyE;AACzE,0DAAsD;AACtD,0DAAsD;AAEtD,gBAAgB;AAChB,qEAAiE;AACjE,6DAAyD;AACzD,+DAA0E;AAC1E,6DAAkE;AAClE,2DAAiF;AACjF,6EAAiF;AACjF,yCAAiF;AAGjF,gGAAkF;AA4ElF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;GAIG;AACH,MAAa,KAAK;IAChB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAqB;QACvC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,gCAAc,EAAE,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;QAEzD,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,IAAA,kDAA2B,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAE9D,2EAA2E;QAC3E,uCAAuC;QACvC,2EAA2E;QAC3E,MAAM,KAAK,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAW,EAAC,MAAM,EAAE,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAE1G,2EAA2E;QAC3E,yBAAyB;QACzB,2EAA2E;QAC3E,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,QAAQ,GAAkB,IAAA,4BAAY,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAEzG,2EAA2E;QAC3E,wCAAwC;QACxC,2EAA2E;QAC3E,MAAM,cAAc,GAAG,IAAI,iCAAsB,CAC/C,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,0BAA0B,EACnC,QAAQ,CAAC,iBAAiB,EAC1B,MAAM,CACP,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,sCAA2B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAE7E,IAAI,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YACvC,QAAQ,CAAC,0BAAiE,CAAC,YAAY,GAAG,YAAY,CAAC;YACvG,QAAQ,CAAC,0BAAiE,CAAC,cAAc,GAAG,cAAc,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,gCAAc,CAAC,gCAAa,CAAC,cAAc,EAAE,6CAA6C,CAAC,CAAC;QACxG,CAAC;QAED,2EAA2E;QAC3E,qCAAqC;QACrC,2EAA2E;QAC3E,MAAM,oBAAoB,GAAG,IAAI,sDAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,IAAA,mCAAoB,EACxB,MAAM,EACN,QAAQ,CAAC,UAAU,EACnB,KAAK,CAAC,mBAAoB,EAC1B,KAAK,CAAC,cAAc,EACpB,MAAM,EACN,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,wBAAwB,EACjC,QAAQ,CAAC,wBAAwB,EACjC,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,iBAAiB,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAyB,MAAM,IAAA,4BAAc,EAChE,MAAM,EACN,QAAQ,CAAC,sBAAsB,EAC/B,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,iBAAiB,EAC1B,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,0BAA0B,EACnC,QAAQ,CAAC,iBAAiB,EAC1B,MAAM,EACN,oBAAoB,EACpB,KAAK,CAAC,cAAc,EACpB,QAAQ,CAAC,wBAAwB,EACjC,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,oBAAoB,EAC7B,KAAK,CAAC,8BAA8B,EACpC,QAAQ,CAAC,YAAY,CACtB,CAAC;QAEF,2EAA2E;QAC3E,qBAAqB;QACrB,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,IAAI,uCAAiB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAEjH,MAAM,WAAW,GAAG,IAAI,0BAAW,CACjC,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,WAAW,EACpB,MAAM,EACN,MAAM,CACP,CAAC;QAEF,MAAM,oBAAoB,GAAG,IAAI,6CAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtE,kDAAkD;QAClD,MAAM,WAAW,GACf,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,QAAQ;YACrF,CAAC,CAAC,IAAI,0BAAW,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,0BAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEtF,2EAA2E;QAC3E,sCAAsC;QACtC,2EAA2E;QAC3E,MAAM,UAAU,GAAG;YACjB,iDAAiD;YACjD,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;gBACrG,kBAAkB,EAAE,IAAI;aACzB,CAAC;YAEF,eAAe;YACf,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE9E,mCAAmC;YACnC,IAAI,EAAE,WAAW;gBACf,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1E,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAkB,EAAE,IAAmB,EAAE,IAAgB,EAAE,EAAE;oBACrG,MAAM,IAAI,EAAE,CAAC;gBACf,CAAC,CAAC;YAEN,wCAAwC;YACxC,aAAa,EAAE,OAAO,CAAC,2BAA2B,CAChD,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAC/D;SACF,CAAC;QAEF,2EAA2E;QAC3E,oBAAoB;QACpB,2EAA2E;QAC3E,MAAM,OAAO,GAAG;YACd;;eAEG;YACH,MAAM,EAAE,GAAG,EAAE,CACX,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAiB,EAAE,IAAmB,EAAE,IAAgB,EAAE,EAAE;gBAChG,GAAG,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC;gBAClC,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC;YAEJ;;;;eAIG;YACH,WAAW,EAAE,CAAC,OAA4B,EAAE,EAAE,CAC5C,OAAO,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,GAAiB,EAAE,GAAkB,EAAE,IAAgB,EAAE,EAAE;gBACpG,gDAAgD;gBAChD,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC7D,MAAM,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;gBACtC,CAAC;gBAED,yBAAyB;gBACzB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,cAAc;wBACrB,OAAO,EAAE,yBAAyB;wBAClC,IAAI,EAAE,eAAe;qBACtB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC;YAEJ;;;;;eAKG;YACH,YAAY,EAAE,GAAG,EAAE,CACjB,OAAO,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,IAAkB,EAAE,IAAmB,EAAE,IAAgB,EAAE,EAAE;gBACvG,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC;YAEJ;;eAEG;YACH,aAAa,EAAE,CAAC,IAAwB,EAAE,EAAE,CAC1C,OAAO,CAAC,kBAAkB,CACxB,qBAAqB,EACrB,CAAC,GAAiB,EAAE,IAAmB,EAAE,IAAgB,EAAE,EAAE;gBAC3D,GAAG,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACzC,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CACF;YAEH,6CAA6C;YAC7C,cAAc,EAAE,GAAG,EAAE,CAAC,gCAAc,CAAC,GAAG,CAAQ,cAAc,CAAC;YAC/D,iBAAiB,EAAE,GAAG,EAAE,CAAC,gCAAc,CAAC,GAAG,CAAkB,iBAAiB,CAAC;YAC/E,aAAa,EAAE,GAAG,EAAE,CAAC,gCAAc,CAAC,GAAG,CAAa,aAAa,CAAC;SACnE,CAAC;QAEF,2EAA2E;QAC3E,+BAA+B;QAC/B,2EAA2E;QAE3E,4CAA4C;QAC5C,MAAM,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,GAAG,cAAc,EAAE,GAAG,QAAQ,CAAC;QAErF,MAAM,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAElE,OAAO;YACL,GAAG,cAAc;YACjB,GAAG,eAAe;YAClB,UAAU;YACV,OAAO;YACP,OAAO;YACP,MAAM;YACN,MAAM;YACN,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,WAAW;SACZ,CAAC;IACJ,CAAC;CACF;AA5OD,sBA4OC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Admin Reset Password Request DTO
3
+ *
4
+ * Request DTO for admin-initiated password reset workflow.
5
+ * Allows resetting a user's password by identifier (email, username, phone, or sub).
6
+ *
7
+ * Security:
8
+ * - Admin-only operation (should be protected by admin guard)
9
+ * - User identifier validated
10
+ * - Code + optional link delivery (like email verification)
11
+ * - Configurable expiry (default: 1 hour)
12
+ * - Optional immediate session revocation
13
+ * - No rate limiting (admin bypass)
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * // With link for consumer app custom UI
18
+ * await authService.adminResetPassword({
19
+ * identifier: 'user@example.com',
20
+ * baseUrl: 'https://myapp.com/reset-password',
21
+ * deliveryMethod: 'email',
22
+ * revokeSessions: true
23
+ * });
24
+ *
25
+ * // Code only (no link)
26
+ * await authService.adminResetPassword({
27
+ * identifier: 'user@example.com',
28
+ * deliveryMethod: 'email'
29
+ * });
30
+ * ```
31
+ */
32
+ /**
33
+ * Request DTO for admin password reset
34
+ */
35
+ export declare class AdminResetPasswordDTO {
36
+ /**
37
+ * User identifier (email, username, phone, or sub/UUID)
38
+ *
39
+ * Validation:
40
+ * - Must be a string
41
+ * - Min 1 character
42
+ * - Max 255 characters
43
+ *
44
+ * Sanitization:
45
+ * - Trimmed
46
+ * - Lowercased if email format detected
47
+ *
48
+ * @example "user@example.com" | "johndoe" | "+1234567890" | "uuid"
49
+ */
50
+ identifier: string;
51
+ /**
52
+ * Delivery method for reset code
53
+ *
54
+ * Validation:
55
+ * - Must be 'email' or 'sms'
56
+ * - Optional (defaults to 'email')
57
+ *
58
+ * @default 'email'
59
+ * @example 'email' | 'sms'
60
+ */
61
+ deliveryMethod?: 'email' | 'sms';
62
+ /**
63
+ * Base URL for building reset link
64
+ *
65
+ * Validation:
66
+ * - Must be valid URL with http:// or https://
67
+ * - Max 2048 characters
68
+ * - Optional
69
+ *
70
+ * Sanitization:
71
+ * - Trimmed
72
+ *
73
+ * WHY: Allows consumer apps to build custom reset UI (e.g., myapp.com/reset-password?token=xxx)
74
+ * Like email verification, supports both code AND link delivery
75
+ *
76
+ * @example "https://myapp.com/reset-password"
77
+ */
78
+ baseUrl?: string;
79
+ /**
80
+ * Code expiry in seconds
81
+ *
82
+ * Validation:
83
+ * - Must be number
84
+ * - Min 300 seconds (5 minutes)
85
+ * - Max 86400 seconds (24 hours)
86
+ * - Optional
87
+ *
88
+ * @default 3600 (1 hour - longer than user-initiated 15min)
89
+ * @example 3600
90
+ */
91
+ codeExpiresIn?: number;
92
+ /**
93
+ * Revoke all active sessions immediately (before sending email)
94
+ *
95
+ * Validation:
96
+ * - Must be boolean
97
+ * - Optional
98
+ *
99
+ * WHY: Admin can lock user out immediately while sending reset email
100
+ * Different from confirmAdminResetPassword which always revokes on completion
101
+ *
102
+ * @default false
103
+ * @example true
104
+ */
105
+ revokeSessions?: boolean;
106
+ /**
107
+ * Reason for admin-initiated reset (for audit trail)
108
+ *
109
+ * Validation:
110
+ * - Must be string
111
+ * - Max 500 characters
112
+ * - Optional
113
+ *
114
+ * Sanitization:
115
+ * - Trimmed
116
+ *
117
+ * @example "User reported account compromise"
118
+ */
119
+ reason?: string;
120
+ }
121
+ /**
122
+ * Admin Reset Password Response DTO
123
+ *
124
+ * Response DTO for admin-initiated password reset request.
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * {
129
+ * success: true,
130
+ * destination: 'u***r@example.com',
131
+ * deliveryMedium: 'email',
132
+ * expiresIn: 3600,
133
+ * sessionsRevoked: 3
134
+ * }
135
+ * ```
136
+ */
137
+ export declare class AdminResetPasswordResponseDTO {
138
+ /**
139
+ * Success indicator
140
+ * Always true on successful request
141
+ */
142
+ success: boolean;
143
+ /**
144
+ * Masked destination where code was sent
145
+ * @example "u***r@example.com" | "***-***-5678"
146
+ */
147
+ destination?: string;
148
+ /**
149
+ * Delivery medium used
150
+ * @example "email" | "sms"
151
+ */
152
+ deliveryMedium?: 'email' | 'sms';
153
+ /**
154
+ * Code expiry in seconds
155
+ * @example 3600
156
+ */
157
+ expiresIn?: number;
158
+ /**
159
+ * Number of sessions revoked (if revokeSessions was true)
160
+ * @example 3
161
+ */
162
+ sessionsRevoked?: number;
163
+ }
164
+ /**
165
+ * Confirm Admin Reset Password DTO
166
+ *
167
+ * User completes admin-initiated password reset with code OR token.
168
+ * Accepts either short code from email/SMS OR long token from link.
169
+ *
170
+ * Security:
171
+ * - One of code or token is required
172
+ * - Token-based: No attempt tracking (single use, long random)
173
+ * - Code-based: Attempt tracking (max 3 attempts)
174
+ * - Always revokes all sessions on completion
175
+ * - Always sets mustChangePassword flag
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * // With code (from email/SMS)
180
+ * await authService.confirmAdminResetPassword({
181
+ * identifier: 'user@example.com',
182
+ * code: '123456',
183
+ * newPassword: 'NewSecurePass123!'
184
+ * });
185
+ *
186
+ * // With token (from link)
187
+ * await authService.confirmAdminResetPassword({
188
+ * identifier: 'user@example.com',
189
+ * token: '64-char-hex-token-from-link',
190
+ * newPassword: 'NewSecurePass123!'
191
+ * });
192
+ * ```
193
+ */
194
+ export declare class ConfirmAdminResetPasswordDTO {
195
+ /**
196
+ * User identifier (email, username, phone, or sub/UUID)
197
+ *
198
+ * Validation:
199
+ * - Must be a string
200
+ * - Min 1 character
201
+ * - Max 255 characters
202
+ *
203
+ * Sanitization:
204
+ * - Trimmed
205
+ * - Lowercased if email format detected
206
+ *
207
+ * @example "user@example.com"
208
+ */
209
+ identifier: string;
210
+ /**
211
+ * Verification code from email/SMS (6-10 digits)
212
+ *
213
+ * Validation:
214
+ * - Must be string
215
+ * - Length 6-10 characters
216
+ * - Optional (token OR code required)
217
+ *
218
+ * Sanitization:
219
+ * - Trimmed
220
+ *
221
+ * WHY: Short code for manual entry, subject to attempt tracking
222
+ *
223
+ * @example "123456"
224
+ */
225
+ code?: string;
226
+ /**
227
+ * Verification token from link (64-char hex)
228
+ *
229
+ * Validation:
230
+ * - Must be string
231
+ * - Optional (token OR code required)
232
+ *
233
+ * Sanitization:
234
+ * - Trimmed
235
+ *
236
+ * WHY: Long token from link, single-use, no attempt tracking needed
237
+ *
238
+ * @example "a1b2c3d4..."
239
+ */
240
+ token?: string;
241
+ /**
242
+ * New password
243
+ *
244
+ * Validation:
245
+ * - Must be string
246
+ * - Min 8 characters (security requirement)
247
+ * - Max 128 characters (prevents DoS)
248
+ *
249
+ * Note: NOT trimmed (passwords can have leading/trailing spaces)
250
+ * Additional checks in service layer:
251
+ * - Password strength (if configured)
252
+ * - Password history (prevent reuse)
253
+ *
254
+ * @example "NewSecurePassword123!"
255
+ */
256
+ newPassword: string;
257
+ }
258
+ /**
259
+ * Confirm Admin Reset Password Response DTO
260
+ *
261
+ * Response DTO for successful admin password reset completion.
262
+ *
263
+ * @example
264
+ * ```typescript
265
+ * {
266
+ * success: true
267
+ * }
268
+ * ```
269
+ */
270
+ export declare class ConfirmAdminResetPasswordResponseDTO {
271
+ /**
272
+ * Success indicator
273
+ * Always true on successful reset
274
+ */
275
+ success: boolean;
276
+ }
277
+ //# sourceMappingURL=admin-reset-password.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-reset-password.dto.d.ts","sourceRoot":"","sources":["../../src/dto/admin-reset-password.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAkBH;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;;;;OAaG;IAgBH,UAAU,EAAG,MAAM,CAAC;IAEpB;;;;;;;;;OASG;IAGH,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAEjC;;;;;;;;;;;;;;;OAeG;IAaH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;OAWG;IAKH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;;;;OAYG;IAGH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;;;OAYG;IAUH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,6BAA6B;IACxC;;;OAGG;IACH,OAAO,EAAG,OAAO,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAEjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;;;;;;;OAaG;IAgBH,UAAU,EAAG,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;OAcG;IAUH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;OAaG;IASH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;;OAcG;IAKH,WAAW,EAAG,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oCAAoC;IAC/C;;;OAGG;IACH,OAAO,EAAG,OAAO,CAAC;CACnB"}