@nauth-toolkit/core 0.1.108 → 0.1.109

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 (86) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js.map +1 -1
  3. package/dist/dto/admin-remove-device.dto.d.ts +22 -0
  4. package/dist/dto/admin-remove-device.dto.d.ts.map +1 -0
  5. package/dist/dto/{admin-remove-devices.dto.js → admin-remove-device.dto.js} +21 -21
  6. package/dist/dto/admin-remove-device.dto.js.map +1 -0
  7. package/dist/dto/admin-set-preferred-device.dto.d.ts +32 -0
  8. package/dist/dto/admin-set-preferred-device.dto.d.ts.map +1 -0
  9. package/dist/dto/admin-set-preferred-device.dto.js +64 -0
  10. package/dist/dto/admin-set-preferred-device.dto.js.map +1 -0
  11. package/dist/dto/admin-signup-social.dto.d.ts +2 -2
  12. package/dist/dto/admin-signup.dto.d.ts +2 -2
  13. package/dist/dto/challenge-response.dto.d.ts +4 -0
  14. package/dist/dto/challenge-response.dto.d.ts.map +1 -1
  15. package/dist/dto/disable-user.dto.d.ts +2 -2
  16. package/dist/dto/enable-user.dto.d.ts +2 -2
  17. package/dist/dto/get-user-response.dto.d.ts +1 -1
  18. package/dist/dto/get-user-response.dto.js +1 -1
  19. package/dist/dto/get-users.dto.d.ts +2 -2
  20. package/dist/dto/index.d.ts +4 -4
  21. package/dist/dto/index.d.ts.map +1 -1
  22. package/dist/dto/index.js +4 -4
  23. package/dist/dto/index.js.map +1 -1
  24. package/dist/dto/remove-device.dto.d.ts +49 -0
  25. package/dist/dto/remove-device.dto.d.ts.map +1 -0
  26. package/dist/dto/remove-device.dto.js +76 -0
  27. package/dist/dto/remove-device.dto.js.map +1 -0
  28. package/dist/dto/respond-challenge.dto.d.ts +8 -0
  29. package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
  30. package/dist/dto/respond-challenge.dto.js +14 -0
  31. package/dist/dto/respond-challenge.dto.js.map +1 -1
  32. package/dist/dto/set-preferred-device.dto.d.ts +45 -0
  33. package/dist/dto/set-preferred-device.dto.d.ts.map +1 -0
  34. package/dist/dto/set-preferred-device.dto.js +73 -0
  35. package/dist/dto/set-preferred-device.dto.js.map +1 -0
  36. package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
  37. package/dist/dto/setup-mfa.dto.js.map +1 -1
  38. package/dist/dto/user-response.dto.d.ts +3 -3
  39. package/dist/dto/user-response.dto.js +5 -5
  40. package/dist/handlers/client-info.handler.d.ts.map +1 -1
  41. package/dist/handlers/client-info.handler.js.map +1 -1
  42. package/dist/interfaces/provider.interface.d.ts.map +1 -1
  43. package/dist/openapi/components.schemas.json +78 -58
  44. package/dist/services/admin-auth.service.d.ts +5 -5
  45. package/dist/services/admin-auth.service.js +2 -2
  46. package/dist/services/auth-audit.service.d.ts.map +1 -1
  47. package/dist/services/auth-audit.service.js +1 -1
  48. package/dist/services/auth-audit.service.js.map +1 -1
  49. package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
  50. package/dist/services/auth-challenge-helper.service.js +34 -0
  51. package/dist/services/auth-challenge-helper.service.js.map +1 -1
  52. package/dist/services/auth-service-internal-helpers.d.ts.map +1 -1
  53. package/dist/services/auth-service-internal-helpers.js +4 -0
  54. package/dist/services/auth-service-internal-helpers.js.map +1 -1
  55. package/dist/services/auth.service.d.ts +2 -2
  56. package/dist/services/mfa-base.service.d.ts +23 -6
  57. package/dist/services/mfa-base.service.d.ts.map +1 -1
  58. package/dist/services/mfa-base.service.js +70 -18
  59. package/dist/services/mfa-base.service.js.map +1 -1
  60. package/dist/services/mfa.service.d.ts +54 -35
  61. package/dist/services/mfa.service.d.ts.map +1 -1
  62. package/dist/services/mfa.service.js +214 -167
  63. package/dist/services/mfa.service.js.map +1 -1
  64. package/dist/services/session.service.d.ts +1 -2
  65. package/dist/services/session.service.d.ts.map +1 -1
  66. package/dist/services/session.service.js.map +1 -1
  67. package/dist/services/user.service.d.ts +5 -5
  68. package/dist/services/user.service.d.ts.map +1 -1
  69. package/dist/services/user.service.js +16 -10
  70. package/dist/services/user.service.js.map +1 -1
  71. package/package.json +2 -2
  72. package/dist/dto/admin-remove-devices.dto.d.ts +0 -25
  73. package/dist/dto/admin-remove-devices.dto.d.ts.map +0 -1
  74. package/dist/dto/admin-remove-devices.dto.js.map +0 -1
  75. package/dist/dto/admin-set-preferred-method.dto.d.ts +0 -25
  76. package/dist/dto/admin-set-preferred-method.dto.d.ts.map +0 -1
  77. package/dist/dto/admin-set-preferred-method.dto.js +0 -50
  78. package/dist/dto/admin-set-preferred-method.dto.js.map +0 -1
  79. package/dist/dto/remove-devices.dto.d.ts +0 -48
  80. package/dist/dto/remove-devices.dto.d.ts.map +0 -1
  81. package/dist/dto/remove-devices.dto.js +0 -79
  82. package/dist/dto/remove-devices.dto.js.map +0 -1
  83. package/dist/dto/set-preferred-method.dto.d.ts +0 -44
  84. package/dist/dto/set-preferred-method.dto.d.ts.map +0 -1
  85. package/dist/dto/set-preferred-method.dto.js +0 -75
  86. package/dist/dto/set-preferred-method.dto.js.map +0 -1
@@ -1,25 +0,0 @@
1
- import { RemoveDevicesDTO, RemoveDevicesResponseDTO } from './remove-devices.dto';
2
- /**
3
- * Admin DTO for removing MFA devices for a specific user
4
- *
5
- * Admin APIs must explicitly target a user via `sub`.
6
- * This DTO mirrors {@link RemoveDevicesDTO} but adds `sub`.
7
- *
8
- * @example
9
- * ```typescript
10
- * const result = await mfaService.adminRemoveDevices({
11
- * sub: 'a21b654c-2746-4168-acee-c175083a65cd',
12
- * methodType: 'totp',
13
- * });
14
- * ```
15
- */
16
- export declare class AdminRemoveDevicesDTO extends RemoveDevicesDTO {
17
- /**
18
- * Target user's unique identifier (UUID v4)
19
- *
20
- * @example "a21b654c-2746-4168-acee-c175083a65cd"
21
- */
22
- sub: string;
23
- }
24
- export { RemoveDevicesResponseDTO };
25
- //# sourceMappingURL=admin-remove-devices.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-remove-devices.dto.d.ts","sourceRoot":"","sources":["../../src/dto/admin-remove-devices.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAElF;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;IACzD;;;;OAIG;IAQH,GAAG,EAAG,MAAM,CAAC;CACd;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-remove-devices.dto.js","sourceRoot":"","sources":["../../src/dto/admin-remove-devices.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyC;AACzC,yDAA8C;AAC9C,6DAAkF;AAgCzE,yGAhCkB,6CAAwB,OAgClB;AA9BjC;;;;;;;;;;;;;GAaG;AACH,MAAa,qBAAsB,SAAQ,qCAAgB;IACzD;;;;OAIG;IAQH,GAAG,CAAU;CACd;AAdD,sDAcC;AADC;IAPC,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;kDACW"}
@@ -1,25 +0,0 @@
1
- import { SetPreferredMethodDTO, SetPreferredMethodResponseDTO } from './set-preferred-method.dto';
2
- /**
3
- * Admin DTO for setting preferred MFA method for a specific user
4
- *
5
- * Admin APIs must explicitly target a user via `sub`.
6
- * This DTO mirrors {@link SetPreferredMethodDTO} but adds `sub`.
7
- *
8
- * @example
9
- * ```typescript
10
- * const result = await mfaService.adminSetPreferredMethod({
11
- * sub: 'a21b654c-2746-4168-acee-c175083a65cd',
12
- * methodType: 'sms',
13
- * });
14
- * ```
15
- */
16
- export declare class AdminSetPreferredMethodDTO extends SetPreferredMethodDTO {
17
- /**
18
- * Target user's unique identifier (UUID v4)
19
- *
20
- * @example "a21b654c-2746-4168-acee-c175083a65cd"
21
- */
22
- sub: string;
23
- }
24
- export { SetPreferredMethodResponseDTO };
25
- //# sourceMappingURL=admin-set-preferred-method.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-set-preferred-method.dto.d.ts","sourceRoot":"","sources":["../../src/dto/admin-set-preferred-method.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAElG;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA2B,SAAQ,qBAAqB;IACnE;;;;OAIG;IAQH,GAAG,EAAG,MAAM,CAAC;CACd;AAED,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
@@ -1,50 +0,0 @@
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.SetPreferredMethodResponseDTO = exports.AdminSetPreferredMethodDTO = void 0;
13
- const class_validator_1 = require("class-validator");
14
- const class_transformer_1 = require("class-transformer");
15
- const set_preferred_method_dto_1 = require("./set-preferred-method.dto");
16
- Object.defineProperty(exports, "SetPreferredMethodResponseDTO", { enumerable: true, get: function () { return set_preferred_method_dto_1.SetPreferredMethodResponseDTO; } });
17
- /**
18
- * Admin DTO for setting preferred MFA method for a specific user
19
- *
20
- * Admin APIs must explicitly target a user via `sub`.
21
- * This DTO mirrors {@link SetPreferredMethodDTO} but adds `sub`.
22
- *
23
- * @example
24
- * ```typescript
25
- * const result = await mfaService.adminSetPreferredMethod({
26
- * sub: 'a21b654c-2746-4168-acee-c175083a65cd',
27
- * methodType: 'sms',
28
- * });
29
- * ```
30
- */
31
- class AdminSetPreferredMethodDTO extends set_preferred_method_dto_1.SetPreferredMethodDTO {
32
- /**
33
- * Target user's unique identifier (UUID v4)
34
- *
35
- * @example "a21b654c-2746-4168-acee-c175083a65cd"
36
- */
37
- sub;
38
- }
39
- exports.AdminSetPreferredMethodDTO = AdminSetPreferredMethodDTO;
40
- __decorate([
41
- (0, class_validator_1.IsUUID)('4', { message: 'User sub must be a valid UUID v4 format' }),
42
- (0, class_transformer_1.Transform)(({ value }) => {
43
- if (typeof value === 'string') {
44
- return value.trim().toLowerCase();
45
- }
46
- return value;
47
- }),
48
- __metadata("design:type", String)
49
- ], AdminSetPreferredMethodDTO.prototype, "sub", void 0);
50
- //# sourceMappingURL=admin-set-preferred-method.dto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-set-preferred-method.dto.js","sourceRoot":"","sources":["../../src/dto/admin-set-preferred-method.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyC;AACzC,yDAA8C;AAC9C,yEAAkG;AAgCzF,8GAhCuB,wDAA6B,OAgCvB;AA9BtC;;;;;;;;;;;;;GAaG;AACH,MAAa,0BAA2B,SAAQ,gDAAqB;IACnE;;;;OAIG;IAQH,GAAG,CAAU;CACd;AAdD,gEAcC;AADC;IAPC,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;uDACW"}
@@ -1,48 +0,0 @@
1
- /**
2
- * DTO for removing MFA devices
3
- *
4
- * Used to remove all MFA devices of a specific method type for the current authenticated user.
5
- * Automatically disables MFA if this was the last device.
6
- * User sub is obtained from authenticated context automatically.
7
- *
8
- * @example
9
- * ```typescript
10
- * const result = await mfaService.removeDevices({
11
- * methodType: 'totp'
12
- * });
13
- * ```
14
- */
15
- /**
16
- * DTO for removing MFA devices
17
- *
18
- * User self-service DTO - no userSub field. Service gets user from authenticated context.
19
- */
20
- export declare class RemoveDevicesDTO {
21
- /**
22
- * MFA method type to remove
23
- *
24
- * Validation:
25
- * - Must be one of: totp, sms, email, passkey
26
- * - Max 50 characters
27
- *
28
- * Sanitization:
29
- * - Trimmed and lowercased
30
- *
31
- * @example "totp"
32
- */
33
- methodType: string;
34
- }
35
- /**
36
- * Response DTO for removing devices
37
- */
38
- export declare class RemoveDevicesResponseDTO {
39
- /**
40
- * Number of devices deleted
41
- */
42
- deletedCount: number;
43
- /**
44
- * Whether MFA was disabled (if this was the last device)
45
- */
46
- mfaDisabled: boolean;
47
- }
48
- //# sourceMappingURL=remove-devices.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-devices.dto.d.ts","sourceRoot":"","sources":["../../src/dto/remove-devices.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;GAIG;AACH,qBAAa,gBAAgB;IAE3B;;;;;;;;;;;OAWG;IAYH,UAAU,EAAG,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,YAAY,EAAG,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,EAAG,OAAO,CAAC;CACvB"}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- /**
3
- * DTO for removing MFA devices
4
- *
5
- * Used to remove all MFA devices of a specific method type for the current authenticated user.
6
- * Automatically disables MFA if this was the last device.
7
- * User sub is obtained from authenticated context automatically.
8
- *
9
- * @example
10
- * ```typescript
11
- * const result = await mfaService.removeDevices({
12
- * methodType: 'totp'
13
- * });
14
- * ```
15
- */
16
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
17
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
19
- 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;
20
- return c > 3 && r && Object.defineProperty(target, key, r), r;
21
- };
22
- var __metadata = (this && this.__metadata) || function (k, v) {
23
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.RemoveDevicesResponseDTO = exports.RemoveDevicesDTO = void 0;
27
- const class_validator_1 = require("class-validator");
28
- const class_transformer_1 = require("class-transformer");
29
- const mfa_method_enum_1 = require("../enums/mfa-method.enum");
30
- /**
31
- * DTO for removing MFA devices
32
- *
33
- * User self-service DTO - no userSub field. Service gets user from authenticated context.
34
- */
35
- class RemoveDevicesDTO {
36
- /**
37
- * MFA method type to remove
38
- *
39
- * Validation:
40
- * - Must be one of: totp, sms, email, passkey
41
- * - Max 50 characters
42
- *
43
- * Sanitization:
44
- * - Trimmed and lowercased
45
- *
46
- * @example "totp"
47
- */
48
- methodType;
49
- }
50
- exports.RemoveDevicesDTO = RemoveDevicesDTO;
51
- __decorate([
52
- (0, class_validator_1.IsString)({ message: 'Method type must be a string' }),
53
- (0, class_validator_1.IsEnum)([mfa_method_enum_1.MFAMethod.TOTP, mfa_method_enum_1.MFAMethod.SMS, mfa_method_enum_1.MFAMethod.EMAIL, mfa_method_enum_1.MFAMethod.PASSKEY], {
54
- message: 'Method type must be one of: totp, sms, email, passkey',
55
- }),
56
- (0, class_validator_1.MaxLength)(50, { message: 'Method type must not exceed 50 characters' }),
57
- (0, class_transformer_1.Transform)(({ value }) => {
58
- if (typeof value === 'string') {
59
- return value.trim().toLowerCase();
60
- }
61
- return value;
62
- }),
63
- __metadata("design:type", String)
64
- ], RemoveDevicesDTO.prototype, "methodType", void 0);
65
- /**
66
- * Response DTO for removing devices
67
- */
68
- class RemoveDevicesResponseDTO {
69
- /**
70
- * Number of devices deleted
71
- */
72
- deletedCount;
73
- /**
74
- * Whether MFA was disabled (if this was the last device)
75
- */
76
- mfaDisabled;
77
- }
78
- exports.RemoveDevicesResponseDTO = RemoveDevicesResponseDTO;
79
- //# sourceMappingURL=remove-devices.dto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove-devices.dto.js","sourceRoot":"","sources":["../../src/dto/remove-devices.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;AAEH,qDAA8D;AAC9D,yDAA8C;AAC9C,8DAAqD;AAErD;;;;GAIG;AACH,MAAa,gBAAgB;IAE3B;;;;;;;;;;;OAWG;IAYH,UAAU,CAAU;CACrB;AA1BD,4CA0BC;AADC;IAXC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IACrD,IAAA,wBAAM,EAAC,CAAC,2BAAS,CAAC,IAAI,EAAE,2BAAS,CAAC,GAAG,EAAE,2BAAS,CAAC,KAAK,EAAE,2BAAS,CAAC,OAAO,CAAC,EAAE;QAC3E,OAAO,EAAE,uDAAuD;KACjE,CAAC;IACD,IAAA,2BAAS,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACvE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;oDACkB;AAGtB;;GAEG;AACH,MAAa,wBAAwB;IACnC;;OAEG;IACH,YAAY,CAAU;IAEtB;;OAEG;IACH,WAAW,CAAW;CACvB;AAVD,4DAUC"}
@@ -1,44 +0,0 @@
1
- /**
2
- * DTO for setting preferred MFA method
3
- *
4
- * Used to set the preferred MFA method for the current authenticated user.
5
- * Updates the user's preferred method and device primary flags.
6
- * User sub is obtained from authenticated context automatically.
7
- *
8
- * @example
9
- * ```typescript
10
- * await mfaService.setPreferredMethod({
11
- * methodType: 'totp'
12
- * });
13
- * ```
14
- */
15
- /**
16
- * DTO for setting preferred MFA method
17
- *
18
- * User self-service DTO - no userSub field. Service gets user from authenticated context.
19
- */
20
- export declare class SetPreferredMethodDTO {
21
- /**
22
- * MFA method type to set as preferred
23
- *
24
- * Validation:
25
- * - Must be one of: totp, sms, email, passkey
26
- * - Max 50 characters
27
- *
28
- * Sanitization:
29
- * - Trimmed and lowercased
30
- *
31
- * @example "totp"
32
- */
33
- methodType: string;
34
- }
35
- /**
36
- * Response DTO for setting preferred method
37
- */
38
- export declare class SetPreferredMethodResponseDTO {
39
- /**
40
- * Success message
41
- */
42
- message: string;
43
- }
44
- //# sourceMappingURL=set-preferred-method.dto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-preferred-method.dto.d.ts","sourceRoot":"","sources":["../../src/dto/set-preferred-method.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;GAIG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;;OAWG;IAYH,UAAU,EAAG,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,6BAA6B;IACxC;;OAEG;IACH,OAAO,EAAG,MAAM,CAAC;CAClB"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- /**
3
- * DTO for setting preferred MFA method
4
- *
5
- * Used to set the preferred MFA method for the current authenticated user.
6
- * Updates the user's preferred method and device primary flags.
7
- * User sub is obtained from authenticated context automatically.
8
- *
9
- * @example
10
- * ```typescript
11
- * await mfaService.setPreferredMethod({
12
- * methodType: 'totp'
13
- * });
14
- * ```
15
- */
16
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
17
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
19
- 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;
20
- return c > 3 && r && Object.defineProperty(target, key, r), r;
21
- };
22
- var __metadata = (this && this.__metadata) || function (k, v) {
23
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.SetPreferredMethodResponseDTO = exports.SetPreferredMethodDTO = void 0;
27
- const class_validator_1 = require("class-validator");
28
- const class_transformer_1 = require("class-transformer");
29
- const mfa_method_enum_1 = require("../enums/mfa-method.enum");
30
- /**
31
- * DTO for setting preferred MFA method
32
- *
33
- * User self-service DTO - no userSub field. Service gets user from authenticated context.
34
- */
35
- class SetPreferredMethodDTO {
36
- /**
37
- * MFA method type to set as preferred
38
- *
39
- * Validation:
40
- * - Must be one of: totp, sms, email, passkey
41
- * - Max 50 characters
42
- *
43
- * Sanitization:
44
- * - Trimmed and lowercased
45
- *
46
- * @example "totp"
47
- */
48
- methodType;
49
- }
50
- exports.SetPreferredMethodDTO = SetPreferredMethodDTO;
51
- __decorate([
52
- (0, class_validator_1.IsString)({ message: 'Method type must be a string' }),
53
- (0, class_validator_1.IsEnum)([mfa_method_enum_1.MFAMethod.TOTP, mfa_method_enum_1.MFAMethod.SMS, mfa_method_enum_1.MFAMethod.EMAIL, mfa_method_enum_1.MFAMethod.PASSKEY], {
54
- message: 'Method type must be one of: totp, sms, email, passkey',
55
- }),
56
- (0, class_validator_1.MaxLength)(50, { message: 'Method type must not exceed 50 characters' }),
57
- (0, class_transformer_1.Transform)(({ value }) => {
58
- if (typeof value === 'string') {
59
- return value.trim().toLowerCase();
60
- }
61
- return value;
62
- }),
63
- __metadata("design:type", String)
64
- ], SetPreferredMethodDTO.prototype, "methodType", void 0);
65
- /**
66
- * Response DTO for setting preferred method
67
- */
68
- class SetPreferredMethodResponseDTO {
69
- /**
70
- * Success message
71
- */
72
- message;
73
- }
74
- exports.SetPreferredMethodResponseDTO = SetPreferredMethodResponseDTO;
75
- //# sourceMappingURL=set-preferred-method.dto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-preferred-method.dto.js","sourceRoot":"","sources":["../../src/dto/set-preferred-method.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;AAEH,qDAA8D;AAC9D,yDAA8C;AAC9C,8DAAqD;AAErD;;;;GAIG;AACH,MAAa,qBAAqB;IAChC;;;;;;;;;;;OAWG;IAYH,UAAU,CAAU;CACrB;AAzBD,sDAyBC;AADC;IAXC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IACrD,IAAA,wBAAM,EAAC,CAAC,2BAAS,CAAC,IAAI,EAAE,2BAAS,CAAC,GAAG,EAAE,2BAAS,CAAC,KAAK,EAAE,2BAAS,CAAC,OAAO,CAAC,EAAE;QAC3E,OAAO,EAAE,uDAAuD;KACjE,CAAC;IACD,IAAA,2BAAS,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACvE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;yDACkB;AAGtB;;GAEG;AACH,MAAa,6BAA6B;IACxC;;OAEG;IACH,OAAO,CAAU;CAClB;AALD,sEAKC"}