@skyapp-labs/blueprint-backend-core 1.6.0 → 1.7.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 (75) hide show
  1. package/CHANGELOG.md +16 -10
  2. package/dist/common/decorators/otp-length-aware.decorator.d.ts +3 -0
  3. package/dist/common/decorators/otp-length-aware.decorator.d.ts.map +1 -0
  4. package/dist/common/decorators/otp-length-aware.decorator.js +8 -0
  5. package/dist/common/decorators/otp-length-aware.decorator.js.map +1 -0
  6. package/dist/common/decorators/pin-length-aware.decorator.d.ts +3 -0
  7. package/dist/common/decorators/pin-length-aware.decorator.d.ts.map +1 -0
  8. package/dist/common/decorators/pin-length-aware.decorator.js +8 -0
  9. package/dist/common/decorators/pin-length-aware.decorator.js.map +1 -0
  10. package/dist/common/pipes/config-aware-validation.pipe.d.ts.map +1 -1
  11. package/dist/common/pipes/config-aware-validation.pipe.js +13 -4
  12. package/dist/common/pipes/config-aware-validation.pipe.js.map +1 -1
  13. package/dist/common/validators/is-configured-otp-length.validator.d.ts +9 -0
  14. package/dist/common/validators/is-configured-otp-length.validator.d.ts.map +1 -0
  15. package/dist/common/validators/is-configured-otp-length.validator.js +40 -0
  16. package/dist/common/validators/is-configured-otp-length.validator.js.map +1 -0
  17. package/dist/common/validators/is-configured-pin-length.validator.d.ts +7 -0
  18. package/dist/common/validators/is-configured-pin-length.validator.d.ts.map +1 -0
  19. package/dist/common/validators/is-configured-pin-length.validator.js +43 -0
  20. package/dist/common/validators/is-configured-pin-length.validator.js.map +1 -0
  21. package/dist/database/seeds/settings.seed.d.ts.map +1 -1
  22. package/dist/database/seeds/settings.seed.js +16 -0
  23. package/dist/database/seeds/settings.seed.js.map +1 -1
  24. package/dist/modules/auth/controllers/pin.controller.d.ts +1 -0
  25. package/dist/modules/auth/controllers/pin.controller.d.ts.map +1 -1
  26. package/dist/modules/auth/controllers/pin.controller.js +35 -0
  27. package/dist/modules/auth/controllers/pin.controller.js.map +1 -1
  28. package/dist/modules/auth/dto/login-phone.dto.d.ts +2 -1
  29. package/dist/modules/auth/dto/login-phone.dto.d.ts.map +1 -1
  30. package/dist/modules/auth/dto/login-phone.dto.js +9 -3
  31. package/dist/modules/auth/dto/login-phone.dto.js.map +1 -1
  32. package/dist/modules/auth/dto/otp.dto.d.ts.map +1 -1
  33. package/dist/modules/auth/dto/otp.dto.js +6 -2
  34. package/dist/modules/auth/dto/otp.dto.js.map +1 -1
  35. package/dist/modules/auth/dto/pin.dto.d.ts +7 -4
  36. package/dist/modules/auth/dto/pin.dto.d.ts.map +1 -1
  37. package/dist/modules/auth/dto/pin.dto.js +45 -20
  38. package/dist/modules/auth/dto/pin.dto.js.map +1 -1
  39. package/dist/modules/auth/dto/register-phone.dto.d.ts +2 -1
  40. package/dist/modules/auth/dto/register-phone.dto.d.ts.map +1 -1
  41. package/dist/modules/auth/dto/register-phone.dto.js +9 -5
  42. package/dist/modules/auth/dto/register-phone.dto.js.map +1 -1
  43. package/dist/modules/auth/services/pin-auth.service.d.ts +2 -0
  44. package/dist/modules/auth/services/pin-auth.service.d.ts.map +1 -1
  45. package/dist/modules/auth/services/pin-auth.service.js +27 -0
  46. package/dist/modules/auth/services/pin-auth.service.js.map +1 -1
  47. package/dist/modules/otp/constants/otp.constants.d.ts +4 -1
  48. package/dist/modules/otp/constants/otp.constants.d.ts.map +1 -1
  49. package/dist/modules/otp/constants/otp.constants.js +14 -2
  50. package/dist/modules/otp/constants/otp.constants.js.map +1 -1
  51. package/dist/modules/otp/dto/verify-email.dto.d.ts.map +1 -1
  52. package/dist/modules/otp/dto/verify-email.dto.js +2 -1
  53. package/dist/modules/otp/dto/verify-email.dto.js.map +1 -1
  54. package/dist/modules/otp/dto/verify-otp.dto.d.ts.map +1 -1
  55. package/dist/modules/otp/dto/verify-otp.dto.js +2 -1
  56. package/dist/modules/otp/dto/verify-otp.dto.js.map +1 -1
  57. package/dist/modules/otp/services/otp.session.store.d.ts.map +1 -1
  58. package/dist/modules/otp/services/otp.session.store.js +5 -1
  59. package/dist/modules/otp/services/otp.session.store.js.map +1 -1
  60. package/dist/modules/otp/utils/otp.utils.d.ts.map +1 -1
  61. package/dist/modules/otp/utils/otp.utils.js +4 -2
  62. package/dist/modules/otp/utils/otp.utils.js.map +1 -1
  63. package/dist/modules/settings/constants/settings.defaults.d.ts +2 -0
  64. package/dist/modules/settings/constants/settings.defaults.d.ts.map +1 -1
  65. package/dist/modules/settings/constants/settings.defaults.js +2 -0
  66. package/dist/modules/settings/constants/settings.defaults.js.map +1 -1
  67. package/dist/modules/settings/constants/settings.keys.d.ts +2 -0
  68. package/dist/modules/settings/constants/settings.keys.d.ts.map +1 -1
  69. package/dist/modules/settings/constants/settings.keys.js +2 -0
  70. package/dist/modules/settings/constants/settings.keys.js.map +1 -1
  71. package/dist/modules/settings/controllers/settings.controller.d.ts.map +1 -1
  72. package/dist/modules/settings/controllers/settings.controller.js +8 -0
  73. package/dist/modules/settings/controllers/settings.controller.js.map +1 -1
  74. package/dist/tsconfig.tsbuildinfo +1 -1
  75. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,14 +1,15 @@
1
- # [1.6.0](https://github.com/Skyapp-Labs/blueprint-backend-core/compare/v1.5.0...v1.6.0) (2026-06-14)
1
+ # [1.7.0](https://github.com/Skyapp-Labs/blueprint-backend-core/compare/v1.6.0...v1.7.0) (2026-06-19)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * cap OTP length at 4–6 digits and allow test codes on verify ([b2f885a](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/b2f885a7c5e1806139c1ea31b295ef527564f9c2))
2
7
 
3
8
 
4
9
  ### Features
5
10
 
6
- * add Mailpit SMTP configuration to .env.example, introduce .prettierignore, and refactor roles module by removing ManifestSyncService ([b1a5c6b](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/b1a5c6b3e06f0bf3fead150854506e8104de633c))
7
- * bump version to 1.6.0 and implement PIN authentication, enhanced email templating, and project cleanup ([ce12fc9](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/ce12fc9e955b08e6d9b0eb87b38826d8fd677829))
8
- * enhance email template system by introducing new templates for account management and improving metadata handling in email jobs ([5878824](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/5878824779c2d79e16e3641bc91c0defdccd5033))
9
- * implement permission checks in InvitationsController and refactor CreateInvitationDto to use transformed delivery channel ([2218527](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/2218527fe15afba777482d364029435c9a05901b))
10
- * implement PIN-based authentication module with user entity and service integration ([166676d](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/166676d4635e7da71287ecda046675590d9b9069))
11
- * replace full schema migration with updated version 1781419023501 ([ed638f2](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/ed638f24e9f6a56b1c0d96f2955a51f9d0afbafb))
11
+ * add endpoint to check PIN status for specific type ([e4f59aa](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/e4f59aab0cac7bf8ce013383bf7665a1391ec6de))
12
+ * enhance validation and configuration for PIN and OTP lengths ([9e61955](https://github.com/Skyapp-Labs/blueprint-backend-core/commit/9e61955861fc472fb424f2fc8e90a37906f87242))
12
13
 
13
14
  # Changelog
14
15
 
@@ -18,23 +19,28 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and
18
19
 
19
20
  ---
20
21
 
21
- ## [1.6.0] - 2026-06-14
22
+ ## [1.7.0] - 2026-06-19
22
23
 
23
24
  ### Added
24
25
  - **PIN Authentication** — complete PIN-based auth module with `UserPin` entity, `PinAuthService`, and `PinController` for managing user-specific PINs (e.g., authentication, transaction PINs).
26
+ - **PIN status by type** — `GET /auth/pin/status/:type` returns whether the authenticated user has a PIN set for a given type, including lock state and timestamps.
27
+ - **Configurable code lengths** — new `otp.code_length` and `pin.length` app settings (default **6**); OTP generation and PIN/OTP DTO validation respect the configured lengths at runtime.
25
28
  - **Email Templates** — enhanced email template system introducing new templates for account management and improved metadata handling in email jobs.
26
29
  - **Mailpit Configuration** — added Mailpit SMTP configuration to `.env.example` for local testing.
27
30
  - `.prettierignore` — added for better formatting control.
31
+ - **Repository Structure** — documented `src/` layout and submodule setup in README.
28
32
 
29
33
  ### Changed
30
34
  - **Invitations** — implemented permission checks in `InvitationsController` and refactored `CreateInvitationDto` to use transformed delivery channels.
31
35
  - **Sessions** — included `UsersModule` in sessions module imports.
32
- - **Settings** — updated settings seed with additional test OTP entries.
36
+ - **Settings** — updated settings seed with additional test OTP entries, OTP code length, and PIN length entries.
37
+ - **Database migrations** — replaced the legacy full-schema migration with timestamped `1781419023501-full-schema`, including the `user_pins` table and related indexes/constraints.
38
+ - **Validation** — `ConfigAwareValidationPipe` injects configured PIN/OTP lengths into DTOs; replaced hardcoded 4–8 digit PIN and 6-digit OTP regexes with settings-aware validators.
33
39
 
34
40
  ### Removed
35
41
  - Removed `CoreModule` and related files to improve project structure.
36
42
  - Removed `ManifestSyncService` from the roles module.
37
- - Removed the full schema migration file.
43
+ - Removed hardcoded `OTP_CODE_LENGTH` constant length is now driven by `otp.code_length` setting.
38
44
 
39
45
 
40
46
  ## [1.5.0] - 2026-05-25
@@ -0,0 +1,3 @@
1
+ export declare const OTP_LENGTH_AWARE_KEY = "otpLengthAware";
2
+ export declare const OtpLengthAware: () => import("@nestjs/common").CustomDecorator<string>;
3
+ //# sourceMappingURL=otp-length-aware.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-length-aware.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/otp-length-aware.decorator.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,cAAc,wDAAgD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OtpLengthAware = exports.OTP_LENGTH_AWARE_KEY = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.OTP_LENGTH_AWARE_KEY = 'otpLengthAware';
6
+ const OtpLengthAware = () => (0, common_1.SetMetadata)(exports.OTP_LENGTH_AWARE_KEY, true);
7
+ exports.OtpLengthAware = OtpLengthAware;
8
+ //# sourceMappingURL=otp-length-aware.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-length-aware.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/otp-length-aware.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAEhC,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,4BAAoB,EAAE,IAAI,CAAC,CAAC;AAA/D,QAAA,cAAc,kBAAiD"}
@@ -0,0 +1,3 @@
1
+ export declare const PIN_LENGTH_AWARE_KEY = "pinLengthAware";
2
+ export declare const PinLengthAware: () => import("@nestjs/common").CustomDecorator<string>;
3
+ //# sourceMappingURL=pin-length-aware.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin-length-aware.decorator.d.ts","sourceRoot":"","sources":["../../../src/common/decorators/pin-length-aware.decorator.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,cAAc,wDAAgD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PinLengthAware = exports.PIN_LENGTH_AWARE_KEY = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.PIN_LENGTH_AWARE_KEY = 'pinLengthAware';
6
+ const PinLengthAware = () => (0, common_1.SetMetadata)(exports.PIN_LENGTH_AWARE_KEY, true);
7
+ exports.PinLengthAware = PinLengthAware;
8
+ //# sourceMappingURL=pin-length-aware.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin-length-aware.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/pin-length-aware.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAEhC,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,4BAAoB,EAAE,IAAI,CAAC,CAAC;AAA/D,QAAA,cAAc,kBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-aware-validation.pipe.d.ts","sourceRoot":"","sources":["../../../src/common/pipes/config-aware-validation.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmC,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAInG,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAInF,qBACa,yBAA0B,SAAQ,cAAc;IAGhD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAF5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEhB,eAAe,EAAE,eAAe;IAWvD,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB;CAY1D"}
1
+ {"version":3,"file":"config-aware-validation.pipe.d.ts","sourceRoot":"","sources":["../../../src/common/pipes/config-aware-validation.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmC,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMnG,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAInF,qBACa,yBAA0B,SAAQ,cAAc;IAGhD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAF5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEhB,eAAe,EAAE,eAAe;IAWvD,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB;CAqB1D"}
@@ -13,6 +13,8 @@ exports.ConfigAwareValidationPipe = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const core_1 = require("@nestjs/core");
15
15
  const auth_method_aware_decorator_1 = require("../decorators/auth-method-aware.decorator");
16
+ const pin_length_aware_decorator_1 = require("../decorators/pin-length-aware.decorator");
17
+ const otp_length_aware_decorator_1 = require("../decorators/otp-length-aware.decorator");
16
18
  const settings_service_1 = require("../../modules/settings/services/settings.service");
17
19
  const settings_keys_1 = require("../../modules/settings/constants/settings.keys");
18
20
  const validation_1 = require("../utils/validation");
@@ -29,10 +31,17 @@ let ConfigAwareValidationPipe = class ConfigAwareValidationPipe extends common_1
29
31
  this.reflector = new core_1.Reflector();
30
32
  }
31
33
  async transform(value, metadata) {
32
- const isAware = metadata.metatype &&
33
- this.reflector.get(auth_method_aware_decorator_1.AUTH_METHOD_AWARE_KEY, metadata.metatype);
34
- if (isAware) {
35
- value['_authMethod'] = this.settingsService.get(settings_keys_1.SETTING_KEYS.AUTH_METHOD);
34
+ if (metadata.metatype && value && typeof value === 'object') {
35
+ const obj = value;
36
+ if (this.reflector.get(auth_method_aware_decorator_1.AUTH_METHOD_AWARE_KEY, metadata.metatype)) {
37
+ obj['_authMethod'] = this.settingsService.get(settings_keys_1.SETTING_KEYS.AUTH_METHOD);
38
+ }
39
+ if (this.reflector.get(pin_length_aware_decorator_1.PIN_LENGTH_AWARE_KEY, metadata.metatype)) {
40
+ obj['_pinLength'] = this.settingsService.get(settings_keys_1.SETTING_KEYS.PIN_LENGTH);
41
+ }
42
+ if (this.reflector.get(otp_length_aware_decorator_1.OTP_LENGTH_AWARE_KEY, metadata.metatype)) {
43
+ obj['_otpCodeLength'] = this.settingsService.get(settings_keys_1.SETTING_KEYS.OTP_CODE_LENGTH);
44
+ }
36
45
  }
37
46
  return super.transform(value, metadata);
38
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-aware-validation.pipe.js","sourceRoot":"","sources":["../../../src/common/pipes/config-aware-validation.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmG;AACnG,uCAAyC;AAEzC,2FAAkF;AAClF,uFAAmF;AACnF,kFAA8E;AAC9E,oDAAmE;AAG5D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAc;IAG5D,YAA6B,eAAgC;QAC5D,KAAK,CAAC;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,CAAC,MAAyB,EAAE,EAAE,CAC/C,IAAI,4BAAmB,CAAC,IAAA,yCAA4B,EAAC,MAAM,CAAC,CAAC;SAC9D,CAAC,CAAC;QARyB,oBAAe,GAAf,eAAe,CAAiB;QAF5C,cAAS,GAAG,IAAI,gBAAS,EAAE,CAAC;IAW7C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAc,EAAE,QAA0B;QACzD,MAAM,OAAO,GACZ,QAAQ,CAAC,QAAQ;YACjB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,mDAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEvE,IAAI,OAAO,EAAE,CAAC;YACZ,KAAiC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAC3E,4BAAY,CAAC,WAAW,CACxB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACD,CAAA;AA1BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAIkC,kCAAe;GAHjD,yBAAyB,CA0BrC"}
1
+ {"version":3,"file":"config-aware-validation.pipe.js","sourceRoot":"","sources":["../../../src/common/pipes/config-aware-validation.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmG;AACnG,uCAAyC;AAEzC,2FAAkF;AAClF,yFAAgF;AAChF,yFAAgF;AAChF,uFAAmF;AACnF,kFAA8E;AAC9E,oDAAmE;AAG5D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,uBAAc;IAG5D,YAA6B,eAAgC;QAC5D,KAAK,CAAC;YACL,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,oBAAoB,EAAE,IAAI;YAC1B,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,CAAC,MAAyB,EAAE,EAAE,CAC/C,IAAI,4BAAmB,CAAC,IAAA,yCAA4B,EAAC,MAAM,CAAC,CAAC;SAC9D,CAAC,CAAC;QARyB,oBAAe,GAAf,eAAe,CAAiB;QAF5C,cAAS,GAAG,IAAI,gBAAS,EAAE,CAAC;IAW7C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAc,EAAE,QAA0B;QACzD,IAAI,QAAQ,CAAC,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,KAAgC,CAAC;YAE7C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,mDAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS,4BAAY,CAAC,WAAW,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,iDAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAS,4BAAY,CAAC,UAAU,CAAC,CAAC;YAC/E,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,iDAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAC/C,4BAAY,CAAC,eAAe,CAC5B,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACD,CAAA;AAnCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAIkC,kCAAe;GAHjD,yBAAyB,CAmCrC"}
@@ -0,0 +1,9 @@
1
+ import { ValidationArguments, ValidationOptions, ValidatorConstraintInterface } from 'class-validator';
2
+ export declare class IsOtpVerificationCodeConstraint implements ValidatorConstraintInterface {
3
+ validate(value: unknown): boolean;
4
+ defaultMessage(_args: ValidationArguments): string;
5
+ }
6
+ export declare function IsOtpVerificationCode(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
7
+ export declare const IsConfiguredOtpLength: typeof IsOtpVerificationCode;
8
+ export declare const IsConfiguredOtpLengthConstraint: typeof IsOtpVerificationCodeConstraint;
9
+ //# sourceMappingURL=is-configured-otp-length.validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-configured-otp-length.validator.d.ts","sourceRoot":"","sources":["../../../src/common/validators/is-configured-otp-length.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,iBAAiB,EAEjB,4BAA4B,EAC5B,MAAM,iBAAiB,CAAC;AAOzB,qBACa,+BAAgC,YAAW,4BAA4B;IACnF,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IASjC,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAGlD;AAED,wBAAgB,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,IACzD,QAAQ,MAAM,EAAE,cAAc,MAAM,UASrD;AAGD,eAAO,MAAM,qBAAqB,8BAAwB,CAAC;AAC3D,eAAO,MAAM,+BAA+B,wCAAkC,CAAC"}
@@ -0,0 +1,40 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.IsConfiguredOtpLengthConstraint = exports.IsConfiguredOtpLength = exports.IsOtpVerificationCodeConstraint = void 0;
10
+ exports.IsOtpVerificationCode = IsOtpVerificationCode;
11
+ const class_validator_1 = require("class-validator");
12
+ const otp_constants_1 = require("../../modules/otp/constants/otp.constants");
13
+ let IsOtpVerificationCodeConstraint = class IsOtpVerificationCodeConstraint {
14
+ validate(value) {
15
+ if (typeof value !== 'string')
16
+ return false;
17
+ return (0, otp_constants_1.isValidOtpCode)(value);
18
+ }
19
+ defaultMessage(_args) {
20
+ return `OTP must be a numeric code (${otp_constants_1.OTP_MIN_LENGTH}–${otp_constants_1.OTP_MAX_LENGTH} digits)`;
21
+ }
22
+ };
23
+ exports.IsOtpVerificationCodeConstraint = IsOtpVerificationCodeConstraint;
24
+ exports.IsOtpVerificationCodeConstraint = IsOtpVerificationCodeConstraint = __decorate([
25
+ (0, class_validator_1.ValidatorConstraint)({ name: 'isOtpVerificationCode', async: false })
26
+ ], IsOtpVerificationCodeConstraint);
27
+ function IsOtpVerificationCode(validationOptions) {
28
+ return function (object, propertyName) {
29
+ (0, class_validator_1.registerDecorator)({
30
+ target: object.constructor,
31
+ propertyName,
32
+ options: validationOptions,
33
+ constraints: [],
34
+ validator: IsOtpVerificationCodeConstraint,
35
+ });
36
+ };
37
+ }
38
+ exports.IsConfiguredOtpLength = IsOtpVerificationCode;
39
+ exports.IsConfiguredOtpLengthConstraint = IsOtpVerificationCodeConstraint;
40
+ //# sourceMappingURL=is-configured-otp-length.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-configured-otp-length.validator.js","sourceRoot":"","sources":["../../../src/common/validators/is-configured-otp-length.validator.ts"],"names":[],"mappings":";;;;;;;;;AA6BA,sDAUC;AAvCD,qDAMyB;AACzB,6EAImD;AAG5C,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAC3C,QAAQ,CAAC,KAAc;QACtB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAK5C,OAAO,IAAA,8BAAc,EAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,KAA0B;QACxC,OAAO,+BAA+B,8BAAc,IAAI,8BAAc,UAAU,CAAC;IAClF,CAAC;CACD,CAAA;AAbY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACxD,+BAA+B,CAa3C;AAED,SAAgB,qBAAqB,CAAC,iBAAqC;IAC1E,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,+BAA+B;SAC1C,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAGY,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC9C,QAAA,+BAA+B,GAAG,+BAA+B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ValidationArguments, ValidationOptions, ValidatorConstraintInterface } from 'class-validator';
2
+ export declare class IsConfiguredPinLengthConstraint implements ValidatorConstraintInterface {
3
+ validate(value: unknown, args: ValidationArguments): boolean;
4
+ defaultMessage(args: ValidationArguments): string;
5
+ }
6
+ export declare function IsConfiguredPinLength(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
7
+ //# sourceMappingURL=is-configured-pin-length.validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-configured-pin-length.validator.d.ts","sourceRoot":"","sources":["../../../src/common/validators/is-configured-pin-length.validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,mBAAmB,EACnB,iBAAiB,EAEjB,4BAA4B,EAC5B,MAAM,iBAAiB,CAAC;AAWzB,qBACa,+BAAgC,YAAW,4BAA4B;IACnF,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAM5D,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM;CAIjD;AAED,wBAAgB,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,IACzD,QAAQ,MAAM,EAAE,cAAc,MAAM,UASrD"}
@@ -0,0 +1,43 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.IsConfiguredPinLengthConstraint = void 0;
10
+ exports.IsConfiguredPinLength = IsConfiguredPinLength;
11
+ const class_validator_1 = require("class-validator");
12
+ const settings_defaults_1 = require("../../modules/settings/constants/settings.defaults");
13
+ function resolvePinLength(dto) {
14
+ return dto._pinLength ?? settings_defaults_1.SETTING_DEFAULTS['pin.length'];
15
+ }
16
+ let IsConfiguredPinLengthConstraint = class IsConfiguredPinLengthConstraint {
17
+ validate(value, args) {
18
+ if (typeof value !== 'string')
19
+ return false;
20
+ const length = resolvePinLength(args.object);
21
+ return new RegExp(`^\\d{${length}}$`).test(value);
22
+ }
23
+ defaultMessage(args) {
24
+ const length = resolvePinLength(args.object);
25
+ return `PIN must be exactly ${length} digits`;
26
+ }
27
+ };
28
+ exports.IsConfiguredPinLengthConstraint = IsConfiguredPinLengthConstraint;
29
+ exports.IsConfiguredPinLengthConstraint = IsConfiguredPinLengthConstraint = __decorate([
30
+ (0, class_validator_1.ValidatorConstraint)({ name: 'isConfiguredPinLength', async: false })
31
+ ], IsConfiguredPinLengthConstraint);
32
+ function IsConfiguredPinLength(validationOptions) {
33
+ return function (object, propertyName) {
34
+ (0, class_validator_1.registerDecorator)({
35
+ target: object.constructor,
36
+ propertyName,
37
+ options: validationOptions,
38
+ constraints: [],
39
+ validator: IsConfiguredPinLengthConstraint,
40
+ });
41
+ };
42
+ }
43
+ //# sourceMappingURL=is-configured-pin-length.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-configured-pin-length.validator.js","sourceRoot":"","sources":["../../../src/common/validators/is-configured-pin-length.validator.ts"],"names":[],"mappings":";;;;;;;;;AA+BA,sDAUC;AAzCD,qDAMyB;AACzB,0FAAsF;AAMtF,SAAS,gBAAgB,CAAC,GAAmB;IAC5C,OAAO,GAAG,CAAC,UAAU,IAAI,oCAAgB,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC;AAGM,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAC3C,QAAQ,CAAC,KAAc,EAAE,IAAyB;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC;QAC/D,OAAO,IAAI,MAAM,CAAC,QAAQ,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,IAAyB;QACvC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAwB,CAAC,CAAC;QAC/D,OAAO,uBAAuB,MAAM,SAAS,CAAC;IAC/C,CAAC;CACD,CAAA;AAXY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GACxD,+BAA+B,CAW3C;AAED,SAAgB,qBAAqB,CAAC,iBAAqC;IAC1E,OAAO,UAAU,MAAc,EAAE,YAAoB;QACpD,IAAA,mCAAiB,EAAC;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,+BAA+B;SAC1C,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings.seed.d.ts","sourceRoot":"","sources":["../../../src/database/seeds/settings.seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAKhF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;AAErF,qBAAa,YAAY;IAIZ,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;gBAE3C,UAAU,EAAE,UAAU;IAIpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB1B,OAAO,CAAC,aAAa;CA+hBrB"}
1
+ {"version":3,"file":"settings.seed.d.ts","sourceRoot":"","sources":["../../../src/database/seeds/settings.seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAKhF,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;AAErF,qBAAa,YAAY;IAIZ,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA4B;gBAE3C,UAAU,EAAE,UAAU;IAIpC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB1B,OAAO,CAAC,aAAa;CAijBrB"}
@@ -118,6 +118,14 @@ class SettingsSeed {
118
118
  description: 'Maximum wrong-code attempts before the session is locked out.',
119
119
  isEditable: true,
120
120
  },
121
+ {
122
+ key: settings_keys_1.SETTING_KEYS.OTP_CODE_LENGTH,
123
+ value: String(settings_defaults_1.SETTING_DEFAULTS['otp.code_length']),
124
+ type: 'integer',
125
+ group: 'otp',
126
+ description: 'Number of digits in generated OTP codes (4–6, default 6).',
127
+ isEditable: true,
128
+ },
121
129
  {
122
130
  key: settings_keys_1.SETTING_KEYS.OTP_RESEND_COOLDOWN_SECONDS,
123
131
  value: String(settings_defaults_1.SETTING_DEFAULTS['otp.resend_cooldown_seconds']),
@@ -494,6 +502,14 @@ class SettingsSeed {
494
502
  isEditable: true,
495
503
  },
496
504
  ...emailTemplateSettings,
505
+ {
506
+ key: settings_keys_1.SETTING_KEYS.PIN_LENGTH,
507
+ value: String(settings_defaults_1.SETTING_DEFAULTS['pin.length']),
508
+ type: 'integer',
509
+ group: 'pin',
510
+ description: 'Required number of digits for user PINs.',
511
+ isEditable: true,
512
+ },
497
513
  {
498
514
  key: settings_keys_1.SETTING_KEYS.FIREBASE_PROJECT_ID,
499
515
  value: settings_defaults_1.SETTING_DEFAULTS['firebase.project_id'],
@@ -1 +1 @@
1
- {"version":3,"file":"settings.seed.js","sourceRoot":"","sources":["../../../src/database/seeds/settings.seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.seed.js","sourceRoot":"","sources":["../../../src/database/seeds/settings.seed.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class PinController {
5
5
  private readonly pinAuthService;
6
6
  constructor(pinAuthService: PinAuthService);
7
7
  getStatus(user: User): Promise<PinStatusDto[]>;
8
+ getStatusForType(user: User, type: string): Promise<PinStatusDto>;
8
9
  setPin(user: User, dto: SetPinDto): Promise<{
9
10
  message: string;
10
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"pin.controller.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/controllers/pin.controller.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnG,qBAIa,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IA2B3D,SAAS,CAAgB,IAAI,EAAE,IAAI;IAoBnC,MAAM,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,SAAS;;;IAkBxD,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;IAuB9D,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;IAoB9D,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;CAG9D"}
1
+ {"version":3,"file":"pin.controller.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/controllers/pin.controller.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnG,qBAIa,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IA2B3D,SAAS,CAAgB,IAAI,EAAE,IAAI;IA8BnC,gBAAgB,CAAgB,IAAI,EAAE,IAAI,EAAiB,IAAI,EAAE,MAAM;IAoBvE,MAAM,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,SAAS;;;IAkBxD,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;IAuB9D,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;IAoB9D,SAAS,CAAgB,IAAI,EAAE,IAAI,EAAU,GAAG,EAAE,YAAY;;;CAG9D"}
@@ -27,6 +27,9 @@ let PinController = class PinController {
27
27
  getStatus(user) {
28
28
  return this.pinAuthService.getPinStatus(user.id);
29
29
  }
30
+ getStatusForType(user, type) {
31
+ return this.pinAuthService.getPinStatusForType(user.id, type);
32
+ }
30
33
  setPin(user, dto) {
31
34
  return this.pinAuthService.setPin(user.id, dto);
32
35
  }
@@ -69,6 +72,38 @@ __decorate([
69
72
  __metadata("design:paramtypes", [user_entity_1.User]),
70
73
  __metadata("design:returntype", void 0)
71
74
  ], PinController.prototype, "getStatus", null);
75
+ __decorate([
76
+ (0, common_1.Get)('status/:type'),
77
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
78
+ (0, swagger_1.ApiOperation)({
79
+ summary: 'Check if PIN is set for a type',
80
+ description: 'Returns whether the authenticated user has a PIN configured for the given type, ' +
81
+ 'along with lock state and timestamps when set.',
82
+ }),
83
+ (0, swagger_1.ApiParam)({
84
+ name: 'type',
85
+ example: 'authentication',
86
+ description: 'PIN type (must be one of the allowed types in app-settings)',
87
+ }),
88
+ (0, swagger_1.ApiOkResponse)({
89
+ type: pin_dto_1.PinStatusDto,
90
+ schema: {
91
+ example: {
92
+ type: 'authentication',
93
+ isSet: true,
94
+ pinUpdatedAt: '2024-01-15T10:30:00.000Z',
95
+ lastVerifiedAt: '2024-01-16T08:00:00.000Z',
96
+ isLocked: false,
97
+ },
98
+ },
99
+ }),
100
+ (0, swagger_1.ApiBadRequestResponse)({ description: 'Unknown PIN type' }),
101
+ __param(0, (0, decorators_1.CurrentUser)()),
102
+ __param(1, (0, common_1.Param)('type')),
103
+ __metadata("design:type", Function),
104
+ __metadata("design:paramtypes", [user_entity_1.User, String]),
105
+ __metadata("design:returntype", void 0)
106
+ ], PinController.prototype, "getStatusForType", null);
72
107
  __decorate([
73
108
  (0, common_1.Post)('set'),
74
109
  (0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
@@ -1 +1 @@
1
- {"version":3,"file":"pin.controller.js","sourceRoot":"","sources":["../../../../src/modules/auth/controllers/pin.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pin.controller.js","sourceRoot":"","sources":["../../../../src/modules/auth/controllers/pin.controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- export declare class LoginPhoneDto {
1
+ import { PinLengthAwareDto } from './pin.dto';
2
+ export declare class LoginPhoneDto extends PinLengthAwareDto {
2
3
  phoneNumber: string;
3
4
  pin?: string;
4
5
  password?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"login-phone.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/login-phone.dto.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAa;IAGzB,WAAW,EAAG,MAAM,CAAC;IAOrB,GAAG,CAAC,EAAE,MAAM,CAAC;IAQb,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"login-phone.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/login-phone.dto.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,qBACa,aAAc,SAAQ,iBAAiB;IAGnD,WAAW,EAAG,MAAM,CAAC;IAOrB,GAAG,CAAC,EAAE,MAAM,CAAC;IAQb,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -11,8 +11,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.LoginPhoneDto = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
- class LoginPhoneDto {
15
- }
14
+ const pin_length_aware_decorator_1 = require("../../../common/decorators/pin-length-aware.decorator");
15
+ const is_configured_pin_length_validator_1 = require("../../../common/validators/is-configured-pin-length.validator");
16
+ const pin_dto_1 = require("./pin.dto");
17
+ let LoginPhoneDto = class LoginPhoneDto extends pin_dto_1.PinLengthAwareDto {
18
+ };
16
19
  exports.LoginPhoneDto = LoginPhoneDto;
17
20
  __decorate([
18
21
  (0, class_validator_1.IsString)(),
@@ -21,7 +24,7 @@ __decorate([
21
24
  ], LoginPhoneDto.prototype, "phoneNumber", void 0);
22
25
  __decorate([
23
26
  (0, class_validator_1.IsOptional)(),
24
- (0, class_validator_1.Matches)(/^\d{4,8}$/),
27
+ (0, is_configured_pin_length_validator_1.IsConfiguredPinLength)(),
25
28
  __metadata("design:type", String)
26
29
  ], LoginPhoneDto.prototype, "pin", void 0);
27
30
  __decorate([
@@ -30,4 +33,7 @@ __decorate([
30
33
  (0, class_validator_1.MinLength)(6),
31
34
  __metadata("design:type", String)
32
35
  ], LoginPhoneDto.prototype, "password", void 0);
36
+ exports.LoginPhoneDto = LoginPhoneDto = __decorate([
37
+ (0, pin_length_aware_decorator_1.PinLengthAware)()
38
+ ], LoginPhoneDto);
33
39
  //# sourceMappingURL=login-phone.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-phone.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/login-phone.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAA2E;AAE3E,MAAa,aAAa;CAmBzB;AAnBD,sCAmBC;AAhBA;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,yBAAO,EAAC,oBAAoB,CAAC;;kDACT;AAOrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,WAAW,CAAC;;0CACR;AAQb;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;+CACK"}
1
+ {"version":3,"file":"login-phone.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/login-phone.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAA2E;AAC3E,sGAAuF;AACvF,sHAAsG;AACtG,uCAA8C;AAGvC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,2BAAiB;CAmBnD,CAAA;AAnBY,sCAAa;AAGzB;IAFC,IAAA,0BAAQ,GAAE;IACV,IAAA,yBAAO,EAAC,oBAAoB,CAAC;;kDACT;AAOrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0DAAqB,GAAE;;0CACX;AAQb;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,CAAC,CAAC;;+CACK;wBAlBN,aAAa;IADzB,IAAA,2CAAc,GAAE;GACJ,aAAa,CAmBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"otp.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/otp.dto.ts"],"names":[],"mappings":"AAqBA,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAI7D;AAED,qBACa,UAAU;IAGtB,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAUhC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAQ1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAY;IAGxB,cAAc,EAAG,MAAM,CAAC;IAIxB,GAAG,EAAG,MAAM,CAAC;CACb;AAED,qBAAa,YAAY;IAGxB,cAAc,EAAG,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"otp.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/otp.dto.ts"],"names":[],"mappings":"AAcA,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAI7D;AAED,qBACa,UAAU;IAGtB,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAUhC,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAQ1B,KAAK,CAAC,EAAE,MAAM,CAAC;IAQf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAY;IAGxB,cAAc,EAAG,MAAM,CAAC;IAQxB,GAAG,EAAG,MAAM,CAAC;CACb;AAED,qBAAa,YAAY;IAGxB,cAAc,EAAG,MAAM,CAAC;CACxB"}
@@ -14,6 +14,7 @@ exports.resolveChannel = resolveChannel;
14
14
  const class_validator_1 = require("class-validator");
15
15
  const swagger_1 = require("@nestjs/swagger");
16
16
  const auth_method_aware_decorator_1 = require("../../../common/decorators/auth-method-aware.decorator");
17
+ const is_configured_otp_length_validator_1 = require("../../../common/validators/is-configured-otp-length.validator");
17
18
  function resolveChannel(o) {
18
19
  if (o.channel)
19
20
  return o.channel;
@@ -68,8 +69,11 @@ __decorate([
68
69
  __metadata("design:type", String)
69
70
  ], VerifyOtpDto.prototype, "verificationId", void 0);
70
71
  __decorate([
71
- (0, swagger_1.ApiProperty)({ example: '123456', description: '6-digit OTP code sent via SMS or email' }),
72
- (0, class_validator_1.Matches)(/^\d{6}$/, { message: 'OTP must be exactly 6 digits' }),
72
+ (0, swagger_1.ApiProperty)({
73
+ example: '123456',
74
+ description: 'OTP code sent via SMS or email (4–6 digits). Normally matches otp.code_length; test OTP codes may differ.',
75
+ }),
76
+ (0, is_configured_otp_length_validator_1.IsConfiguredOtpLength)(),
73
77
  __metadata("design:type", String)
74
78
  ], VerifyOtpDto.prototype, "otp", void 0);
75
79
  class ResendOtpDto {
@@ -1 +1 @@
1
- {"version":3,"file":"otp.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/otp.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAqBA,wCAIC;AAzBD,qDAQyB;AACzB,6CAAmE;AACnE,wGAAyF;AAWzF,SAAgB,cAAc,CAAC,CAAa;IAC3C,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9C,OAAO,KAAK,CAAC;AACd,CAAC;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;CA8BtB,CAAA;AA9BY,gCAAU;AAGtB;IADC,IAAA,4BAAU,GAAE;;+CACmB;AAUhC;IARC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,WAAW,EACV,gGAAgG;KACjG,CAAC;IACD,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtB,IAAA,4BAAU,GAAE;;2CACa;AAQ1B;IANC,IAAA,6BAAmB,EAAC;QACpB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,yEAAyE;KACtF,CAAC;IACD,IAAA,4BAAU,EAAC,CAAC,CAAa,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IAC1D,IAAA,+BAAa,GAAE;;yCACD;AAQf;IANC,IAAA,6BAAmB,EAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,4DAA4D;KACzE,CAAC;IACD,IAAA,4BAAU,EAAC,CAAC,CAAa,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC5D,IAAA,yBAAO,GAAE;;yCACK;qBA7BH,UAAU;IADtB,IAAA,6CAAe,GAAE;GACL,UAAU,CA8BtB;AAED,MAAa,YAAY;CAQxB;AARD,oCAQC;AALA;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;IAClF,IAAA,wBAAM,GAAE;;oDACe;AAIxB;IAFC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;IACzF,IAAA,yBAAO,EAAC,SAAS,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;yCACnD;AAGd,MAAa,YAAY;CAIxB;AAJD,oCAIC;AADA;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;IACpE,IAAA,wBAAM,GAAE;;oDACe"}
1
+ {"version":3,"file":"otp.dto.js","sourceRoot":"","sources":["../../../../src/modules/auth/dto/otp.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAcA,wCAIC;AAlBD,qDAA+F;AAC/F,6CAAmE;AACnE,wGAAyF;AACzF,sHAAsG;AAWtG,SAAgB,cAAc,CAAC,CAAa;IAC3C,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,OAAO,CAAC;IAChC,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC9C,OAAO,KAAK,CAAC;AACd,CAAC;AAGM,IAAM,UAAU,GAAhB,MAAM,UAAU;CA8BtB,CAAA;AA9BY,gCAAU;AAGtB;IADC,IAAA,4BAAU,GAAE;;+CACmB;AAUhC;IARC,IAAA,6BAAmB,EAAC;QACpB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK;QACd,WAAW,EACV,gGAAgG;KACjG,CAAC;IACD,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtB,IAAA,4BAAU,GAAE;;2CACa;AAQ1B;IANC,IAAA,6BAAmB,EAAC;QACpB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,yEAAyE;KACtF,CAAC;IACD,IAAA,4BAAU,EAAC,CAAC,CAAa,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IAC1D,IAAA,+BAAa,GAAE;;yCACD;AAQf;IANC,IAAA,6BAAmB,EAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,4DAA4D;KACzE,CAAC;IACD,IAAA,4BAAU,EAAC,CAAC,CAAa,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC5D,IAAA,yBAAO,GAAE;;yCACK;qBA7BH,UAAU;IADtB,IAAA,6CAAe,GAAE;GACL,UAAU,CA8BtB;AAED,MAAa,YAAY;CAYxB;AAZD,oCAYC;AATA;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;IAClF,IAAA,wBAAM,GAAE;;oDACe;AAQxB;IANC,IAAA,qBAAW,EAAC;QACZ,OAAO,EAAE,QAAQ;QACjB,WAAW,EACV,2GAA2G;KAC5G,CAAC;IACD,IAAA,0DAAqB,GAAE;;yCACX;AAGd,MAAa,YAAY;CAIxB;AAJD,oCAIC;AADA;IAFC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;IACpE,IAAA,wBAAM,GAAE;;oDACe"}
@@ -1,17 +1,20 @@
1
- export declare class SetPinDto {
1
+ export declare class PinLengthAwareDto {
2
+ _pinLength?: number;
3
+ }
4
+ export declare class SetPinDto extends PinLengthAwareDto {
2
5
  type: string;
3
6
  pin: string;
4
7
  }
5
- export declare class ChangePinDto {
8
+ export declare class ChangePinDto extends PinLengthAwareDto {
6
9
  type: string;
7
10
  currentPin: string;
8
11
  newPin: string;
9
12
  }
10
- export declare class VerifyPinDto {
13
+ export declare class VerifyPinDto extends PinLengthAwareDto {
11
14
  type: string;
12
15
  pin: string;
13
16
  }
14
- export declare class RemovePinDto {
17
+ export declare class RemovePinDto extends PinLengthAwareDto {
15
18
  type: string;
16
19
  currentPin: string;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pin.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/pin.dto.ts"],"names":[],"mappings":"AAQA,qBAAa,SAAS;IAOrB,IAAI,EAAG,MAAM,CAAC;IAKd,GAAG,EAAG,MAAM,CAAC;CACb;AAID,qBAAa,YAAY;IAOxB,IAAI,EAAG,MAAM,CAAC;IAKd,UAAU,EAAG,MAAM,CAAC;IAKpB,MAAM,EAAG,MAAM,CAAC;CAChB;AAID,qBAAa,YAAY;IAOxB,IAAI,EAAG,MAAM,CAAC;IAKd,GAAG,EAAG,MAAM,CAAC;CACb;AAID,qBAAa,YAAY;IAOxB,IAAI,EAAG,MAAM,CAAC;IAKd,UAAU,EAAG,MAAM,CAAC;CACpB;AAID,qBAAa,YAAY;IAExB,IAAI,EAAG,MAAM,CAAC;IAGd,KAAK,EAAG,OAAO,CAAC;IAGhB,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,cAAc,CAAC,EAAE,IAAI,CAAC;IAGtB,QAAQ,EAAG,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,IAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"pin.dto.d.ts","sourceRoot":"","sources":["../../../../src/modules/auth/dto/pin.dto.ts"],"names":[],"mappings":"AAMA,qBAAa,iBAAiB;IAE7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBACa,SAAU,SAAQ,iBAAiB;IAO/C,IAAI,EAAG,MAAM,CAAC;IAQd,GAAG,EAAG,MAAM,CAAC;CACb;AAID,qBACa,YAAa,SAAQ,iBAAiB;IAOlD,IAAI,EAAG,MAAM,CAAC;IAKd,UAAU,EAAG,MAAM,CAAC;IAKpB,MAAM,EAAG,MAAM,CAAC;CAChB;AAID,qBACa,YAAa,SAAQ,iBAAiB;IAOlD,IAAI,EAAG,MAAM,CAAC;IAQd,GAAG,EAAG,MAAM,CAAC;CACb;AAID,qBACa,YAAa,SAAQ,iBAAiB;IAOlD,IAAI,EAAG,MAAM,CAAC;IAKd,UAAU,EAAG,MAAM,CAAC;CACpB;AAID,qBAAa,YAAY;IAExB,IAAI,EAAG,MAAM,CAAC;IAGd,KAAK,EAAG,OAAO,CAAC;IAGhB,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,cAAc,CAAC,EAAE,IAAI,CAAC;IAGtB,QAAQ,EAAG,OAAO,CAAC;IAGnB,WAAW,CAAC,EAAE,IAAI,CAAC;CACnB"}