mongodb-dynamic-api 4.10.0 → 4.12.0

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 (57) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.json +1 -1
  3. package/src/gateways/base.gateway.d.ts +2 -2
  4. package/src/gateways/base.gateway.js +2 -3
  5. package/src/gateways/base.gateway.js.map +1 -1
  6. package/src/helpers/resolve-rooms.helper.d.ts +1 -1
  7. package/src/helpers/resolve-rooms.helper.js +2 -2
  8. package/src/helpers/resolve-rooms.helper.js.map +1 -1
  9. package/src/interfaces/dynamic-api-ability.interface.d.ts +1 -1
  10. package/src/interfaces/dynamic-api-broadcast-config.interface.d.ts +4 -4
  11. package/src/interfaces/dynamic-api-route-config.interface.d.ts +2 -2
  12. package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +21 -21
  13. package/src/modules/auth/auth.helper.d.ts +13 -3
  14. package/src/modules/auth/auth.helper.js +20 -6
  15. package/src/modules/auth/auth.helper.js.map +1 -1
  16. package/src/modules/auth/auth.module.js +24 -3
  17. package/src/modules/auth/auth.module.js.map +1 -1
  18. package/src/modules/auth/dtos/send-otp-code.dto.d.ts +3 -0
  19. package/src/modules/auth/dtos/send-otp-code.dto.js +24 -0
  20. package/src/modules/auth/dtos/send-otp-code.dto.js.map +1 -0
  21. package/src/modules/auth/dtos/verify-otp-code.dto.d.ts +4 -0
  22. package/src/modules/auth/dtos/verify-otp-code.dto.js +31 -0
  23. package/src/modules/auth/dtos/verify-otp-code.dto.js.map +1 -0
  24. package/src/modules/auth/guards/index.d.ts +1 -0
  25. package/src/modules/auth/guards/index.js +1 -0
  26. package/src/modules/auth/guards/index.js.map +1 -1
  27. package/src/modules/auth/guards/passwordless/passwordless.guard.d.ts +6 -0
  28. package/src/modules/auth/guards/passwordless/passwordless.guard.js +30 -0
  29. package/src/modules/auth/guards/passwordless/passwordless.guard.js.map +1 -0
  30. package/src/modules/auth/interfaces/auth-controller.interface.d.ts +7 -0
  31. package/src/modules/auth/interfaces/auth-options.interface.d.ts +8 -1
  32. package/src/modules/auth/interfaces/auth-service.interface.d.ts +2 -0
  33. package/src/modules/auth/mixins/auth-controller.mixin.d.ts +11 -2
  34. package/src/modules/auth/mixins/auth-controller.mixin.js +39 -1
  35. package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
  36. package/src/modules/auth/models/otp-code.model.d.ts +15 -0
  37. package/src/modules/auth/models/otp-code.model.js +38 -0
  38. package/src/modules/auth/models/otp-code.model.js.map +1 -0
  39. package/src/modules/auth/services/base-auth.service.d.ts +7 -2
  40. package/src/modules/auth/services/base-auth.service.js +38 -1
  41. package/src/modules/auth/services/base-auth.service.js.map +1 -1
  42. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.d.ts +2 -2
  43. package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
  44. package/src/version.json +1 -1
  45. package/test/for-feature/room-broadcast.e2e-spec.js +37 -0
  46. package/test/for-feature/room-broadcast.e2e-spec.js.map +1 -1
  47. package/test/for-feature/websockets.e2e-spec.js.map +1 -1
  48. package/test/for-root/auth-api-passwordless.e2e-spec.d.ts +1 -0
  49. package/test/for-root/auth-api-passwordless.e2e-spec.js +150 -0
  50. package/test/for-root/auth-api-passwordless.e2e-spec.js.map +1 -0
  51. package/test/shared/entities/index.d.ts +1 -0
  52. package/test/shared/entities/index.js +1 -0
  53. package/test/shared/entities/index.js.map +1 -1
  54. package/test/shared/entities/passwordless-user.factory.d.ts +12 -0
  55. package/test/shared/entities/passwordless-user.factory.js +31 -0
  56. package/test/shared/entities/passwordless-user.factory.js.map +1 -0
  57. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  Changelog
2
2
 
3
+ ## [4.12.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.11.0...v4.12.0) (2026-05-26)
4
+
5
+ ### auth
6
+
7
+ * **auth:** add passwordless OTP flow ([858cd49](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/858cd49e348127412e8eaf86f06d94d0784bef63))
8
+
9
+ ## [4.11.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.10.0...v4.11.0) (2026-05-25)
10
+
11
+ ### callbacks
12
+
13
+ * **callbacks:** add BodyDTO generic to beforeSave context types ([4c04c50](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/4c04c50f57e9b1e96d14f1eab83b45f76e2afd71))
14
+
15
+ ### e2e
16
+
17
+ * **e2e:** cast user to UserEntity in websockets broadcast enabled predicate ([6ac68ef](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/6ac68ef1a5f206d129ee6395a7afb55dc1714962))
18
+
19
+ ### broadcast
20
+
21
+ * **broadcast:** pass socket.user to rooms callback ([da6177f](https://github.com/MikeDev75015/mongodb-dynamic-api/commit/da6177f307b3afb14e3b56bfef25c39d3ee9b514))
22
+
3
23
  ## [4.10.0](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v4.9.0...v4.10.0) (2026-05-25)
4
24
 
5
25
  ### custom-route
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "4.10.0",
3
+ "version": "4.12.0",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -1,5 +1,5 @@
1
1
  import { JwtService } from '@nestjs/jwt';
2
- import { DynamicApiBroadcastConfig, ExtendedSocket } from '../interfaces';
2
+ import { BroadcastConfig, ExtendedSocket } from '../interfaces';
3
3
  import { BaseEntity } from '../models';
4
4
  export declare abstract class BaseGateway<Entity extends BaseEntity> {
5
5
  protected readonly jwtService: JwtService;
@@ -7,5 +7,5 @@ export declare abstract class BaseGateway<Entity extends BaseEntity> {
7
7
  protected constructor(jwtService: JwtService);
8
8
  protected addUserToSocket(socket: ExtendedSocket<Entity>, isPublic: boolean): void;
9
9
  protected isValidManyBody<T extends object>(body: T): boolean;
10
- protected broadcastIfNeeded<ResponseData extends object>(socket: ExtendedSocket, event: string, data: ResponseData[], broadcastConfig?: DynamicApiBroadcastConfig<ResponseData>): void;
10
+ protected broadcastIfNeeded<ResponseData extends object>(socket: ExtendedSocket, event: string, data: ResponseData[], broadcastConfig?: BroadcastConfig<ResponseData>): void;
11
11
  }
@@ -4,7 +4,6 @@ exports.BaseGateway = void 0;
4
4
  const websockets_1 = require("@nestjs/websockets");
5
5
  const dynamic_api_module_1 = require("../dynamic-api.module");
6
6
  const helpers_1 = require("../helpers");
7
- const ws_config_store_1 = require("../helpers/ws-config.store");
8
7
  const logger_1 = require("../logger");
9
8
  class BaseGateway {
10
9
  constructor(jwtService) {
@@ -57,8 +56,8 @@ class BaseGateway {
57
56
  return;
58
57
  }
59
58
  const broadcastEvent = eventName || event;
60
- const resolvedRooms = (0, helpers_1.resolveRooms)(rooms, broadcastData);
61
- if (ws_config_store_1.DynamicApiWsConfigStore.debug) {
59
+ const resolvedRooms = (0, helpers_1.resolveRooms)(rooms, broadcastData, socket.user);
60
+ if (helpers_1.DynamicApiWsConfigStore.debug) {
62
61
  this.logger.log(`[WS] broadcastIfNeeded – event=${broadcastEvent}, rooms=${resolvedRooms ? JSON.stringify(resolvedRooms) : 'all'}, items=${broadcastData.length}`);
63
62
  }
64
63
  if (resolvedRooms) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.gateway.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/gateways/base.gateway.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { BroadcastRooms } from '../interfaces';
2
- declare function resolveRooms<T extends object>(rooms: BroadcastRooms<T> | undefined, data: T[]): string[] | undefined;
2
+ declare function resolveRooms<T extends object, User = unknown>(rooms: BroadcastRooms<T, User> | undefined, data: T[], user?: User): string[] | undefined;
3
3
  export { resolveRooms };
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveRooms = resolveRooms;
4
- function resolveRooms(rooms, data) {
4
+ function resolveRooms(rooms, data, user) {
5
5
  if (!rooms) {
6
6
  return undefined;
7
7
  }
8
8
  if (typeof rooms === 'function') {
9
9
  const resolved = data.flatMap((item) => {
10
- const result = rooms(item);
10
+ const result = rooms(item, user);
11
11
  return Array.isArray(result) ? result : [result];
12
12
  });
13
13
  return [...new Set(resolved)];
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-rooms.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-rooms.helper.ts"],"names":[],"mappings":";;AAiCS,oCAAY;AApBrB,SAAS,YAAY,CACnB,KAAoC,EACpC,IAAS;IAET,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"resolve-rooms.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/resolve-rooms.helper.ts"],"names":[],"mappings":";;AAkCS,oCAAY;AArBrB,SAAS,YAAY,CACnB,KAA0C,EAC1C,IAAS,EACT,IAAW;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -4,7 +4,7 @@ type PredicateBehavior = 'filter' | 'throw';
4
4
  type AbilityPredicate<Entity extends BaseEntity, User = any> = (entity: Entity, user: User) => boolean;
5
5
  type AuthAbilityPredicate<User = any, Body = unknown> = (user: User, body?: Body) => boolean;
6
6
  type BroadcastAbilityPredicate<ResponseData extends object, User = any> = (data: ResponseData, user: User) => boolean;
7
- type BroadcastRooms<T extends object> = string | string[] | ((data: T) => string | string[]);
7
+ type BroadcastRooms<T extends object, User = unknown> = string | string[] | ((data: T, user?: User) => string | string[]);
8
8
  type ControllerAbilityPredicate<Entity extends BaseEntity> = {
9
9
  targets: RouteType[];
10
10
  predicate: AbilityPredicate<Entity>;
@@ -1,7 +1,7 @@
1
1
  import { BroadcastAbilityPredicate, BroadcastRooms } from './dynamic-api-ability.interface';
2
- interface DynamicApiBroadcastConfig<ResponseData extends object> {
3
- enabled: boolean | BroadcastAbilityPredicate<ResponseData>;
2
+ interface BroadcastConfig<ResponseData extends object, User = unknown> {
3
+ enabled: boolean | BroadcastAbilityPredicate<ResponseData, User>;
4
4
  eventName?: string;
5
- rooms?: BroadcastRooms<ResponseData>;
5
+ rooms?: BroadcastRooms<ResponseData, User>;
6
6
  }
7
- export { DynamicApiBroadcastConfig };
7
+ export { BroadcastConfig };
@@ -1,7 +1,7 @@
1
1
  import { NestInterceptor, Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { BaseEntity } from '../models';
3
3
  import { AbilityPredicate, PredicateBehavior } from './dynamic-api-ability.interface';
4
- import { DynamicApiBroadcastConfig } from './dynamic-api-broadcast-config.interface';
4
+ import { BroadcastConfig } from './dynamic-api-broadcast-config.interface';
5
5
  import { CascadeConfig } from './dynamic-api-cascade-config.interface';
6
6
  import { DTOsBundle } from './dynamic-api-route-dtos-bundle.type';
7
7
  import { RouteType } from './dynamic-api-route-type.type';
@@ -26,7 +26,7 @@ interface DynamicApiRouteConfig<Entity extends BaseEntity> {
26
26
  callback?: AfterSaveCallback<Entity>;
27
27
  webSocket?: DynamicApiWebSocketOptions;
28
28
  eventName?: string;
29
- broadcast?: DynamicApiBroadcastConfig<Entity>;
29
+ broadcast?: BroadcastConfig<Entity>;
30
30
  isArrayResponse?: boolean;
31
31
  useInterceptors?: Type<NestInterceptor>[];
32
32
  fromUser?: FromUserMap<Entity>;
@@ -1,22 +1,22 @@
1
1
  import { BaseEntity } from '../models';
2
2
  import { CallbackMethods } from './dynamic-api-service-callback.interface';
3
- type BeforeSaveCreateContext<Entity extends BaseEntity> = {
4
- toCreate: Partial<Entity>;
3
+ type BeforeSaveCreateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
4
+ toCreate: Partial<BodyDTO>;
5
5
  };
6
- type BeforeSaveCreateManyContext<Entity extends BaseEntity> = {
7
- toCreate: Partial<Entity>[];
6
+ type BeforeSaveCreateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
7
+ toCreate: Partial<BodyDTO>[];
8
8
  };
9
- type BeforeSaveUpdateContext<Entity extends BaseEntity> = {
9
+ type BeforeSaveUpdateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
10
10
  id: string;
11
- update: Partial<Entity>;
11
+ update: Partial<BodyDTO>;
12
12
  };
13
- type BeforeSaveUpdateManyContext<Entity extends BaseEntity> = {
13
+ type BeforeSaveUpdateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
14
14
  ids: string[];
15
- update: Partial<Entity>;
15
+ update: Partial<BodyDTO>;
16
16
  };
17
- type BeforeSaveReplaceContext<Entity extends BaseEntity> = {
17
+ type BeforeSaveReplaceContext<Entity extends BaseEntity, BodyDTO = Entity> = {
18
18
  id: string;
19
- replacement: Partial<Entity>;
19
+ replacement: Partial<BodyDTO>;
20
20
  };
21
21
  type BeforeSaveDeleteContext = {
22
22
  id: string;
@@ -24,13 +24,13 @@ type BeforeSaveDeleteContext = {
24
24
  type BeforeSaveDeleteManyContext = {
25
25
  ids: string[];
26
26
  };
27
- type BeforeSaveDuplicateContext<Entity extends BaseEntity> = {
27
+ type BeforeSaveDuplicateContext<Entity extends BaseEntity, BodyDTO = Entity> = {
28
28
  id: string;
29
- override?: Partial<Entity>;
29
+ override?: Partial<BodyDTO>;
30
30
  };
31
- type BeforeSaveDuplicateManyContext<Entity extends BaseEntity> = {
31
+ type BeforeSaveDuplicateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = {
32
32
  ids: string[];
33
- override?: Partial<Entity>;
33
+ override?: Partial<BodyDTO>;
34
34
  };
35
35
  type BeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>>;
36
36
  type BeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[] | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<Partial<Entity>[]>;
@@ -40,15 +40,15 @@ type AnyBeforeSaveCallback<Entity extends BaseEntity, User = unknown> = BeforeSa
40
40
  type BeforeDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entity: Entity | undefined, context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
41
41
  type BeforeDeleteManyCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = (entities: Entity[], context: Context, methods: CallbackMethods, user?: User) => Promise<void>;
42
42
  type AnyBeforeDeleteCallback<Entity extends BaseEntity, User = unknown> = BeforeDeleteCallback<Entity, BeforeSaveDeleteContext, User> | BeforeDeleteManyCallback<Entity, BeforeSaveDeleteManyContext, User>;
43
- type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity> = BeforeSaveCreateContext<Entity>;
44
- type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity> = BeforeSaveCreateManyContext<Entity>;
45
- type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity> = BeforeSaveUpdateContext<Entity>;
46
- type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity> = BeforeSaveUpdateManyContext<Entity>;
47
- type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity> = BeforeSaveReplaceContext<Entity>;
43
+ type DynamicApiServiceBeforeSaveCreateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveCreateContext<Entity, BodyDTO>;
44
+ type DynamicApiServiceBeforeSaveCreateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveCreateManyContext<Entity, BodyDTO>;
45
+ type DynamicApiServiceBeforeSaveUpdateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveUpdateContext<Entity, BodyDTO>;
46
+ type DynamicApiServiceBeforeSaveUpdateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveUpdateManyContext<Entity, BodyDTO>;
47
+ type DynamicApiServiceBeforeSaveReplaceContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveReplaceContext<Entity, BodyDTO>;
48
48
  type DynamicApiServiceBeforeSaveDeleteContext = BeforeSaveDeleteContext;
49
49
  type DynamicApiServiceBeforeSaveDeleteManyContext = BeforeSaveDeleteManyContext;
50
- type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity> = BeforeSaveDuplicateContext<Entity>;
51
- type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity> = BeforeSaveDuplicateManyContext<Entity>;
50
+ type DynamicApiServiceBeforeSaveDuplicateContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveDuplicateContext<Entity, BodyDTO>;
51
+ type DynamicApiServiceBeforeSaveDuplicateManyContext<Entity extends BaseEntity, BodyDTO = Entity> = BeforeSaveDuplicateManyContext<Entity, BodyDTO>;
52
52
  type DynamicApiServiceBeforeSaveCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveCallback<Entity, Context, User>;
53
53
  type DynamicApiServiceBeforeSaveListCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveListCallback<Entity, Context, User>;
54
54
  type DynamicApiServiceBeforeSaveDeleteCallback<Entity extends BaseEntity, Context = Record<string, unknown>, User = unknown> = BeforeSaveDeleteCallback<Entity, Context, User>;
@@ -1,12 +1,21 @@
1
1
  import { Type, ValidationPipeOptions } from '@nestjs/common';
2
2
  import { AuthAbilityPredicate, AfterSaveCallback, DynamicAPIServiceProvider, GatewayOptions } from '../../interfaces';
3
3
  import { BaseEntity } from '../../models';
4
- import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions } from './interfaces';
4
+ import { AuthControllerConstructor, AuthGatewayConstructor, DynamicApiGetAccountOptions, DynamicApiLoginOptions, DynamicApiRefreshTokenOptions, DynamicApiRegisterOptions, DynamicApiResetPasswordOptions, DynamicApiUpdateAccountOptions, PasswordlessOptions } from './interfaces';
5
5
  declare const authServiceProviderName = "DynamicApiAuthService";
6
6
  declare const authGatewayProviderName = "DynamicApiAuthGateway";
7
7
  declare const localStrategyProviderName = "DynamicApiLocalStrategy";
8
8
  declare function createLocalStrategyProvider<Entity extends BaseEntity>(loginField: keyof Entity, passwordField: keyof Entity, abilityPredicate: AuthAbilityPredicate | undefined, customValidate?: (req: any) => Promise<Entity | null>, useStrategy?: Type<any>): DynamicAPIServiceProvider;
9
- declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginField, passwordField, additionalFields, callback: loginCallback }: DynamicApiLoginOptions<Entity>, getAccountCallback: AfterSaveCallback<Entity> | undefined, register: DynamicApiRegisterOptions<Entity> | undefined, resetPasswordOptions: DynamicApiResetPasswordOptions<Entity> | undefined, updateAccount: DynamicApiUpdateAccountOptions<Entity> | undefined, refreshToken?: DynamicApiRefreshTokenOptions<Entity>): DynamicAPIServiceProvider;
9
+ type AuthServiceProviderOptions<Entity extends BaseEntity> = {
10
+ loginOptions: DynamicApiLoginOptions<Entity>;
11
+ getAccountCallback?: AfterSaveCallback<Entity>;
12
+ register?: DynamicApiRegisterOptions<Entity>;
13
+ resetPasswordOptions?: DynamicApiResetPasswordOptions<Entity>;
14
+ updateAccount?: DynamicApiUpdateAccountOptions<Entity>;
15
+ refreshToken?: DynamicApiRefreshTokenOptions<Entity>;
16
+ passwordlessOptions?: PasswordlessOptions<Entity>;
17
+ };
18
+ declare function createAuthServiceProvider<Entity extends BaseEntity>(userEntity: Type<Entity>, { loginOptions: { loginField, passwordField, additionalFields, callback: loginCallback }, getAccountCallback, register, resetPasswordOptions, updateAccount, refreshToken, passwordlessOptions, }: AuthServiceProviderOptions<Entity>): DynamicAPIServiceProvider;
10
19
  type CreateAuthControllerOptions<Entity extends BaseEntity> = {
11
20
  getAccountOptions?: DynamicApiGetAccountOptions<Entity>;
12
21
  registerOptions?: DynamicApiRegisterOptions<Entity>;
@@ -14,6 +23,7 @@ type CreateAuthControllerOptions<Entity extends BaseEntity> = {
14
23
  resetPasswordOptions?: DynamicApiResetPasswordOptions<Entity>;
15
24
  updateAccountOptions?: DynamicApiUpdateAccountOptions<Entity>;
16
25
  refreshTokenOptions?: DynamicApiRefreshTokenOptions<Entity>;
26
+ passwordlessOptions?: PasswordlessOptions<Entity>;
17
27
  };
18
28
  type CreateAuthGatewayOptions<Entity extends BaseEntity> = GatewayOptions & {
19
29
  validationPipeOptions?: ValidationPipeOptions;
@@ -23,6 +33,6 @@ type CreateAuthGatewayOptions<Entity extends BaseEntity> = GatewayOptions & {
23
33
  updateAccountOptions?: DynamicApiUpdateAccountOptions<Entity>;
24
34
  refreshTokenOptions?: DynamicApiRefreshTokenOptions<Entity>;
25
35
  };
26
- declare function createAuthController<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, { getAccountOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions, refreshTokenOptions, }?: CreateAuthControllerOptions<Entity>): AuthControllerConstructor<Entity>;
36
+ declare function createAuthController<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, { getAccountOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions, refreshTokenOptions, passwordlessOptions, }?: CreateAuthControllerOptions<Entity>): AuthControllerConstructor<Entity>;
27
37
  declare function createAuthGateway<Entity extends BaseEntity>(userEntity: Type<Entity>, loginOptions: DynamicApiLoginOptions<Entity>, { getAccountOptions, registerOptions, resetPasswordOptions, updateAccountOptions, refreshTokenOptions, validationPipeOptions, ...gatewayOptions }: CreateAuthGatewayOptions<Entity>): AuthGatewayConstructor<Entity>;
28
38
  export { authServiceProviderName, authGatewayProviderName, createAuthController, createAuthServiceProvider, createAuthGateway, createLocalStrategyProvider, localStrategyProviderName, };
@@ -29,6 +29,7 @@ const decorators_1 = require("../../decorators");
29
29
  const dynamic_api_module_1 = require("../../dynamic-api.module");
30
30
  const filters_1 = require("../../filters");
31
31
  const services_1 = require("../../services");
32
+ const otp_code_model_1 = require("./models/otp-code.model");
32
33
  const mixins_1 = require("./mixins");
33
34
  const services_2 = require("./services");
34
35
  const authServiceProviderName = 'DynamicApiAuthService';
@@ -92,13 +93,14 @@ function createLocalStrategyProvider(loginField, passwordField, abilityPredicate
92
93
  useClass: LocalStrategy,
93
94
  };
94
95
  }
95
- function createAuthServiceProvider(userEntity, { loginField, passwordField, additionalFields = [], callback: loginCallback }, getAccountCallback, register, resetPasswordOptions, updateAccount, refreshToken) {
96
+ function createAuthServiceProvider(userEntity, { loginOptions: { loginField, passwordField, additionalFields = [], callback: loginCallback }, getAccountCallback, register, resetPasswordOptions, updateAccount, refreshToken, passwordlessOptions, }) {
96
97
  let AuthService = class AuthService extends services_2.BaseAuthService {
97
- constructor(model, jwtService, bcryptService) {
98
- super(model, jwtService, bcryptService);
98
+ constructor(model, jwtService, bcryptService, otpModel) {
99
+ super(model, jwtService, bcryptService, otpModel);
99
100
  this.model = model;
100
101
  this.jwtService = jwtService;
101
102
  this.bcryptService = bcryptService;
103
+ this.otpModel = otpModel;
102
104
  this.entity = userEntity;
103
105
  this.additionalRequestFields = additionalFields;
104
106
  this.loginField = loginField;
@@ -112,21 +114,33 @@ function createAuthServiceProvider(userEntity, { loginField, passwordField, addi
112
114
  this.loginCallback = loginCallback;
113
115
  this.getAccountCallback = getAccountCallback;
114
116
  this.resetPasswordOptions = resetPasswordOptions;
117
+ this.passwordlessOptions = passwordlessOptions;
115
118
  }
116
119
  };
117
120
  AuthService = __decorate([
118
121
  __param(0, (0, mongoose_1.InjectModel)(userEntity.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
122
+ __param(3, (0, common_1.Optional)()),
123
+ __param(3, (0, mongoose_1.InjectModel)(otp_code_model_1.OtpCode.name, dynamic_api_module_1.DynamicApiModule.state.get('connectionName'))),
119
124
  __metadata("design:paramtypes", [mongoose_2.Model,
120
125
  jwt_1.JwtService,
121
- services_1.BcryptService])
126
+ services_1.BcryptService,
127
+ mongoose_2.Model])
122
128
  ], AuthService);
123
129
  return {
124
130
  provide: authServiceProviderName,
125
131
  useClass: AuthService,
126
132
  };
127
133
  }
128
- function createAuthController(userEntity, loginOptions, { getAccountOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions, refreshTokenOptions, } = {}) {
129
- let AuthController = class AuthController extends (0, mixins_1.AuthControllerMixin)(userEntity, loginOptions, registerOptions, resetPasswordOptions, updateAccountOptions, getAccountOptions, refreshTokenOptions) {
134
+ function createAuthController(userEntity, loginOptions, { getAccountOptions, registerOptions, validationPipeOptions, resetPasswordOptions, updateAccountOptions, refreshTokenOptions, passwordlessOptions, } = {}) {
135
+ let AuthController = class AuthController extends (0, mixins_1.AuthControllerMixin)(userEntity, {
136
+ loginOptions,
137
+ registerOptions,
138
+ resetPasswordOptions,
139
+ updateAccountOptions,
140
+ getAccountOptions,
141
+ refreshTokenOptions,
142
+ passwordlessOptions,
143
+ }) {
130
144
  constructor(service, broadcastService, jwtService) {
131
145
  super(service, broadcastService, jwtService);
132
146
  this.service = service;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ const gateways_1 = require("../../gateways");
18
18
  const helpers_1 = require("../../helpers");
19
19
  const services_1 = require("../../services");
20
20
  const auth_helper_1 = require("./auth.helper");
21
+ const otp_code_model_1 = require("./models/otp-code.model");
21
22
  const strategies_1 = require("./strategies");
22
23
  let AuthModule = AuthModule_1 = class AuthModule {
23
24
  configure(consumer) {
@@ -26,12 +27,13 @@ let AuthModule = AuthModule_1 = class AuthModule {
26
27
  }
27
28
  }
28
29
  static forRoot(options) {
29
- const { userEntity, login: { loginField, passwordField, ...login }, getAccount, register, updateAccount, resetPassword, refreshToken, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
30
+ const { userEntity, login: { loginField, passwordField, ...login }, getAccount, register, updateAccount, resetPassword, refreshToken, passwordless, jwt: { secret, expiresIn }, validationPipeOptions, webSocket, extraImports, extraProviders, extraControllers, } = this.initializeAuthOptions(options);
30
31
  AuthModule_1.useCookie = refreshToken?.useCookie ?? false;
31
32
  const { resetPasswordCallback, ...resetPasswordOptionsRest } = resetPassword;
32
33
  const resetPasswordOptions = resetPasswordCallback
33
34
  ? { resetPasswordCallback, ...resetPasswordOptionsRest }
34
35
  : undefined;
36
+ const connectionName = dynamic_api_module_1.DynamicApiModule.state.get('connectionName');
35
37
  const AuthController = (0, auth_helper_1.createAuthController)(userEntity, { loginField, passwordField, ...login }, {
36
38
  getAccountOptions: getAccount,
37
39
  registerOptions: register,
@@ -39,8 +41,17 @@ let AuthModule = AuthModule_1 = class AuthModule {
39
41
  resetPasswordOptions,
40
42
  updateAccountOptions: updateAccount,
41
43
  refreshTokenOptions: refreshToken,
44
+ passwordlessOptions: passwordless,
45
+ });
46
+ const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, {
47
+ loginOptions: { loginField, passwordField, ...login },
48
+ getAccountCallback: getAccount?.callback,
49
+ register,
50
+ resetPasswordOptions,
51
+ updateAccount,
52
+ refreshToken,
53
+ passwordlessOptions: passwordless,
42
54
  });
43
- const AuthServiceProvider = (0, auth_helper_1.createAuthServiceProvider)(userEntity, { loginField, passwordField, ...login }, getAccount?.callback, register, resetPasswordOptions, updateAccount, refreshToken);
44
55
  const LocalStrategyProvider = (0, auth_helper_1.createLocalStrategyProvider)(loginField, passwordField, login.abilityPredicate, login.customValidate, login.useStrategy);
45
56
  const schema = (0, helpers_1.buildSchemaFromEntity)(userEntity);
46
57
  services_1.DynamicApiGlobalStateService.addEntitySchema(userEntity, schema);
@@ -68,6 +79,9 @@ let AuthModule = AuthModule_1 = class AuthModule {
68
79
  }),
69
80
  },
70
81
  ];
82
+ const otpFeatureModule = passwordless
83
+ ? mongoose_1.MongooseModule.forFeature([{ name: otp_code_model_1.OtpCode.name, schema: otp_code_model_1.OtpCodeSchema }], connectionName)
84
+ : undefined;
71
85
  return {
72
86
  module: AuthModule_1,
73
87
  imports: [
@@ -78,6 +92,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
78
92
  schema,
79
93
  },
80
94
  ], dynamic_api_module_1.DynamicApiModule.state.get('connectionName')),
95
+ ...(otpFeatureModule ? [otpFeatureModule] : []),
81
96
  passport_1.PassportModule,
82
97
  jwt_1.JwtModule.register({
83
98
  global: true,
@@ -98,7 +113,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
98
113
  controllers: [AuthController, ...extraControllers],
99
114
  };
100
115
  }
101
- static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, getAccount, resetPassword, refreshToken, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
116
+ static initializeAuthOptions({ userEntity, jwt, login, register, updateAccount, getAccount, resetPassword, refreshToken, passwordless, validationPipeOptions, webSocket, extraImports = [], extraProviders = [], extraControllers = [], }) {
102
117
  return {
103
118
  userEntity: userEntity,
104
119
  jwt: {
@@ -137,6 +152,12 @@ let AuthModule = AuthModule_1 = class AuthModule {
137
152
  refreshTokenField: refreshToken?.refreshTokenField,
138
153
  useCookie: refreshToken?.useCookie ?? false,
139
154
  },
155
+ passwordless: passwordless
156
+ ? {
157
+ ...passwordless,
158
+ otpExpirationMinutes: passwordless.otpExpirationMinutes ?? 10,
159
+ }
160
+ : undefined,
140
161
  validationPipeOptions: validationPipeOptions,
141
162
  webSocket,
142
163
  extraImports,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare class SendOtpCodeDto {
2
+ identifier: string;
3
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SendOtpCodeDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class SendOtpCodeDto {
16
+ }
17
+ exports.SendOtpCodeDto = SendOtpCodeDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ (0, class_validator_1.IsNotEmpty)(),
21
+ (0, swagger_1.ApiProperty)({ description: 'User identifier (e.g. email address).' }),
22
+ __metadata("design:type", String)
23
+ ], SendOtpCodeDto.prototype, "identifier", void 0);
24
+ //# sourceMappingURL=send-otp-code.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-otp-code.dto.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/dtos/send-otp-code.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAuD;AAEvD,MAAa,cAAc;CAK1B;AALD,wCAKC;AADC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;kDACnD"}
@@ -0,0 +1,4 @@
1
+ export declare class VerifyOtpCodeDto {
2
+ identifier: string;
3
+ code: string;
4
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.VerifyOtpCodeDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class VerifyOtpCodeDto {
16
+ }
17
+ exports.VerifyOtpCodeDto = VerifyOtpCodeDto;
18
+ __decorate([
19
+ (0, class_validator_1.IsString)(),
20
+ (0, class_validator_1.IsNotEmpty)(),
21
+ (0, swagger_1.ApiProperty)({ description: 'User identifier (e.g. email address).' }),
22
+ __metadata("design:type", String)
23
+ ], VerifyOtpCodeDto.prototype, "identifier", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsString)(),
26
+ (0, class_validator_1.IsNotEmpty)(),
27
+ (0, class_validator_1.Length)(6, 6),
28
+ (0, swagger_1.ApiProperty)({ description: '6-digit one-time code sent to the user.' }),
29
+ __metadata("design:type", String)
30
+ ], VerifyOtpCodeDto.prototype, "code", void 0);
31
+ //# sourceMappingURL=verify-otp-code.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-otp-code.dto.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/dtos/verify-otp-code.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAA+D;AAE/D,MAAa,gBAAgB;CAW5B;AAXD,4CAWC;AAPC;IAHC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,CAAC;;oDACnD;AAMnB;IAJC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,CAAC,EAAE,CAAC,CAAC;IACZ,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;;8CAC3D"}
@@ -3,4 +3,5 @@ export * from './jwt-refresh/jwt-refresh.guard';
3
3
  export * from './jwt-socket-auth/jwt-socket-auth.guard';
4
4
  export * from './jwt-socket-refresh/jwt-socket-refresh.guard';
5
5
  export * from './local-auth/local-auth.guard';
6
+ export * from './passwordless/passwordless.guard';
6
7
  export * from './reset-password/reset-password.guard';
@@ -19,5 +19,6 @@ __exportStar(require("./jwt-refresh/jwt-refresh.guard"), exports);
19
19
  __exportStar(require("./jwt-socket-auth/jwt-socket-auth.guard"), exports);
20
20
  __exportStar(require("./jwt-socket-refresh/jwt-socket-refresh.guard"), exports);
21
21
  __exportStar(require("./local-auth/local-auth.guard"), exports);
22
+ __exportStar(require("./passwordless/passwordless.guard"), exports);
22
23
  __exportStar(require("./reset-password/reset-password.guard"), exports);
23
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,kEAAgD;AAChD,0EAAwD;AACxD,gFAA8D;AAC9D,gEAA8C;AAC9C,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/dynamic-api/src/modules/auth/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,kEAAgD;AAChD,0EAAwD;AACxD,gFAA8D;AAC9D,gEAA8C;AAC9C,oEAAkD;AAClD,wEAAsD"}
@@ -0,0 +1,6 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ export declare class PasswordlessGuard implements CanActivate {
3
+ private readonly configured;
4
+ constructor(configured: boolean);
5
+ canActivate(_context: ExecutionContext): boolean;
6
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PasswordlessGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ let PasswordlessGuard = class PasswordlessGuard {
15
+ constructor(configured) {
16
+ this.configured = configured;
17
+ }
18
+ canActivate(_context) {
19
+ if (!this.configured) {
20
+ throw new common_1.ServiceUnavailableException('This feature is not available');
21
+ }
22
+ return true;
23
+ }
24
+ };
25
+ exports.PasswordlessGuard = PasswordlessGuard;
26
+ exports.PasswordlessGuard = PasswordlessGuard = __decorate([
27
+ (0, common_1.Injectable)(),
28
+ __metadata("design:paramtypes", [Boolean])
29
+ ], PasswordlessGuard);
30
+ //# sourceMappingURL=passwordless.guard.js.map