@nauth-toolkit/core 0.1.109 → 0.1.112

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 (43) hide show
  1. package/dist/dto/get-user-devices.dto.d.ts +20 -3
  2. package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
  3. package/dist/dto/get-user-devices.dto.js +35 -2
  4. package/dist/dto/get-user-devices.dto.js.map +1 -1
  5. package/dist/dto/index.d.ts +2 -0
  6. package/dist/dto/index.d.ts.map +1 -1
  7. package/dist/dto/index.js +2 -0
  8. package/dist/dto/index.js.map +1 -1
  9. package/dist/dto/mfa-device-response.dto.d.ts +68 -0
  10. package/dist/dto/mfa-device-response.dto.d.ts.map +1 -0
  11. package/dist/dto/mfa-device-response.dto.js +81 -0
  12. package/dist/dto/mfa-device-response.dto.js.map +1 -0
  13. package/dist/dto/set-preferred-device.dto.d.ts +2 -1
  14. package/dist/dto/set-preferred-device.dto.d.ts.map +1 -1
  15. package/dist/dto/set-preferred-device.dto.js +2 -1
  16. package/dist/dto/set-preferred-device.dto.js.map +1 -1
  17. package/dist/dto/verify-mfa-setup-response.dto.d.ts +18 -0
  18. package/dist/dto/verify-mfa-setup-response.dto.d.ts.map +1 -0
  19. package/dist/dto/verify-mfa-setup-response.dto.js +22 -0
  20. package/dist/dto/verify-mfa-setup-response.dto.js.map +1 -0
  21. package/dist/openapi/components.schemas.json +48 -82
  22. package/dist/services/admin-auth.service.d.ts +7 -0
  23. package/dist/services/admin-auth.service.d.ts.map +1 -1
  24. package/dist/services/admin-auth.service.js +44 -0
  25. package/dist/services/admin-auth.service.js.map +1 -1
  26. package/dist/services/auth.service.d.ts +7 -0
  27. package/dist/services/auth.service.d.ts.map +1 -1
  28. package/dist/services/auth.service.js +36 -0
  29. package/dist/services/auth.service.js.map +1 -1
  30. package/dist/services/challenge.service.d.ts.map +1 -1
  31. package/dist/services/challenge.service.js +1 -3
  32. package/dist/services/challenge.service.js.map +1 -1
  33. package/dist/services/email-verification.service.d.ts.map +1 -1
  34. package/dist/services/email-verification.service.js +3 -9
  35. package/dist/services/email-verification.service.js.map +1 -1
  36. package/dist/services/mfa.service.d.ts +18 -1
  37. package/dist/services/mfa.service.d.ts.map +1 -1
  38. package/dist/services/mfa.service.js +32 -1
  39. package/dist/services/mfa.service.js.map +1 -1
  40. package/dist/services/phone-verification.service.d.ts.map +1 -1
  41. package/dist/services/phone-verification.service.js +3 -8
  42. package/dist/services/phone-verification.service.js.map +1 -1
  43. package/package.json +2 -2
@@ -9,7 +9,7 @@
9
9
  * const devices = await mfaService.getUserDevices({});
10
10
  * ```
11
11
  */
12
- import { IMFADevice } from '../interfaces/entities.interface';
12
+ import { MFADeviceResponseDTO } from './mfa-device-response.dto';
13
13
  /**
14
14
  * DTO for getting user MFA devices
15
15
  *
@@ -17,13 +17,30 @@ import { IMFADevice } from '../interfaces/entities.interface';
17
17
  */
18
18
  export declare class GetUserDevicesDTO {
19
19
  }
20
+ /**
21
+ * Admin DTO for getting a specific user's MFA devices
22
+ *
23
+ * Admin operation - requires target user's sub identifier.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const devices = await mfaService.adminGetUserDevices({ sub: 'user-uuid' });
28
+ * ```
29
+ */
30
+ export declare class AdminGetUserDevicesDTO {
31
+ /**
32
+ * Target user's unique identifier (sub)
33
+ */
34
+ sub: string;
35
+ }
20
36
  /**
21
37
  * Response DTO for user MFA devices
38
+ *
22
39
  */
23
40
  export declare class GetUserDevicesResponseDTO {
24
41
  /**
25
- * Array of user's MFA devices
42
+ * Array of user's MFA devices (outward-facing format)
26
43
  */
27
- devices: IMFADevice[];
44
+ devices: MFADeviceResponseDTO[];
28
45
  }
29
46
  //# sourceMappingURL=get-user-devices.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-devices.dto.d.ts","sourceRoot":"","sources":["../../src/dto/get-user-devices.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,iBAAiB;CAE7B;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,OAAO,EAAG,UAAU,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"get-user-devices.dto.d.ts","sourceRoot":"","sources":["../../src/dto/get-user-devices.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,iBAAiB;CAE7B;AAED;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IAGH,GAAG,EAAG,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,OAAO,EAAG,oBAAoB,EAAE,CAAC;CAClC"}
@@ -10,8 +10,18 @@
10
10
  * const devices = await mfaService.getUserDevices({});
11
11
  * ```
12
12
  */
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ 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;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __metadata = (this && this.__metadata) || function (k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ };
13
22
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.GetUserDevicesResponseDTO = exports.GetUserDevicesDTO = void 0;
23
+ exports.GetUserDevicesResponseDTO = exports.AdminGetUserDevicesDTO = exports.GetUserDevicesDTO = void 0;
24
+ const class_validator_1 = require("class-validator");
15
25
  /**
16
26
  * DTO for getting user MFA devices
17
27
  *
@@ -20,12 +30,35 @@ exports.GetUserDevicesResponseDTO = exports.GetUserDevicesDTO = void 0;
20
30
  class GetUserDevicesDTO {
21
31
  }
22
32
  exports.GetUserDevicesDTO = GetUserDevicesDTO;
33
+ /**
34
+ * Admin DTO for getting a specific user's MFA devices
35
+ *
36
+ * Admin operation - requires target user's sub identifier.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const devices = await mfaService.adminGetUserDevices({ sub: 'user-uuid' });
41
+ * ```
42
+ */
43
+ class AdminGetUserDevicesDTO {
44
+ /**
45
+ * Target user's unique identifier (sub)
46
+ */
47
+ sub;
48
+ }
49
+ exports.AdminGetUserDevicesDTO = AdminGetUserDevicesDTO;
50
+ __decorate([
51
+ (0, class_validator_1.IsNotEmpty)({ message: 'User sub is required' }),
52
+ (0, class_validator_1.IsString)({ message: 'User sub must be a string' }),
53
+ __metadata("design:type", String)
54
+ ], AdminGetUserDevicesDTO.prototype, "sub", void 0);
23
55
  /**
24
56
  * Response DTO for user MFA devices
57
+ *
25
58
  */
26
59
  class GetUserDevicesResponseDTO {
27
60
  /**
28
- * Array of user's MFA devices
61
+ * Array of user's MFA devices (outward-facing format)
29
62
  */
30
63
  devices;
31
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-devices.dto.js","sourceRoot":"","sources":["../../src/dto/get-user-devices.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAIH;;;;GAIG;AACH,MAAa,iBAAiB;CAE7B;AAFD,8CAEC;AAED;;GAEG;AACH,MAAa,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAAgB;CACxB;AALD,8DAKC"}
1
+ {"version":3,"file":"get-user-devices.dto.js","sourceRoot":"","sources":["../../src/dto/get-user-devices.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;AAEH,qDAAuD;AAGvD;;;;GAIG;AACH,MAAa,iBAAiB;CAE7B;AAFD,8CAEC;AAED;;;;;;;;;GASG;AACH,MAAa,sBAAsB;IACjC;;OAEG;IAGH,GAAG,CAAU;CACd;AAPD,wDAOC;AADC;IAFC,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC/C,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;;mDACtC;AAGf;;;GAGG;AACH,MAAa,yBAAyB;IACpC;;OAEG;IACH,OAAO,CAA0B;CAClC;AALD,8DAKC"}
@@ -32,6 +32,7 @@ export * from './get-available-methods.dto';
32
32
  export * from './get-mfa-status.dto';
33
33
  export * from './admin-get-mfa-status.dto';
34
34
  export * from './get-user-devices.dto';
35
+ export * from './mfa-device-response.dto';
35
36
  export * from './has-provider.dto';
36
37
  export * from './list-providers-response.dto';
37
38
  export * from './remove-device.dto';
@@ -60,6 +61,7 @@ export * from './get-user-sessions.dto';
60
61
  export * from './get-user-sessions-response.dto';
61
62
  export * from './logout-session.dto';
62
63
  export * from './logout-session-response.dto';
64
+ export * from './verify-mfa-setup-response.dto';
63
65
  export * from './admin-revoke-session.dto';
64
66
  export * from './set-must-change-password.dto';
65
67
  export * from './set-must-change-password-response.dto';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
package/dist/dto/index.js CHANGED
@@ -49,6 +49,7 @@ __exportStar(require("./get-available-methods.dto"), exports);
49
49
  __exportStar(require("./get-mfa-status.dto"), exports);
50
50
  __exportStar(require("./admin-get-mfa-status.dto"), exports);
51
51
  __exportStar(require("./get-user-devices.dto"), exports);
52
+ __exportStar(require("./mfa-device-response.dto"), exports);
52
53
  __exportStar(require("./has-provider.dto"), exports);
53
54
  __exportStar(require("./list-providers-response.dto"), exports);
54
55
  __exportStar(require("./remove-device.dto"), exports);
@@ -77,6 +78,7 @@ __exportStar(require("./get-user-sessions.dto"), exports);
77
78
  __exportStar(require("./get-user-sessions-response.dto"), exports);
78
79
  __exportStar(require("./logout-session.dto"), exports);
79
80
  __exportStar(require("./logout-session-response.dto"), exports);
81
+ __exportStar(require("./verify-mfa-setup-response.dto"), exports);
80
82
  __exportStar(require("./admin-revoke-session.dto"), exports);
81
83
  __exportStar(require("./set-must-change-password.dto"), exports);
82
84
  __exportStar(require("./set-must-change-password-response.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,+CAA6B;AAC7B,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,oDAAkC;AAClC,8CAA4B;AAC5B,wDAAsC;AACtC,iEAA+C;AAC/C,sDAAoC;AACpC,oDAAkC;AAClC,+DAA6C;AAC7C,qEAAmD;AACnD,uEAAqD;AACrD,qDAAmC;AACnC,qDAAmC;AACnC,4DAA0C;AAC1C,uDAAqC;AACrC,wDAAsC;AACtC,gEAA8C;AAC9C,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,2DAAyC;AACzC,0DAAwC;AACxC,uDAAqC;AACrC,gEAA8C;AAC9C,2DAAyC;AACzC,oEAAkD;AAClD,8DAA4C;AAC5C,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AACvC,qDAAmC;AACnC,gEAA8C;AAC9C,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C;AAC3C,mEAAiD;AACjD,kDAAgC;AAChC,wDAAsC;AACtC,wDAAsC;AACtC,gEAA8C;AAC9C,gEAA8C;AAC9C,kEAAgD;AAChD,gEAA8C;AAC9C,oDAAkC;AAClC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,0DAAwC;AACxC,+CAA6B;AAC7B,wDAAsC;AACtC,mDAAiC;AACjC,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,mEAAiD;AACjD,uDAAqC;AACrC,gEAA8C;AAC9C,6DAA2C;AAC3C,iEAA+C;AAC/C,0EAAwD;AACxD,2DAAyC;AACzC,6DAA2C;AAC3C,+EAA+E;AAC/E,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,uEAAqD;AACrD,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAElD,oDAAkC;AAClC,wDAAsC;AAEtC,+DAA+D;AAC/D,+CAA+C;AAC/C,mCAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,+CAA6B;AAC7B,qDAAmC;AACnC,4DAA0C;AAC1C,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,oDAAkC;AAClC,8CAA4B;AAC5B,wDAAsC;AACtC,iEAA+C;AAC/C,sDAAoC;AACpC,oDAAkC;AAClC,+DAA6C;AAC7C,qEAAmD;AACnD,uEAAqD;AACrD,qDAAmC;AACnC,qDAAmC;AACnC,4DAA0C;AAC1C,uDAAqC;AACrC,wDAAsC;AACtC,gEAA8C;AAC9C,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,2DAAyC;AACzC,0DAAwC;AACxC,uDAAqC;AACrC,gEAA8C;AAC9C,2DAAyC;AACzC,oEAAkD;AAClD,8DAA4C;AAC5C,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AACvC,4DAA0C;AAC1C,qDAAmC;AACnC,gEAA8C;AAC9C,sDAAoC;AACpC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C;AAC3C,mEAAiD;AACjD,kDAAgC;AAChC,wDAAsC;AACtC,wDAAsC;AACtC,gEAA8C;AAC9C,gEAA8C;AAC9C,kEAAgD;AAChD,gEAA8C;AAC9C,oDAAkC;AAClC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,0DAAwC;AACxC,+CAA6B;AAC7B,wDAAsC;AACtC,mDAAiC;AACjC,4DAA0C;AAC1C,yDAAuC;AACvC,0DAAwC;AACxC,mEAAiD;AACjD,uDAAqC;AACrC,gEAA8C;AAC9C,kEAAgD;AAChD,6DAA2C;AAC3C,iEAA+C;AAC/C,0EAAwD;AACxD,2DAAyC;AACzC,6DAA2C;AAC3C,+EAA+E;AAC/E,8DAA4C;AAC5C,mEAAiD;AACjD,8DAA4C;AAC5C,uEAAqD;AACrD,8DAA4C;AAC5C,oEAAkD;AAClD,oEAAkD;AAElD,oDAAkC;AAClC,wDAAsC;AAEtC,+DAA+D;AAC/D,+CAA+C;AAC/C,mCAAmC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Outward-facing MFA Device Response DTO
3
+ *
4
+ * This DTO is used for all API responses that return device information.
5
+ * It maps internal `isPrimary` to external `isPreferred` to avoid exposing
6
+ * internal database field names.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const device: MFADeviceResponseDTO = {
11
+ * id: 1,
12
+ * type: 'totp',
13
+ * name: 'My Phone',
14
+ * isPreferred: true,
15
+ * isActive: true,
16
+ * createdAt: new Date()
17
+ * };
18
+ * ```
19
+ */
20
+ import { MFADeviceMethod } from '../enums/mfa-method.enum';
21
+ import { IMFADevice } from '../interfaces/entities.interface';
22
+ /**
23
+ * Outward-facing MFA device information
24
+ *
25
+ * Note: Uses `isPreferred` instead of internal `isPrimary` field
26
+ */
27
+ export declare class MFADeviceResponseDTO {
28
+ /**
29
+ * Unique device identifier
30
+ */
31
+ id: number;
32
+ /**
33
+ * MFA method type (totp, sms, email, passkey)
34
+ */
35
+ type: MFADeviceMethod;
36
+ /**
37
+ * Device name (user-assigned)
38
+ */
39
+ name: string;
40
+ /**
41
+ * Whether this is the preferred device for this method
42
+ * Maps from internal `isPrimary` field
43
+ */
44
+ isPreferred: boolean;
45
+ /**
46
+ * Whether device is currently active
47
+ */
48
+ isActive: boolean;
49
+ /**
50
+ * Device creation timestamp
51
+ */
52
+ createdAt: Date;
53
+ /**
54
+ * Convert internal device entity to outward-facing DTO
55
+ *
56
+ * @param device - Internal device entity
57
+ * @returns Outward-facing device DTO
58
+ */
59
+ static fromEntity(device: IMFADevice): MFADeviceResponseDTO;
60
+ /**
61
+ * Convert array of internal device entities to outward-facing DTOs
62
+ *
63
+ * @param devices - Array of internal device entities
64
+ * @returns Array of outward-facing device DTOs
65
+ */
66
+ static fromEntities(devices: IMFADevice[]): MFADeviceResponseDTO[];
67
+ }
68
+ //# sourceMappingURL=mfa-device-response.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfa-device-response.dto.d.ts","sourceRoot":"","sources":["../../src/dto/mfa-device-response.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,EAAG,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAG,eAAe,CAAC;IAEvB;;OAEG;IACH,IAAI,EAAG,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAG,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAG,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAG,IAAI,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,oBAAoB;IAW3D;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE;CAGnE"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * Outward-facing MFA Device Response DTO
4
+ *
5
+ * This DTO is used for all API responses that return device information.
6
+ * It maps internal `isPrimary` to external `isPreferred` to avoid exposing
7
+ * internal database field names.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const device: MFADeviceResponseDTO = {
12
+ * id: 1,
13
+ * type: 'totp',
14
+ * name: 'My Phone',
15
+ * isPreferred: true,
16
+ * isActive: true,
17
+ * createdAt: new Date()
18
+ * };
19
+ * ```
20
+ */
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.MFADeviceResponseDTO = void 0;
23
+ /**
24
+ * Outward-facing MFA device information
25
+ *
26
+ * Note: Uses `isPreferred` instead of internal `isPrimary` field
27
+ */
28
+ class MFADeviceResponseDTO {
29
+ /**
30
+ * Unique device identifier
31
+ */
32
+ id;
33
+ /**
34
+ * MFA method type (totp, sms, email, passkey)
35
+ */
36
+ type;
37
+ /**
38
+ * Device name (user-assigned)
39
+ */
40
+ name;
41
+ /**
42
+ * Whether this is the preferred device for this method
43
+ * Maps from internal `isPrimary` field
44
+ */
45
+ isPreferred;
46
+ /**
47
+ * Whether device is currently active
48
+ */
49
+ isActive;
50
+ /**
51
+ * Device creation timestamp
52
+ */
53
+ createdAt;
54
+ /**
55
+ * Convert internal device entity to outward-facing DTO
56
+ *
57
+ * @param device - Internal device entity
58
+ * @returns Outward-facing device DTO
59
+ */
60
+ static fromEntity(device) {
61
+ const dto = new MFADeviceResponseDTO();
62
+ dto.id = device.id;
63
+ dto.type = device.type;
64
+ dto.name = device.name;
65
+ dto.isPreferred = device.isPrimary === true;
66
+ dto.isActive = device.isActive;
67
+ dto.createdAt = device.createdAt;
68
+ return dto;
69
+ }
70
+ /**
71
+ * Convert array of internal device entities to outward-facing DTOs
72
+ *
73
+ * @param devices - Array of internal device entities
74
+ * @returns Array of outward-facing device DTOs
75
+ */
76
+ static fromEntities(devices) {
77
+ return devices.map((device) => MFADeviceResponseDTO.fromEntity(device));
78
+ }
79
+ }
80
+ exports.MFADeviceResponseDTO = MFADeviceResponseDTO;
81
+ //# sourceMappingURL=mfa-device-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfa-device-response.dto.js","sourceRoot":"","sources":["../../src/dto/mfa-device-response.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAKH;;;;GAIG;AACH,MAAa,oBAAoB;IAC/B;;OAEG;IACH,EAAE,CAAU;IAEZ;;OAEG;IACH,IAAI,CAAmB;IAEvB;;OAEG;IACH,IAAI,CAAU;IAEd;;;OAGG;IACH,WAAW,CAAW;IAEtB;;OAEG;IACH,QAAQ,CAAW;IAEnB;;OAEG;IACH,SAAS,CAAQ;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAkB;QAClC,MAAM,GAAG,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC;QAC5C,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC/B,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,OAAqB;QACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AA1DD,oDA0DC"}
@@ -2,7 +2,8 @@
2
2
  * DTO for setting a user's preferred MFA device.
3
3
  *
4
4
  * This updates which device is used by default during MFA challenges.
5
- * The preferred device is marked with `isPrimary` in the database.
5
+ * The preferred device is marked with `isPrimary` in the database (internal field).
6
+ * API responses expose this as `isPreferred` (outward-facing field).
6
7
  *
7
8
  * @example
8
9
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"set-preferred-device.dto.d.ts","sourceRoot":"","sources":["../../src/dto/set-preferred-device.dto.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;OAUG;IAUH,QAAQ,EAAG,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,6BAA6B;IACxC;;;;OAIG;IACH,OAAO,EAAG,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"set-preferred-device.dto.d.ts","sourceRoot":"","sources":["../../src/dto/set-preferred-device.dto.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;OAUG;IAUH,QAAQ,EAAG,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,6BAA6B;IACxC;;;;OAIG;IACH,OAAO,EAAG,MAAM,CAAC;CAClB"}
@@ -16,7 +16,8 @@ const class_transformer_1 = require("class-transformer");
16
16
  * DTO for setting a user's preferred MFA device.
17
17
  *
18
18
  * This updates which device is used by default during MFA challenges.
19
- * The preferred device is marked with `isPrimary` in the database.
19
+ * The preferred device is marked with `isPrimary` in the database (internal field).
20
+ * API responses expose this as `isPreferred` (outward-facing field).
20
21
  *
21
22
  * @example
22
23
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"set-preferred-device.dto.js","sourceRoot":"","sources":["../../src/dto/set-preferred-device.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AACpD,yDAA8C;AAE9C;;;;;;;;;;;GAWG;AACH,MAAa,qBAAqB;IAChC;;;;;;;;;;OAUG;IAUH,QAAQ,CAAU;CACnB;AAtBD,sDAsBC;AADC;IATC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACD,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAClD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;;uDACpC;AAGpB;;;;;;;;;GASG;AACH,MAAa,6BAA6B;IACxC;;;;OAIG;IACH,OAAO,CAAU;CAClB;AAPD,sEAOC"}
1
+ {"version":3,"file":"set-preferred-device.dto.js","sourceRoot":"","sources":["../../src/dto/set-preferred-device.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AACpD,yDAA8C;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAa,qBAAqB;IAChC;;;;;;;;;;OAUG;IAUH,QAAQ,CAAU;CACnB;AAtBD,sDAsBC;AADC;IATC,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACD,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAClD,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;;uDACpC;AAGpB;;;;;;;;;GASG;AACH,MAAa,6BAA6B;IACxC;;;;OAIG;IACH,OAAO,CAAU;CAClB;AAPD,sEAOC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Response DTO for verifying MFA setup
3
+ *
4
+ * Returned when an authenticated user completes MFA device setup verification.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * const result = await provider.verifySetup(setupData);
9
+ * // Returns: { deviceId: 123 }
10
+ * ```
11
+ */
12
+ export declare class VerifyMFASetupResponseDTO {
13
+ /**
14
+ * ID of the newly created MFA device
15
+ */
16
+ deviceId: number;
17
+ }
18
+ //# sourceMappingURL=verify-mfa-setup-response.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-mfa-setup-response.dto.d.ts","sourceRoot":"","sources":["../../src/dto/verify-mfa-setup-response.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,QAAQ,EAAG,MAAM,CAAC;CACnB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VerifyMFASetupResponseDTO = void 0;
4
+ /**
5
+ * Response DTO for verifying MFA setup
6
+ *
7
+ * Returned when an authenticated user completes MFA device setup verification.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const result = await provider.verifySetup(setupData);
12
+ * // Returns: { deviceId: 123 }
13
+ * ```
14
+ */
15
+ class VerifyMFASetupResponseDTO {
16
+ /**
17
+ * ID of the newly created MFA device
18
+ */
19
+ deviceId;
20
+ }
21
+ exports.VerifyMFASetupResponseDTO = VerifyMFASetupResponseDTO;
22
+ //# sourceMappingURL=verify-mfa-setup-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-mfa-setup-response.dto.js","sourceRoot":"","sources":["../../src/dto/verify-mfa-setup-response.dto.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,MAAa,yBAAyB;IACpC;;OAEG;IACH,QAAQ,CAAU;CACnB;AALD,8DAKC"}
@@ -143,6 +143,20 @@
143
143
  ],
144
144
  "description": "Authentication Audit Event Status\n\nClassification of event outcomes for filtering and analysis."
145
145
  },
146
+ "AdminGetUserDevicesDTO": {
147
+ "type": "object",
148
+ "properties": {
149
+ "sub": {
150
+ "type": "string",
151
+ "description": "Target user's unique identifier (sub)"
152
+ }
153
+ },
154
+ "required": [
155
+ "sub"
156
+ ],
157
+ "additionalProperties": false,
158
+ "description": "Admin DTO for getting a specific user's MFA devices\n\nAdmin operation - requires target user's sub identifier."
159
+ },
146
160
  "AdminLogoutAllDTO": {
147
161
  "type": "object",
148
162
  "properties": {
@@ -2262,9 +2276,9 @@
2262
2276
  "devices": {
2263
2277
  "type": "array",
2264
2278
  "items": {
2265
- "$ref": "#/components/schemas/IMFADevice"
2279
+ "$ref": "#/components/schemas/MFADeviceResponseDTO"
2266
2280
  },
2267
- "description": "Array of user's MFA devices"
2281
+ "description": "Array of user's MFA devices (outward-facing format)"
2268
2282
  }
2269
2283
  },
2270
2284
  "required": [
@@ -2273,107 +2287,45 @@
2273
2287
  "additionalProperties": false,
2274
2288
  "description": "Response DTO for user MFA devices"
2275
2289
  },
2276
- "IMFADevice": {
2290
+ "MFADeviceResponseDTO": {
2277
2291
  "type": "object",
2278
2292
  "properties": {
2279
2293
  "id": {
2280
- "type": "number"
2281
- },
2282
- "userId": {
2283
- "type": "number"
2294
+ "type": "number",
2295
+ "description": "Unique device identifier"
2284
2296
  },
2285
2297
  "type": {
2286
- "$ref": "#/components/schemas/MFADeviceMethod"
2298
+ "$ref": "#/components/schemas/MFADeviceMethod",
2299
+ "description": "MFA method type (totp, sms, email, passkey)"
2287
2300
  },
2288
2301
  "name": {
2289
- "type": "string"
2290
- },
2291
- "secret": {
2292
- "type": [
2293
- "string",
2294
- "null"
2295
- ]
2296
- },
2297
- "credentialId": {
2298
- "type": [
2299
- "string",
2300
- "null"
2301
- ]
2302
- },
2303
- "publicKey": {
2304
- "type": [
2305
- "string",
2306
- "null"
2307
- ]
2308
- },
2309
- "counter": {
2310
- "type": [
2311
- "number",
2312
- "null"
2313
- ]
2314
- },
2315
- "transports": {
2316
- "anyOf": [
2317
- {
2318
- "type": "array",
2319
- "items": {
2320
- "type": "string"
2321
- }
2322
- },
2323
- {
2324
- "type": "null"
2325
- }
2326
- ]
2327
- },
2328
- "phoneNumber": {
2329
- "type": [
2330
- "string",
2331
- "null"
2332
- ]
2333
- },
2334
- "email": {
2335
- "type": [
2336
- "string",
2337
- "null"
2338
- ]
2302
+ "type": "string",
2303
+ "description": "Device name (user-assigned)"
2339
2304
  },
2340
- "isPrimary": {
2341
- "type": "boolean"
2305
+ "isPreferred": {
2306
+ "type": "boolean",
2307
+ "description": "Whether this is the preferred device for this method Maps from internal `isPrimary` field"
2342
2308
  },
2343
2309
  "isActive": {
2344
- "type": "boolean"
2345
- },
2346
- "lastUsedAt": {
2347
- "anyOf": [
2348
- {
2349
- "type": "string",
2350
- "format": "date-time"
2351
- },
2352
- {
2353
- "type": "null"
2354
- }
2355
- ]
2310
+ "type": "boolean",
2311
+ "description": "Whether device is currently active"
2356
2312
  },
2357
2313
  "createdAt": {
2358
2314
  "type": "string",
2359
- "format": "date-time"
2315
+ "format": "date-time",
2316
+ "description": "Device creation timestamp"
2360
2317
  }
2361
2318
  },
2362
2319
  "required": [
2363
2320
  "id",
2364
- "userId",
2365
2321
  "type",
2366
2322
  "name",
2367
- "secret",
2368
- "credentialId",
2369
- "publicKey",
2370
- "counter",
2371
- "transports",
2323
+ "isPreferred",
2372
2324
  "isActive",
2373
- "lastUsedAt",
2374
2325
  "createdAt"
2375
2326
  ],
2376
- "additionalProperties": false
2327
+ "additionalProperties": false,
2328
+ "description": "Outward-facing MFA device information\n\nNote: Uses `isPreferred` instead of internal `isPrimary` field"
2377
2329
  },
2378
2330
  "GetUserSessionsDTO": {
2379
2331
  "type": "object",
@@ -3450,7 +3402,7 @@
3450
3402
  "deviceId"
3451
3403
  ],
3452
3404
  "additionalProperties": false,
3453
- "description": "DTO for setting a user's preferred MFA device.\n\nThis updates which device is used by default during MFA challenges. The preferred device is marked with `isPrimary` in the database."
3405
+ "description": "DTO for setting a user's preferred MFA device.\n\nThis updates which device is used by default during MFA challenges. The preferred device is marked with `isPrimary` in the database (internal field). API responses expose this as `isPreferred` (outward-facing field)."
3454
3406
  },
3455
3407
  "SetPreferredDeviceResponseDTO": {
3456
3408
  "type": "object",
@@ -4030,6 +3982,20 @@
4030
3982
  "additionalProperties": false,
4031
3983
  "description": "Response DTO for MFA code verification"
4032
3984
  },
3985
+ "VerifyMFASetupResponseDTO": {
3986
+ "type": "object",
3987
+ "properties": {
3988
+ "deviceId": {
3989
+ "type": "number",
3990
+ "description": "ID of the newly created MFA device"
3991
+ }
3992
+ },
3993
+ "required": [
3994
+ "deviceId"
3995
+ ],
3996
+ "additionalProperties": false,
3997
+ "description": "Response DTO for verifying MFA setup\n\nReturned when an authenticated user completes MFA device setup verification."
3998
+ },
4033
3999
  "VerifyPhoneResponseDTO": {
4034
4000
  "type": "object",
4035
4001
  "properties": {
@@ -303,5 +303,12 @@ export declare class AdminAuthService {
303
303
  * ```
304
304
  */
305
305
  setPassword(dto: AdminSetPasswordDTO): Promise<AdminSetPasswordResponseDTO>;
306
+ /**
307
+ * Calculate grace period status for a user.
308
+ *
309
+ * @param user - User to check
310
+ * @returns Grace period status with isActive flag and endsAt date
311
+ */
312
+ private calculateGracePeriodForUser;
306
313
  }
307
314
  //# sourceMappingURL=admin-auth.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-auth.service.d.ts","sourceRoot":"","sources":["../../src/services/admin-auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-auth.service.d.ts","sourceRoot":"","sources":["../../src/services/admin-auth.service.ts"],"names":[],"mappings":"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"}