@ambushsoftworks/nestjs-auth-graphql 0.17.1 → 0.19.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 (105) hide show
  1. package/CHANGELOG.md +99 -0
  2. package/README.md +363 -1
  3. package/dist/auth.module.d.ts +16 -0
  4. package/dist/auth.module.d.ts.map +1 -1
  5. package/dist/auth.module.js +71 -3
  6. package/dist/auth.module.js.map +1 -1
  7. package/dist/constants.d.ts +2 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +3 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/decorators/allow-guest-session.decorator.d.ts +3 -0
  12. package/dist/decorators/allow-guest-session.decorator.d.ts.map +1 -0
  13. package/dist/decorators/allow-guest-session.decorator.js +8 -0
  14. package/dist/decorators/allow-guest-session.decorator.js.map +1 -0
  15. package/dist/decorators/current-guest.decorator.d.ts +2 -0
  16. package/dist/decorators/current-guest.decorator.d.ts.map +1 -0
  17. package/dist/decorators/current-guest.decorator.js +7 -0
  18. package/dist/decorators/current-guest.decorator.js.map +1 -0
  19. package/dist/exceptions/email-challenge.exceptions.d.ts +8 -0
  20. package/dist/exceptions/email-challenge.exceptions.d.ts.map +1 -0
  21. package/dist/exceptions/email-challenge.exceptions.js +21 -0
  22. package/dist/exceptions/email-challenge.exceptions.js.map +1 -0
  23. package/dist/exceptions/guest-session.exceptions.d.ts +9 -0
  24. package/dist/exceptions/guest-session.exceptions.d.ts.map +1 -0
  25. package/dist/exceptions/guest-session.exceptions.js +20 -0
  26. package/dist/exceptions/guest-session.exceptions.js.map +1 -0
  27. package/dist/guards/create-auth-guard.d.ts.map +1 -1
  28. package/dist/guards/create-auth-guard.js +29 -1
  29. package/dist/guards/create-auth-guard.js.map +1 -1
  30. package/dist/guards/guest-session.guard.d.ts +14 -0
  31. package/dist/guards/guest-session.guard.d.ts.map +1 -0
  32. package/dist/guards/guest-session.guard.js +63 -0
  33. package/dist/guards/guest-session.guard.js.map +1 -0
  34. package/dist/index.d.ts +11 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +11 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/interfaces/auth-logger.interface.d.ts +10 -1
  39. package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
  40. package/dist/interfaces/auth-logger.interface.js +9 -0
  41. package/dist/interfaces/auth-logger.interface.js.map +1 -1
  42. package/dist/interfaces/email-challenge-repository.interface.d.ts +22 -0
  43. package/dist/interfaces/email-challenge-repository.interface.d.ts.map +1 -0
  44. package/dist/interfaces/email-challenge-repository.interface.js +3 -0
  45. package/dist/interfaces/email-challenge-repository.interface.js.map +1 -0
  46. package/dist/interfaces/email-service.interface.d.ts +5 -0
  47. package/dist/interfaces/email-service.interface.d.ts.map +1 -1
  48. package/dist/interfaces/email-template-renderer.interface.d.ts +7 -0
  49. package/dist/interfaces/email-template-renderer.interface.d.ts.map +1 -1
  50. package/dist/interfaces/guest-session-repository.interface.d.ts +37 -0
  51. package/dist/interfaces/guest-session-repository.interface.d.ts.map +1 -0
  52. package/dist/interfaces/guest-session-repository.interface.js +3 -0
  53. package/dist/interfaces/guest-session-repository.interface.js.map +1 -0
  54. package/dist/interfaces/index.d.ts +2 -0
  55. package/dist/interfaces/index.d.ts.map +1 -1
  56. package/dist/interfaces/index.js +2 -0
  57. package/dist/interfaces/index.js.map +1 -1
  58. package/dist/repositories/in-memory-email-challenge.repository.d.ts +14 -0
  59. package/dist/repositories/in-memory-email-challenge.repository.d.ts.map +1 -0
  60. package/dist/repositories/in-memory-email-challenge.repository.js +55 -0
  61. package/dist/repositories/in-memory-email-challenge.repository.js.map +1 -0
  62. package/dist/repositories/in-memory-guest-session.repository.d.ts +18 -0
  63. package/dist/repositories/in-memory-guest-session.repository.d.ts.map +1 -0
  64. package/dist/repositories/in-memory-guest-session.repository.js +83 -0
  65. package/dist/repositories/in-memory-guest-session.repository.js.map +1 -0
  66. package/dist/services/configurable-email.service.d.ts +2 -1
  67. package/dist/services/configurable-email.service.d.ts.map +1 -1
  68. package/dist/services/configurable-email.service.js +24 -0
  69. package/dist/services/configurable-email.service.js.map +1 -1
  70. package/dist/services/default-email-template-renderer.d.ts +7 -0
  71. package/dist/services/default-email-template-renderer.d.ts.map +1 -1
  72. package/dist/services/default-email-template-renderer.js +31 -0
  73. package/dist/services/default-email-template-renderer.js.map +1 -1
  74. package/dist/services/email-challenge.service.d.ts +74 -0
  75. package/dist/services/email-challenge.service.d.ts.map +1 -0
  76. package/dist/services/email-challenge.service.js +306 -0
  77. package/dist/services/email-challenge.service.js.map +1 -0
  78. package/dist/services/guest-session.service.d.ts +80 -0
  79. package/dist/services/guest-session.service.d.ts.map +1 -0
  80. package/dist/services/guest-session.service.js +293 -0
  81. package/dist/services/guest-session.service.js.map +1 -0
  82. package/dist/services/passkey.service.d.ts.map +1 -1
  83. package/dist/services/passkey.service.js +8 -20
  84. package/dist/services/passkey.service.js.map +1 -1
  85. package/dist/testing/email-challenge-repository.contract.d.ts +15 -0
  86. package/dist/testing/email-challenge-repository.contract.d.ts.map +1 -0
  87. package/dist/testing/email-challenge-repository.contract.js +287 -0
  88. package/dist/testing/email-challenge-repository.contract.js.map +1 -0
  89. package/dist/testing/guest-session-repository.contract.d.ts +18 -0
  90. package/dist/testing/guest-session-repository.contract.d.ts.map +1 -0
  91. package/dist/testing/guest-session-repository.contract.js +368 -0
  92. package/dist/testing/guest-session-repository.contract.js.map +1 -0
  93. package/dist/testing/index.d.ts +2 -0
  94. package/dist/testing/index.d.ts.map +1 -1
  95. package/dist/testing/index.js +7 -1
  96. package/dist/testing/index.js.map +1 -1
  97. package/dist/utils/rate-limit-helpers.d.ts +4 -0
  98. package/dist/utils/rate-limit-helpers.d.ts.map +1 -0
  99. package/dist/utils/rate-limit-helpers.js +20 -0
  100. package/dist/utils/rate-limit-helpers.js.map +1 -0
  101. package/examples/email-challenge/prisma-email-challenge.repository.ts +85 -0
  102. package/examples/email-challenge/schema.prisma +24 -0
  103. package/examples/guest-sessions/prisma-guest-session.repository.ts +86 -0
  104. package/examples/guest-sessions/schema.prisma +33 -0
  105. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -30,6 +30,8 @@ __exportStar(require("./interfaces/brute-force-repository.interface"), exports);
30
30
  __exportStar(require("./interfaces/biometric-repository.interface"), exports);
31
31
  __exportStar(require("./interfaces/biometric-verifier.interface"), exports);
32
32
  __exportStar(require("./interfaces/passkey-repository.interface"), exports);
33
+ __exportStar(require("./interfaces/email-challenge-repository.interface"), exports);
34
+ __exportStar(require("./interfaces/guest-session-repository.interface"), exports);
33
35
  __exportStar(require("./passkey/passkey-json.types"), exports);
34
36
  __exportStar(require("./interfaces/password-policy-config.interface"), exports);
35
37
  __exportStar(require("./interfaces/rate-limiter.interface"), exports);
@@ -58,6 +60,8 @@ __exportStar(require("./services/passkey.service"), exports);
58
60
  __exportStar(require("./services/step-up.service"), exports);
59
61
  __exportStar(require("./services/step-up-token.service"), exports);
60
62
  __exportStar(require("./services/passkey-signup-token.service"), exports);
63
+ __exportStar(require("./services/email-challenge.service"), exports);
64
+ __exportStar(require("./services/guest-session.service"), exports);
61
65
  __exportStar(require("./services/password-validation.service"), exports);
62
66
  __exportStar(require("./services/in-memory-rate-limiter.service"), exports);
63
67
  __exportStar(require("./services/in-memory-refresh-retry-cache"), exports);
@@ -79,6 +83,8 @@ __exportStar(require("./repositories/noop-rate-limiter"), exports);
79
83
  __exportStar(require("./repositories/noop-tenant.repository"), exports);
80
84
  __exportStar(require("./repositories/noop-tenant-extractor"), exports);
81
85
  __exportStar(require("./repositories/in-memory-passkey.repository"), exports);
86
+ __exportStar(require("./repositories/in-memory-email-challenge.repository"), exports);
87
+ __exportStar(require("./repositories/in-memory-guest-session.repository"), exports);
82
88
  __exportStar(require("./strategies/jwt.strategy"), exports);
83
89
  __exportStar(require("./strategies/google.strategy"), exports);
84
90
  __exportStar(require("./strategies/facebook.strategy"), exports);
@@ -126,11 +132,14 @@ __exportStar(require("./decorators/require-scopes.decorator"), exports);
126
132
  __exportStar(require("./decorators/current-tenant.decorator"), exports);
127
133
  __exportStar(require("./decorators/current-realm.decorator"), exports);
128
134
  __exportStar(require("./decorators/resource-scope.decorator"), exports);
135
+ __exportStar(require("./decorators/allow-guest-session.decorator"), exports);
136
+ __exportStar(require("./decorators/current-guest.decorator"), exports);
129
137
  __exportStar(require("./guards/jwt-auth.guard"), exports);
130
138
  __exportStar(require("./guards/tenant.guard"), exports);
131
139
  __exportStar(require("./guards/permission.guard"), exports);
132
140
  __exportStar(require("./guards/scope.guard"), exports);
133
141
  __exportStar(require("./guards/create-auth-guard"), exports);
142
+ __exportStar(require("./guards/guest-session.guard"), exports);
134
143
  __exportStar(require("./guards/csrf.guard"), exports);
135
144
  __exportStar(require("./middleware/realm.middleware"), exports);
136
145
  var auth_user_entity_1 = require("./entities/auth-user.entity");
@@ -144,6 +153,8 @@ __exportStar(require("./exceptions/invalid-auth-config.exception"), exports);
144
153
  __exportStar(require("./exceptions/coded-http.exception"), exports);
145
154
  __exportStar(require("./exceptions/step-up.exceptions"), exports);
146
155
  __exportStar(require("./exceptions/passkey.exceptions"), exports);
156
+ __exportStar(require("./exceptions/email-challenge.exceptions"), exports);
157
+ __exportStar(require("./exceptions/guest-session.exceptions"), exports);
147
158
  __exportStar(require("./enums/verification-type.enum"), exports);
148
159
  __exportStar(require("./types/oauth.types"), exports);
149
160
  __exportStar(require("./utils/provider-helpers"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAYA,gDAA8B;AAC9B,8CAA4B;AAK5B,mEAAiD;AACjD,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,8EAA4D;AAC5D,yEAAuD;AACvD,kFAAgE;AAChE,qEAAmD;AACnD,iFAA+D;AAC/D,gFAA8D;AAC9D,8EAA4D;AAC5D,4EAA0D;AAC1D,4EAA0D;AAC1D,+DAA6C;AAC7C,gFAA8D;AAC9D,sEAAoD;AACpD,6EAA2D;AAC3D,2EAAyD;AACzD,0EAAwD;AACxD,yEAAuD;AACvD,wFAAsE;AACtE,6EAA2D;AAC3D,4EAA0D;AAC1D,iFAA+D;AAC/D,sEAAoD;AACpD,+EAA6D;AAK7D,0DAAwC;AACxC,mEAAiD;AACjD,kEAAgD;AAChD,gEAA8C;AAC9C,iEAA+C;AAC/C,4EAA0D;AAE1D,oEAAkD;AAElD,4EAA0D;AAC1D,yEAAuD;AACvD,wEAAsD;AACtD,yEAAuD;AACvD,6DAA2C;AAC3C,6DAA2C;AAC3C,mEAAiD;AACjD,0EAAwD;AACxD,yEAAuD;AACvD,4EAA0D;AAC1D,2EAAyD;AACzD,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AAKtD,oEAAkD;AAClD,gEAA8C;AAC9C,gEAA8C;AAC9C,8DAA4C;AAC5C,oEAAkD;AAClD,mEAAiD;AACjD,iEAA+C;AAC/C,+DAA6C;AAK7C,8EAA4D;AAC5D,6EAA2D;AAC3D,mEAAiD;AACjD,wEAAsD;AACtD,uEAAqD;AACrD,8EAA4D;AAK5D,4DAA0C;AAC1C,+DAA6C;AAC7C,iEAA+C;AAC/C,oEAAkD;AAClD,sEAAoD;AACpD,gEAA8C;AAC9C,qEAAmD;AAKnD,iEAA+C;AAG/C,+DAA6C;AAM7C,oDAAkC;AAClC,qDAAmC;AACnC,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,2DAAyC;AACzC,kEAAgD;AAChD,sEAAoD;AACpD,2DAAyC;AACzC,wEAAsD;AACtD,sEAAoD;AACpD,kEAAgD;AAChD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,gEAA8C;AAC9C,8DAA4C;AAC5C,6DAA2C;AAC3C,+DAA6C;AAC7C,+DAA6C;AAC7C,yEAAuD;AACvD,iEAA+C;AAC/C,gEAA8C;AAC9C,6EAA2D;AAC3D,8DAA4C;AAC5C,qEAAmD;AACnD,6DAA2C;AAC3C,oEAAkD;AAClD,oDAAkC;AAKlC,sEAAoD;AACpD,gEAA8C;AAC9C,yEAAuD;AACvD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,wEAAsD;AACtD,uEAAqD;AACrD,wEAAsD;AAKtD,0DAAwC;AACxC,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC;AACrC,6DAA2C;AAC3C,sDAAoC;AAKpC,gEAA8C;AAK9C,gEAAuD;AAA9C,4GAAA,QAAQ,OAAA;AAKjB,wEAAsD;AACtD,0EAAwD;AACxD,uEAAqD;AACrD,gEAA8C;AAC9C,yEAAuD;AACvD,6EAA2D;AAC3D,oEAAkD;AAClD,kEAAgD;AAChD,kEAAgD;AAKhD,iEAA+C;AAK/C,sDAAoC;AAKpC,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,4DAA0C;AAC1C,kDAAgC;AAChC,0DAAwC;AACxC,kDAAgC;AAEhC,uDAK+B;AAJ7B,4GAAA,WAAW,OAAA;AACX,yGAAA,QAAQ,OAAA;AACR,gHAAA,eAAe,OAAA;AACf,4HAAA,2BAA2B,OAAA;AAE7B,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,15 @@ export declare enum SecurityEvent {
56
56
  PASSKEY_SIGNUP_STARTED = "PASSKEY_SIGNUP_STARTED",
57
57
  PASSKEY_SIGNUP_FAILURE = "PASSKEY_SIGNUP_FAILURE",
58
58
  STEP_UP_SUCCESS = "STEP_UP_SUCCESS",
59
- STEP_UP_FAILURE = "STEP_UP_FAILURE"
59
+ STEP_UP_FAILURE = "STEP_UP_FAILURE",
60
+ EMAIL_CHALLENGE_ISSUED = "EMAIL_CHALLENGE_ISSUED",
61
+ EMAIL_CHALLENGE_VERIFIED = "EMAIL_CHALLENGE_VERIFIED",
62
+ EMAIL_CHALLENGE_FAILED = "EMAIL_CHALLENGE_FAILED",
63
+ EMAIL_CHALLENGE_LOCKED = "EMAIL_CHALLENGE_LOCKED",
64
+ GUEST_SESSION_ISSUED = "GUEST_SESSION_ISSUED",
65
+ GUEST_SESSION_REJECTED = "GUEST_SESSION_REJECTED",
66
+ GUEST_SESSION_REVOKED = "GUEST_SESSION_REVOKED",
67
+ GUEST_SESSION_ENDED = "GUEST_SESSION_ENDED",
68
+ GUEST_GRANT_REVOKED = "GUEST_GRANT_REVOKED"
60
69
  }
61
70
  //# sourceMappingURL=auth-logger.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IASrC,wBAAwB,6BAA6B;IAcrD,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IAGrD,kBAAkB,uBAAuB;IACzC,4BAA4B,iCAAiC;IAC7D,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAEnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IAGjD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;CACpC"}
1
+ {"version":3,"file":"auth-logger.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,WAAW;IAK1B,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAKpG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK9C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;AAKD,oBAAY,aAAa;IAEvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,UAAU,eAAe;IAQzB,cAAc,mBAAmB;IAGjC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAC/C,oBAAoB,yBAAyB;IAG7C,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IASrC,wBAAwB,6BAA6B;IAcrD,sBAAsB,2BAA2B;IAGjD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,uBAAuB,4BAA4B;IACnD,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAG/B,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IAGnD,kBAAkB,uBAAuB;IACzC,uBAAuB,4BAA4B;IACnD,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,wBAAwB,6BAA6B;IAGrD,kBAAkB,uBAAuB;IACzC,4BAA4B,iCAAiC;IAC7D,qBAAqB,0BAA0B;IAC/C,qBAAqB,0BAA0B;IAE/C,0BAA0B,+BAA+B;IACzD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAEnC,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IAGjD,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IAGnC,sBAAsB,2BAA2B;IACjD,wBAAwB,6BAA6B;IAErD,sBAAsB,2BAA2B;IAEjD,sBAAsB,2BAA2B;IAIjD,oBAAoB,yBAAyB;IAE7C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAE/C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;CAC5C"}
@@ -54,5 +54,14 @@ var SecurityEvent;
54
54
  SecurityEvent["PASSKEY_SIGNUP_FAILURE"] = "PASSKEY_SIGNUP_FAILURE";
55
55
  SecurityEvent["STEP_UP_SUCCESS"] = "STEP_UP_SUCCESS";
56
56
  SecurityEvent["STEP_UP_FAILURE"] = "STEP_UP_FAILURE";
57
+ SecurityEvent["EMAIL_CHALLENGE_ISSUED"] = "EMAIL_CHALLENGE_ISSUED";
58
+ SecurityEvent["EMAIL_CHALLENGE_VERIFIED"] = "EMAIL_CHALLENGE_VERIFIED";
59
+ SecurityEvent["EMAIL_CHALLENGE_FAILED"] = "EMAIL_CHALLENGE_FAILED";
60
+ SecurityEvent["EMAIL_CHALLENGE_LOCKED"] = "EMAIL_CHALLENGE_LOCKED";
61
+ SecurityEvent["GUEST_SESSION_ISSUED"] = "GUEST_SESSION_ISSUED";
62
+ SecurityEvent["GUEST_SESSION_REJECTED"] = "GUEST_SESSION_REJECTED";
63
+ SecurityEvent["GUEST_SESSION_REVOKED"] = "GUEST_SESSION_REVOKED";
64
+ SecurityEvent["GUEST_SESSION_ENDED"] = "GUEST_SESSION_ENDED";
65
+ SecurityEvent["GUEST_GRANT_REVOKED"] = "GUEST_GRANT_REVOKED";
57
66
  })(SecurityEvent || (exports.SecurityEvent = SecurityEvent = {}));
58
67
  //# sourceMappingURL=auth-logger.interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AA2CA,IAAY,aAmGX;AAnGD,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAQzB,kDAAiC,CAAA;IAGjC,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IASrC,sEAAqD,CAAA;IAcrD,kEAAiD,CAAA;IAGjD,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;IAGrD,0DAAyC,CAAA;IACzC,8EAA6D,CAAA;IAC7D,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAE/C,0EAAyD,CAAA;IACzD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IAEnC,kEAAiD,CAAA;IACjD,kEAAiD,CAAA;IAGjD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;AACrC,CAAC,EAnGW,aAAa,6BAAb,aAAa,QAmGxB"}
1
+ {"version":3,"file":"auth-logger.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-logger.interface.ts"],"names":[],"mappings":";;;AA2CA,IAAY,aAqHX;AArHD,WAAY,aAAa;IAEvB,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,kDAAiC,CAAA;IACjC,kCAAiB,CAAA;IACjB,kDAAiC,CAAA;IACjC,0CAAyB,CAAA;IAQzB,kDAAiC,CAAA;IAGjC,gDAA+B,CAAA;IAC/B,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,8DAA6C,CAAA;IAG7C,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IAGrD,kDAAiC,CAAA;IACjC,sDAAqC,CAAA;IASrC,sEAAqD,CAAA;IAcrD,kEAAiD,CAAA;IAGjD,kEAAiD,CAAA;IACjD,4EAA2D,CAAA;IAC3D,sEAAqD,CAAA;IACrD,wEAAuD,CAAA;IACvD,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,oEAAmD,CAAA;IACnD,kDAAiC,CAAA;IACjC,gDAA+B,CAAA;IAG/B,oDAAmC,CAAA;IACnC,gDAA+B,CAAA;IAC/B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;IAC7C,8DAA6C,CAAA;IAC7C,gEAA+C,CAAA;IAC/C,oEAAmD,CAAA;IAGnD,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IACnD,oEAAmD,CAAA;IACnD,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;IAGrD,0DAAyC,CAAA;IACzC,8EAA6D,CAAA;IAC7D,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAE/C,0EAAyD,CAAA;IACzD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IAEnC,kEAAiD,CAAA;IACjD,kEAAiD,CAAA;IAGjD,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IAGnC,kEAAiD,CAAA;IACjD,sEAAqD,CAAA;IAErD,kEAAiD,CAAA;IAEjD,kEAAiD,CAAA;IAIjD,8DAA6C,CAAA;IAE7C,kEAAiD,CAAA;IACjD,gEAA+C,CAAA;IAE/C,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;AAC7C,CAAC,EArHW,aAAa,6BAAb,aAAa,QAqHxB"}
@@ -0,0 +1,22 @@
1
+ export interface EmailChallengeRecord {
2
+ id: string;
3
+ emailHash: string;
4
+ purposeHash: string;
5
+ codeHash: string;
6
+ attempts: number;
7
+ consumedAt: Date | null;
8
+ expiresAt: Date;
9
+ createdAt: Date;
10
+ }
11
+ export interface IEmailChallengeRepository {
12
+ createChallenge(record: EmailChallengeRecord): Promise<void>;
13
+ findChallenge(id: string): Promise<EmailChallengeRecord | null>;
14
+ registerAttempt(id: string, maxAttempts: number): Promise<boolean>;
15
+ consumeChallenge(id: string): Promise<boolean>;
16
+ invalidateChallenges(filter: {
17
+ purposeHash: string;
18
+ emailHash?: string;
19
+ }): Promise<number>;
20
+ deleteExpiredChallenges(): Promise<number>;
21
+ }
22
+ //# sourceMappingURL=email-challenge-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-challenge-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-challenge-repository.interface.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IAEnC,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAMjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IAGxB,SAAS,EAAE,IAAI,CAAC;IAEhB,SAAS,EAAE,IAAI,CAAC;CACjB;AAkBD,MAAM,WAAW,yBAAyB;IAExC,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAO7D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAehE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAOnE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAO/C,oBAAoB,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAG3F,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-challenge-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-challenge-repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/email-challenge-repository.interface.ts"],"names":[],"mappings":""}
@@ -1,3 +1,7 @@
1
+ export interface EmailChallengeEmailContext {
2
+ purpose: string;
3
+ data?: Record<string, unknown>;
4
+ }
1
5
  export interface IEmailService {
2
6
  sendVerificationEmail(email: string, code: string, expiresInMinutes: number, verificationUrl?: string): Promise<void>;
3
7
  sendPasswordResetEmail(email: string, resetToken: string, resetUrl: string, expiresInMinutes?: number): Promise<void>;
@@ -6,5 +10,6 @@ export interface IEmailService {
6
10
  sendPasskeyAddedEmail?(email: string, passkeyName: string, addedAt: Date): Promise<void>;
7
11
  sendPasskeyRemovedEmail?(email: string, passkeyName: string, removedAt: Date): Promise<void>;
8
12
  sendSignupCodeEmail?(email: string, code: string, expiresInMinutes: number): Promise<void>;
13
+ sendEmailChallengeCode?(email: string, code: string, expiresInMinutes: number, context: EmailChallengeEmailContext): Promise<void>;
9
14
  }
10
15
  //# sourceMappingURL=email-service.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-service.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-service.interface.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAkB5B,qBAAqB,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IAiBjB,sBAAsB,CACpB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IAQjB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,IAAI,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAiBjB,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAgB3F,qBAAqB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOzF,uBAAuB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAW7F,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5F"}
1
+ {"version":3,"file":"email-service.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-service.interface.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,0BAA0B;IAEzC,OAAO,EAAE,MAAM,CAAC;IAKhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAWD,MAAM,WAAW,aAAa;IAkB5B,qBAAqB,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAAC;IAiBjB,sBAAsB,CACpB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IAQjB,wBAAwB,CACtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,IAAI,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IAiBjB,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAgB3F,qBAAqB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOzF,uBAAuB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAW7F,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAgB3F,sBAAsB,CAAC,CACrB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -51,5 +51,12 @@ export interface IEmailTemplateRenderer {
51
51
  code: string;
52
52
  expiresInMinutes: number;
53
53
  }): Promise<RenderedEmail>;
54
+ renderEmailChallengeCodeEmail?(params: {
55
+ email: string;
56
+ code: string;
57
+ expiresInMinutes: number;
58
+ purpose: string;
59
+ data?: Record<string, unknown>;
60
+ }): Promise<RenderedEmail>;
54
61
  }
55
62
  //# sourceMappingURL=email-template-renderer.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-template-renderer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-template-renderer.interface.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,MAAM,WAAW,sBAAsB;IAMrC,uBAAuB,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,kBAAkB,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAM3B,wBAAwB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,0BAA0B,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,wBAAwB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,IAAI,CAAC;KACpB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,uBAAuB,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAU3B,qBAAqB,CAAC,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAO3B,uBAAuB,CAAC,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,IAAI,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAG3B,yBAAyB,CAAC,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAO3B,qBAAqB,CAAC,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5B"}
1
+ {"version":3,"file":"email-template-renderer.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-template-renderer.interface.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,MAAM,WAAW,sBAAsB;IAMrC,uBAAuB,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,kBAAkB,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAM3B,wBAAwB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,0BAA0B,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,wBAAwB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,IAAI,CAAC;KACpB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3B,uBAAuB,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAU3B,qBAAqB,CAAC,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAO3B,uBAAuB,CAAC,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,IAAI,CAAC;KACf,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAG3B,yBAAyB,CAAC,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAO3B,qBAAqB,CAAC,CAAC,MAAM,EAAE;QAC7B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAU3B,6BAA6B,CAAC,CAAC,MAAM,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5B"}
@@ -0,0 +1,37 @@
1
+ export interface GuestSessionRecord {
2
+ id: string;
3
+ tokenHash: string;
4
+ principalId: string;
5
+ email: string;
6
+ realm: string | null;
7
+ revokedAt: Date | null;
8
+ createdAt: Date;
9
+ }
10
+ export interface GuestGrantRecord {
11
+ id: string;
12
+ sessionId: string;
13
+ kind: string;
14
+ grantId: string;
15
+ realm: string | null;
16
+ expiresAt: Date;
17
+ revokedAt: Date | null;
18
+ createdAt: Date;
19
+ }
20
+ export interface GuestSessionWithGrants extends GuestSessionRecord {
21
+ grants: GuestGrantRecord[];
22
+ }
23
+ export interface IGuestSessionRepository {
24
+ createSession(session: GuestSessionRecord, grant: GuestGrantRecord): Promise<void>;
25
+ findSessionByTokenHash(tokenHash: string): Promise<GuestSessionWithGrants | null>;
26
+ addGrant(grant: GuestGrantRecord): Promise<void>;
27
+ rotateToken(sessionId: string, oldHash: string, newHash: string): Promise<boolean>;
28
+ revokeSession(sessionId: string): Promise<boolean>;
29
+ revokeGrant(grantRecordId: string): Promise<boolean>;
30
+ revokeGrants(filter: {
31
+ kind: string;
32
+ grantId: string;
33
+ realm: string | null;
34
+ }): Promise<number>;
35
+ deleteExpired(): Promise<number>;
36
+ }
37
+ //# sourceMappingURL=guest-session-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/guest-session-repository.interface.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IAEjC,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,SAAS,EAAE,IAAI,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAE/B,EAAE,EAAE,MAAM,CAAC;IAEX,SAAS,EAAE,MAAM,CAAC;IAGlB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAEhE,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAqBD,MAAM,WAAW,uBAAuB;IAEtC,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAOnF,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAGlF,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAcjD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnD,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAOrD,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAM/F,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAClC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=guest-session-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session-repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/guest-session-repository.interface.ts"],"names":[],"mappings":""}
@@ -3,6 +3,8 @@ export * from './auth-logger.interface';
3
3
  export * from './auth-user.interface';
4
4
  export * from './biometric-repository.interface';
5
5
  export * from './passkey-repository.interface';
6
+ export * from './email-challenge-repository.interface';
7
+ export * from './guest-session-repository.interface';
6
8
  export * from './brute-force-repository.interface';
7
9
  export * from './email-service.interface';
8
10
  export * from './email-template-renderer.interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAIA,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAIA,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mCAAmC,CAAC;AAClD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
@@ -19,6 +19,8 @@ __exportStar(require("./auth-logger.interface"), exports);
19
19
  __exportStar(require("./auth-user.interface"), exports);
20
20
  __exportStar(require("./biometric-repository.interface"), exports);
21
21
  __exportStar(require("./passkey-repository.interface"), exports);
22
+ __exportStar(require("./email-challenge-repository.interface"), exports);
23
+ __exportStar(require("./guest-session-repository.interface"), exports);
22
24
  __exportStar(require("./brute-force-repository.interface"), exports);
23
25
  __exportStar(require("./email-service.interface"), exports);
24
26
  __exportStar(require("./email-template-renderer.interface"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,mEAAiD;AACjD,0DAAwC;AACxC,wDAAsC;AACtC,mEAAiD;AACjD,iEAA+C;AAC/C,qEAAmD;AACnD,4DAA0C;AAC1C,sEAAoD;AACpD,2DAAyC;AACzC,oEAAkD;AAClD,uEAAqD;AACrD,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,sEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,mEAAiD;AACjD,0DAAwC;AACxC,wDAAsC;AACtC,mEAAiD;AACjD,iEAA+C;AAC/C,yEAAuD;AACvD,uEAAqD;AACrD,qEAAmD;AACnD,4DAA0C;AAC1C,sEAAoD;AACpD,2DAAyC;AACzC,oEAAkD;AAClD,uEAAqD;AACrD,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,sEAAoD"}
@@ -0,0 +1,14 @@
1
+ import { EmailChallengeRecord, IEmailChallengeRepository } from '../interfaces/email-challenge-repository.interface';
2
+ export declare class InMemoryEmailChallengeRepository implements IEmailChallengeRepository {
3
+ private readonly challenges;
4
+ createChallenge(record: EmailChallengeRecord): Promise<void>;
5
+ findChallenge(id: string): Promise<EmailChallengeRecord | null>;
6
+ registerAttempt(id: string, maxAttempts: number): Promise<boolean>;
7
+ consumeChallenge(id: string): Promise<boolean>;
8
+ invalidateChallenges(filter: {
9
+ purposeHash: string;
10
+ emailHash?: string;
11
+ }): Promise<number>;
12
+ deleteExpiredChallenges(): Promise<number>;
13
+ }
14
+ //# sourceMappingURL=in-memory-email-challenge.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-email-challenge.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-email-challenge.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,oDAAoD,CAAC;AAY5D,qBAAa,gCAAiC,YAAW,yBAAyB;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IAEhE,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAK/D,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlE,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9C,oBAAoB,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAe1F,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;CAUjD"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InMemoryEmailChallengeRepository = void 0;
4
+ class InMemoryEmailChallengeRepository {
5
+ constructor() {
6
+ this.challenges = new Map();
7
+ }
8
+ async createChallenge(record) {
9
+ this.challenges.set(record.id, { ...record });
10
+ }
11
+ async findChallenge(id) {
12
+ const row = this.challenges.get(id);
13
+ return row ? { ...row } : null;
14
+ }
15
+ async registerAttempt(id, maxAttempts) {
16
+ const row = this.challenges.get(id);
17
+ if (!row || row.consumedAt !== null || row.attempts >= maxAttempts) {
18
+ return false;
19
+ }
20
+ row.attempts += 1;
21
+ return true;
22
+ }
23
+ async consumeChallenge(id) {
24
+ const row = this.challenges.get(id);
25
+ if (!row || row.consumedAt !== null) {
26
+ return false;
27
+ }
28
+ row.consumedAt = new Date();
29
+ return true;
30
+ }
31
+ async invalidateChallenges(filter) {
32
+ let invalidated = 0;
33
+ for (const row of this.challenges.values()) {
34
+ if (row.consumedAt === null &&
35
+ row.purposeHash === filter.purposeHash &&
36
+ (filter.emailHash === undefined || row.emailHash === filter.emailHash)) {
37
+ row.consumedAt = new Date();
38
+ invalidated += 1;
39
+ }
40
+ }
41
+ return invalidated;
42
+ }
43
+ async deleteExpiredChallenges() {
44
+ let deleted = 0;
45
+ for (const [id, row] of this.challenges) {
46
+ if (row.expiresAt.getTime() <= Date.now()) {
47
+ this.challenges.delete(id);
48
+ deleted += 1;
49
+ }
50
+ }
51
+ return deleted;
52
+ }
53
+ }
54
+ exports.InMemoryEmailChallengeRepository = InMemoryEmailChallengeRepository;
55
+ //# sourceMappingURL=in-memory-email-challenge.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-email-challenge.repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-email-challenge.repository.ts"],"names":[],"mappings":";;;AAeA,MAAa,gCAAgC;IAA7C;QACmB,eAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;IAsDxE,CAAC;IApDC,KAAK,CAAC,eAAe,CAAC,MAA4B;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,WAAmB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAmD;QAC5E,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IACE,GAAG,CAAC,UAAU,KAAK,IAAI;gBACvB,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;gBACtC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,EACtE,CAAC;gBACD,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC5B,WAAW,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAvDD,4EAuDC"}
@@ -0,0 +1,18 @@
1
+ import { GuestGrantRecord, GuestSessionRecord, GuestSessionWithGrants, IGuestSessionRepository } from '../interfaces/guest-session-repository.interface';
2
+ export declare class InMemoryGuestSessionRepository implements IGuestSessionRepository {
3
+ private readonly sessions;
4
+ private readonly grants;
5
+ createSession(session: GuestSessionRecord, grant: GuestGrantRecord): Promise<void>;
6
+ findSessionByTokenHash(tokenHash: string): Promise<GuestSessionWithGrants | null>;
7
+ addGrant(grant: GuestGrantRecord): Promise<void>;
8
+ rotateToken(sessionId: string, oldHash: string, newHash: string): Promise<boolean>;
9
+ revokeSession(sessionId: string): Promise<boolean>;
10
+ revokeGrant(grantRecordId: string): Promise<boolean>;
11
+ revokeGrants(filter: {
12
+ kind: string;
13
+ grantId: string;
14
+ realm: string | null;
15
+ }): Promise<number>;
16
+ deleteExpired(): Promise<number>;
17
+ }
18
+ //# sourceMappingURL=in-memory-guest-session.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-guest-session.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/in-memory-guest-session.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,kDAAkD,CAAC;AAW1D,qBAAa,8BAA+B,YAAW,uBAAuB;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAExD,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAYjF,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlD,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASpD,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB9F,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAiBvC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InMemoryGuestSessionRepository = void 0;
4
+ class InMemoryGuestSessionRepository {
5
+ constructor() {
6
+ this.sessions = new Map();
7
+ this.grants = new Map();
8
+ }
9
+ async createSession(session, grant) {
10
+ this.sessions.set(session.id, { ...session });
11
+ this.grants.set(grant.id, { ...grant });
12
+ }
13
+ async findSessionByTokenHash(tokenHash) {
14
+ for (const session of this.sessions.values()) {
15
+ if (session.tokenHash === tokenHash) {
16
+ return {
17
+ ...session,
18
+ grants: [...this.grants.values()].filter((g) => g.sessionId === session.id).map((g) => ({ ...g })),
19
+ };
20
+ }
21
+ }
22
+ return null;
23
+ }
24
+ async addGrant(grant) {
25
+ this.grants.set(grant.id, { ...grant });
26
+ }
27
+ async rotateToken(sessionId, oldHash, newHash) {
28
+ const session = this.sessions.get(sessionId);
29
+ if (!session || session.tokenHash !== oldHash || session.revokedAt !== null) {
30
+ return false;
31
+ }
32
+ session.tokenHash = newHash;
33
+ return true;
34
+ }
35
+ async revokeSession(sessionId) {
36
+ const session = this.sessions.get(sessionId);
37
+ if (!session || session.revokedAt !== null) {
38
+ return false;
39
+ }
40
+ session.revokedAt = new Date();
41
+ return true;
42
+ }
43
+ async revokeGrant(grantRecordId) {
44
+ const grant = this.grants.get(grantRecordId);
45
+ if (!grant || grant.revokedAt !== null) {
46
+ return false;
47
+ }
48
+ grant.revokedAt = new Date();
49
+ return true;
50
+ }
51
+ async revokeGrants(filter) {
52
+ let revoked = 0;
53
+ for (const grant of this.grants.values()) {
54
+ if (grant.revokedAt === null &&
55
+ grant.kind === filter.kind &&
56
+ grant.grantId === filter.grantId &&
57
+ grant.realm === filter.realm) {
58
+ grant.revokedAt = new Date();
59
+ revoked += 1;
60
+ }
61
+ }
62
+ return revoked;
63
+ }
64
+ async deleteExpired() {
65
+ let deleted = 0;
66
+ for (const [id, grant] of this.grants) {
67
+ if (grant.expiresAt.getTime() <= Date.now()) {
68
+ this.grants.delete(id);
69
+ deleted += 1;
70
+ }
71
+ }
72
+ const withGrants = new Set([...this.grants.values()].map((g) => g.sessionId));
73
+ for (const id of this.sessions.keys()) {
74
+ if (!withGrants.has(id)) {
75
+ this.sessions.delete(id);
76
+ deleted += 1;
77
+ }
78
+ }
79
+ return deleted;
80
+ }
81
+ }
82
+ exports.InMemoryGuestSessionRepository = InMemoryGuestSessionRepository;
83
+ //# sourceMappingURL=in-memory-guest-session.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-guest-session.repository.js","sourceRoot":"","sources":["../../src/repositories/in-memory-guest-session.repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IEmailService } from '../interfaces/email-service.interface';
1
+ import { EmailChallengeEmailContext, IEmailService } from '../interfaces/email-service.interface';
2
2
  import { IEmailTemplateRenderer } from '../interfaces/email-template-renderer.interface';
3
3
  import { IEmailSender } from '../interfaces/email-sender.interface';
4
4
  export declare class ConfigurableEmailService implements IEmailService {
@@ -18,6 +18,7 @@ export declare class ConfigurableEmailService implements IEmailService {
18
18
  sendPasskeyAddedEmail(email: string, passkeyName: string, addedAt: Date): Promise<void>;
19
19
  sendPasskeyRemovedEmail(email: string, passkeyName: string, removedAt: Date): Promise<void>;
20
20
  sendSignupCodeEmail(email: string, code: string, expiresInMinutes: number): Promise<void>;
21
+ sendEmailChallengeCode(email: string, code: string, expiresInMinutes: number, context: EmailChallengeEmailContext): Promise<void>;
21
22
  private assertLinkPresent;
22
23
  }
23
24
  //# sourceMappingURL=configurable-email.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configurable-email.service.d.ts","sourceRoot":"","sources":["../../src/services/configurable-email.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAkBpE,qBAAa,wBAAyB,YAAW,aAAa;IAI1D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGjD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,gBAAgB,GAAE,MAAM,GAAG,OAAgB;IAsBxD,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAwBV,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAqBV,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,IAAI,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBV,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzF,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvF,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3F,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/F,OAAO,CAAC,iBAAiB;CAiB1B"}
1
+ {"version":3,"file":"configurable-email.service.d.ts","sourceRoot":"","sources":["../../src/services/configurable-email.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAkBpE,qBAAa,wBAAyB,YAAW,aAAa;IAI1D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGjD,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,gBAAgB,GAAE,MAAM,GAAG,OAAgB;IAyBxD,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAwBV,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,IAAI,CAAC;IAqBV,wBAAwB,CAC5B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,IAAI,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBV,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzF,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvF,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3F,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzF,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC;IAkChB,OAAO,CAAC,iBAAiB;CAiB1B"}
@@ -22,6 +22,9 @@ class ConfigurableEmailService {
22
22
  if (typeof renderer.renderSignupCodeEmail !== 'function') {
23
23
  this.sendSignupCodeEmail = undefined;
24
24
  }
25
+ if (typeof renderer.renderEmailChallengeCodeEmail !== 'function') {
26
+ this.sendEmailChallengeCode = undefined;
27
+ }
25
28
  }
26
29
  async sendVerificationEmail(email, code, expiresInMinutes, verificationUrl) {
27
30
  this.assertLinkPresent(verificationUrl, 'sendVerificationEmail', 'verificationUrl');
@@ -128,6 +131,27 @@ class ConfigurableEmailService {
128
131
  });
129
132
  this.logger.log(`Sign-up code email sent (${(0, personal_data_1.emailForLog)(email)})`);
130
133
  }
134
+ async sendEmailChallengeCode(email, code, expiresInMinutes, context) {
135
+ const render = this.renderer.renderEmailChallengeCodeEmail;
136
+ if (!render) {
137
+ throw new common_1.InternalServerErrorException('Email challenge template is not available');
138
+ }
139
+ const rendered = await render.call(this.renderer, {
140
+ email,
141
+ code,
142
+ expiresInMinutes,
143
+ purpose: context.purpose,
144
+ ...(context.data !== undefined ? { data: context.data } : {}),
145
+ });
146
+ await this.sender.send({
147
+ to: email,
148
+ from: this.from,
149
+ subject: rendered.subject,
150
+ html: rendered.html,
151
+ text: rendered.text,
152
+ });
153
+ this.logger.log(`Email challenge code sent (${(0, personal_data_1.emailForLog)(email)})`);
154
+ }
131
155
  assertLinkPresent(url, method, parameter) {
132
156
  if (this.verificationMode !== 'token' || (url && url.length > 0)) {
133
157
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"configurable-email.service.js","sourceRoot":"","sources":["../../src/services/configurable-email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configurable-email.service.js","sourceRoot":"","sources":["../../src/services/configurable-email.service.ts"],"names":[],"mappings":"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"}