@ambushsoftworks/nestjs-auth-graphql 0.4.0 → 0.6.7

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 (212) hide show
  1. package/README.md +528 -1313
  2. package/dist/auth.module.d.ts +53 -2
  3. package/dist/auth.module.d.ts.map +1 -1
  4. package/dist/auth.module.js +115 -16
  5. package/dist/auth.module.js.map +1 -1
  6. package/dist/constants.d.ts +13 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +14 -1
  9. package/dist/constants.js.map +1 -1
  10. package/dist/decorators/current-tenant.decorator.d.ts +2 -0
  11. package/dist/decorators/current-tenant.decorator.d.ts.map +1 -0
  12. package/dist/decorators/current-tenant.decorator.js +10 -0
  13. package/dist/decorators/current-tenant.decorator.js.map +1 -0
  14. package/dist/decorators/public-endpoint.decorator.d.ts +2 -0
  15. package/dist/decorators/public-endpoint.decorator.d.ts.map +1 -0
  16. package/dist/decorators/public-endpoint.decorator.js +9 -0
  17. package/dist/decorators/public-endpoint.decorator.js.map +1 -0
  18. package/dist/decorators/public.decorator.d.ts +3 -0
  19. package/dist/decorators/public.decorator.d.ts.map +1 -0
  20. package/dist/decorators/public.decorator.js +8 -0
  21. package/dist/decorators/public.decorator.js.map +1 -0
  22. package/dist/decorators/require-permissions.decorator.d.ts +2 -0
  23. package/dist/decorators/require-permissions.decorator.d.ts.map +1 -0
  24. package/dist/decorators/require-permissions.decorator.js +8 -0
  25. package/dist/decorators/require-permissions.decorator.js.map +1 -0
  26. package/dist/decorators/resource-scope.decorator.d.ts +2 -0
  27. package/dist/decorators/resource-scope.decorator.d.ts.map +1 -0
  28. package/dist/decorators/resource-scope.decorator.js +8 -0
  29. package/dist/decorators/resource-scope.decorator.js.map +1 -0
  30. package/dist/decorators/skip-tenant.decorator.d.ts +2 -0
  31. package/dist/decorators/skip-tenant.decorator.d.ts.map +1 -0
  32. package/dist/decorators/skip-tenant.decorator.js +8 -0
  33. package/dist/decorators/skip-tenant.decorator.js.map +1 -0
  34. package/dist/guards/create-auth-guard.d.ts +11 -0
  35. package/dist/guards/create-auth-guard.d.ts.map +1 -0
  36. package/dist/guards/create-auth-guard.js +49 -0
  37. package/dist/guards/create-auth-guard.js.map +1 -0
  38. package/dist/guards/csrf.guard.d.ts +16 -0
  39. package/dist/guards/csrf.guard.d.ts.map +1 -0
  40. package/dist/guards/csrf.guard.js +90 -0
  41. package/dist/guards/csrf.guard.js.map +1 -0
  42. package/dist/guards/permission.guard.d.ts +12 -0
  43. package/dist/guards/permission.guard.d.ts.map +1 -0
  44. package/dist/guards/permission.guard.js +90 -0
  45. package/dist/guards/permission.guard.js.map +1 -0
  46. package/dist/guards/tenant.guard.d.ts +13 -0
  47. package/dist/guards/tenant.guard.d.ts.map +1 -0
  48. package/dist/guards/tenant.guard.js +85 -0
  49. package/dist/guards/tenant.guard.js.map +1 -0
  50. package/dist/index.d.ts +32 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +32 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/interfaces/api-key-repository.interface.d.ts +11 -0
  55. package/dist/interfaces/api-key-repository.interface.d.ts.map +1 -0
  56. package/dist/interfaces/api-key-repository.interface.js +3 -0
  57. package/dist/interfaces/api-key-repository.interface.js.map +1 -0
  58. package/dist/interfaces/auth-lifecycle-hooks.interface.d.ts +2 -0
  59. package/dist/interfaces/auth-lifecycle-hooks.interface.d.ts.map +1 -1
  60. package/dist/interfaces/auth-user.interface.d.ts +28 -10
  61. package/dist/interfaces/auth-user.interface.d.ts.map +1 -1
  62. package/dist/interfaces/auth-user.interface.js.map +1 -1
  63. package/dist/interfaces/email-branding-config.interface.d.ts +10 -0
  64. package/dist/interfaces/email-branding-config.interface.d.ts.map +1 -0
  65. package/dist/interfaces/email-branding-config.interface.js +3 -0
  66. package/dist/interfaces/email-branding-config.interface.js.map +1 -0
  67. package/dist/interfaces/email-sender.interface.d.ts +13 -0
  68. package/dist/interfaces/email-sender.interface.d.ts.map +1 -0
  69. package/dist/interfaces/email-sender.interface.js +3 -0
  70. package/dist/interfaces/email-sender.interface.js.map +1 -0
  71. package/dist/interfaces/email-template-renderer.interface.d.ts +39 -0
  72. package/dist/interfaces/email-template-renderer.interface.d.ts.map +1 -0
  73. package/dist/interfaces/email-template-renderer.interface.js +3 -0
  74. package/dist/interfaces/email-template-renderer.interface.js.map +1 -0
  75. package/dist/interfaces/index.d.ts +3 -0
  76. package/dist/interfaces/index.d.ts.map +1 -1
  77. package/dist/interfaces/index.js +3 -0
  78. package/dist/interfaces/index.js.map +1 -1
  79. package/dist/interfaces/jwt-payload-factory.interface.d.ts +8 -0
  80. package/dist/interfaces/jwt-payload-factory.interface.d.ts.map +1 -0
  81. package/dist/interfaces/jwt-payload-factory.interface.js +3 -0
  82. package/dist/interfaces/jwt-payload-factory.interface.js.map +1 -0
  83. package/dist/interfaces/resource-permission-repository.interface.d.ts +4 -0
  84. package/dist/interfaces/resource-permission-repository.interface.d.ts.map +1 -0
  85. package/dist/interfaces/resource-permission-repository.interface.js +3 -0
  86. package/dist/interfaces/resource-permission-repository.interface.js.map +1 -0
  87. package/dist/interfaces/tenant-extractor.interface.d.ts +4 -0
  88. package/dist/interfaces/tenant-extractor.interface.d.ts.map +1 -0
  89. package/dist/interfaces/tenant-extractor.interface.js +3 -0
  90. package/dist/interfaces/tenant-extractor.interface.js.map +1 -0
  91. package/dist/interfaces/tenant-repository.interface.d.ts +9 -0
  92. package/dist/interfaces/tenant-repository.interface.d.ts.map +1 -0
  93. package/dist/interfaces/tenant-repository.interface.js +3 -0
  94. package/dist/interfaces/tenant-repository.interface.js.map +1 -0
  95. package/dist/interfaces/user-repository.interface.d.ts +26 -18
  96. package/dist/interfaces/user-repository.interface.d.ts.map +1 -1
  97. package/dist/repositories/noop-brute-force.repository.d.ts +1 -1
  98. package/dist/repositories/noop-brute-force.repository.d.ts.map +1 -1
  99. package/dist/repositories/noop-brute-force.repository.js +6 -6
  100. package/dist/repositories/noop-brute-force.repository.js.map +1 -1
  101. package/dist/repositories/noop-tenant-extractor.d.ts +8 -0
  102. package/dist/repositories/noop-tenant-extractor.d.ts.map +1 -0
  103. package/dist/repositories/noop-tenant-extractor.js +35 -0
  104. package/dist/repositories/noop-tenant-extractor.js.map +1 -0
  105. package/dist/repositories/noop-tenant.repository.d.ts +8 -0
  106. package/dist/repositories/noop-tenant.repository.d.ts.map +1 -0
  107. package/dist/repositories/noop-tenant.repository.js +39 -0
  108. package/dist/repositories/noop-tenant.repository.js.map +1 -0
  109. package/dist/resolvers/base-auth.resolver.d.ts +18 -5
  110. package/dist/resolvers/base-auth.resolver.d.ts.map +1 -1
  111. package/dist/resolvers/base-auth.resolver.js +59 -25
  112. package/dist/resolvers/base-auth.resolver.js.map +1 -1
  113. package/dist/resolvers/oauth.controller.d.ts +1 -1
  114. package/dist/resolvers/oauth.controller.d.ts.map +1 -1
  115. package/dist/resolvers/oauth.controller.js +3 -2
  116. package/dist/resolvers/oauth.controller.js.map +1 -1
  117. package/dist/services/auth.service.d.ts +23 -3
  118. package/dist/services/auth.service.d.ts.map +1 -1
  119. package/dist/services/auth.service.js +173 -91
  120. package/dist/services/auth.service.js.map +1 -1
  121. package/dist/services/biometric-auth.service.d.ts +0 -1
  122. package/dist/services/biometric-auth.service.d.ts.map +1 -1
  123. package/dist/services/biometric-auth.service.js +0 -6
  124. package/dist/services/biometric-auth.service.js.map +1 -1
  125. package/dist/services/brute-force-protection.service.d.ts +2 -0
  126. package/dist/services/brute-force-protection.service.d.ts.map +1 -1
  127. package/dist/services/brute-force-protection.service.js +8 -0
  128. package/dist/services/brute-force-protection.service.js.map +1 -1
  129. package/dist/services/configurable-email.service.d.ts +23 -0
  130. package/dist/services/configurable-email.service.d.ts.map +1 -0
  131. package/dist/services/configurable-email.service.js +114 -0
  132. package/dist/services/configurable-email.service.js.map +1 -0
  133. package/dist/services/default-email-template-renderer.d.ts +57 -0
  134. package/dist/services/default-email-template-renderer.d.ts.map +1 -0
  135. package/dist/services/default-email-template-renderer.js +422 -0
  136. package/dist/services/default-email-template-renderer.js.map +1 -0
  137. package/dist/services/default-jwt-payload-factory.d.ts +9 -0
  138. package/dist/services/default-jwt-payload-factory.d.ts.map +1 -0
  139. package/dist/services/default-jwt-payload-factory.js +26 -0
  140. package/dist/services/default-jwt-payload-factory.js.map +1 -0
  141. package/dist/services/header-tenant-extractor.d.ts +7 -0
  142. package/dist/services/header-tenant-extractor.d.ts.map +1 -0
  143. package/dist/services/header-tenant-extractor.js +38 -0
  144. package/dist/services/header-tenant-extractor.js.map +1 -0
  145. package/dist/services/noop-email-sender.d.ts +15 -0
  146. package/dist/services/noop-email-sender.d.ts.map +1 -0
  147. package/dist/services/noop-email-sender.js +24 -0
  148. package/dist/services/noop-email-sender.js.map +1 -0
  149. package/dist/services/noop-email.service.d.ts +1 -0
  150. package/dist/services/noop-email.service.d.ts.map +1 -1
  151. package/dist/services/noop-email.service.js +7 -2
  152. package/dist/services/noop-email.service.js.map +1 -1
  153. package/dist/services/noop-sms.service.d.ts +1 -0
  154. package/dist/services/noop-sms.service.d.ts.map +1 -1
  155. package/dist/services/noop-sms.service.js +6 -1
  156. package/dist/services/noop-sms.service.js.map +1 -1
  157. package/dist/services/oauth-linking-token.service.d.ts.map +1 -1
  158. package/dist/services/oauth-linking-token.service.js +3 -8
  159. package/dist/services/oauth-linking-token.service.js.map +1 -1
  160. package/dist/services/refresh-token.service.d.ts +1 -0
  161. package/dist/services/refresh-token.service.d.ts.map +1 -1
  162. package/dist/services/refresh-token.service.js +15 -3
  163. package/dist/services/refresh-token.service.js.map +1 -1
  164. package/dist/services/resend-email-sender.d.ts +17 -0
  165. package/dist/services/resend-email-sender.d.ts.map +1 -0
  166. package/dist/services/resend-email-sender.js +45 -0
  167. package/dist/services/resend-email-sender.js.map +1 -0
  168. package/dist/services/sendgrid-email-sender.d.ts +16 -0
  169. package/dist/services/sendgrid-email-sender.d.ts.map +1 -0
  170. package/dist/services/sendgrid-email-sender.js +75 -0
  171. package/dist/services/sendgrid-email-sender.js.map +1 -0
  172. package/dist/services/sendgrid-email.service.d.ts.map +1 -1
  173. package/dist/services/sendgrid-email.service.js.map +1 -1
  174. package/dist/services/verification.service.d.ts +7 -0
  175. package/dist/services/verification.service.d.ts.map +1 -1
  176. package/dist/services/verification.service.js +104 -116
  177. package/dist/services/verification.service.js.map +1 -1
  178. package/dist/strategies/api-key.strategy.d.ts +11 -0
  179. package/dist/strategies/api-key.strategy.d.ts.map +1 -0
  180. package/dist/strategies/api-key.strategy.js +63 -0
  181. package/dist/strategies/api-key.strategy.js.map +1 -0
  182. package/dist/strategies/jwt.strategy.d.ts +6 -2
  183. package/dist/strategies/jwt.strategy.d.ts.map +1 -1
  184. package/dist/strategies/jwt.strategy.js +30 -4
  185. package/dist/strategies/jwt.strategy.js.map +1 -1
  186. package/dist/test-utils/mock-repositories.js +1 -1
  187. package/dist/test-utils/mock-repositories.js.map +1 -1
  188. package/dist/utils/cookie-options.d.ts +18 -0
  189. package/dist/utils/cookie-options.d.ts.map +1 -0
  190. package/dist/utils/cookie-options.js +65 -0
  191. package/dist/utils/cookie-options.js.map +1 -0
  192. package/dist/utils/escape-html.d.ts +2 -0
  193. package/dist/utils/escape-html.d.ts.map +1 -0
  194. package/dist/utils/escape-html.js +12 -0
  195. package/dist/utils/escape-html.js.map +1 -0
  196. package/dist/utils/execution-context.d.ts +3 -0
  197. package/dist/utils/execution-context.d.ts.map +1 -0
  198. package/dist/utils/execution-context.js +12 -0
  199. package/dist/utils/execution-context.js.map +1 -0
  200. package/dist/utils/request-helpers.d.ts +2 -0
  201. package/dist/utils/request-helpers.d.ts.map +1 -0
  202. package/dist/utils/request-helpers.js +9 -0
  203. package/dist/utils/request-helpers.js.map +1 -0
  204. package/package.json +13 -6
  205. package/dist/resolvers/auth.resolver.d.ts +0 -73
  206. package/dist/resolvers/auth.resolver.d.ts.map +0 -1
  207. package/dist/resolvers/auth.resolver.js +0 -472
  208. package/dist/resolvers/auth.resolver.js.map +0 -1
  209. package/dist/utils/passport-inspector.d.ts +0 -11
  210. package/dist/utils/passport-inspector.d.ts.map +0 -1
  211. package/dist/utils/passport-inspector.js +0 -48
  212. package/dist/utils/passport-inspector.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth-user.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-user.interface.ts"],"names":[],"mappings":";;;AAGA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;AACjB,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAKD,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
1
+ {"version":3,"file":"auth-user.interface.js","sourceRoot":"","sources":["../../src/interfaces/auth-user.interface.ts"],"names":[],"mappings":";;;AAOA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;AACjB,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAUD,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
@@ -0,0 +1,10 @@
1
+ export interface EmailBrandingConfig {
2
+ appName: string;
3
+ primaryColor: string;
4
+ logoUrl?: string;
5
+ companyName?: string;
6
+ supportEmail?: string;
7
+ physicalAddress?: string;
8
+ welcomeContent?: string;
9
+ }
10
+ //# sourceMappingURL=email-branding-config.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-branding-config.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-branding-config.interface.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,MAAM,CAAC;IAGhB,YAAY,EAAE,MAAM,CAAC;IAGrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-branding-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-branding-config.interface.js","sourceRoot":"","sources":["../../src/interfaces/email-branding-config.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface IEmailSender {
2
+ send(params: {
3
+ to: string;
4
+ from: {
5
+ email: string;
6
+ name?: string;
7
+ };
8
+ subject: string;
9
+ html: string;
10
+ text?: string;
11
+ }): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=email-sender.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-sender.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/email-sender.interface.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-sender.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-sender.interface.js","sourceRoot":"","sources":["../../src/interfaces/email-sender.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ export interface RenderedEmail {
2
+ subject: string;
3
+ html: string;
4
+ text?: string;
5
+ }
6
+ export interface IEmailTemplateRenderer {
7
+ renderVerificationEmail(params: {
8
+ email: string;
9
+ code?: string;
10
+ verificationUrl?: string;
11
+ }): Promise<RenderedEmail>;
12
+ renderWelcomeEmail(params: {
13
+ email: string;
14
+ name?: string;
15
+ }): Promise<RenderedEmail>;
16
+ renderPasswordResetEmail(params: {
17
+ email: string;
18
+ code?: string;
19
+ resetUrl?: string;
20
+ }): Promise<RenderedEmail>;
21
+ renderPasswordChangedEmail(params: {
22
+ email: string;
23
+ }): Promise<RenderedEmail>;
24
+ renderAccountLockedEmail(params: {
25
+ email: string;
26
+ lockedUntil?: Date;
27
+ }): Promise<RenderedEmail>;
28
+ renderEmailChangedEmail(params: {
29
+ oldEmail: string;
30
+ newEmail: string;
31
+ }): Promise<RenderedEmail>;
32
+ renderLoginAlertEmail(params: {
33
+ email: string;
34
+ ipAddress?: string;
35
+ userAgent?: string;
36
+ timestamp: Date;
37
+ }): Promise<RenderedEmail>;
38
+ }
39
+ //# sourceMappingURL=email-template-renderer.interface.d.ts.map
@@ -0,0 +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;IACrC,uBAAuB,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,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;IAE3B,wBAAwB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,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;IAE3B,qBAAqB,CAAC,MAAM,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,IAAI,CAAC;KACjB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-template-renderer.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-template-renderer.interface.js","sourceRoot":"","sources":["../../src/interfaces/email-template-renderer.interface.ts"],"names":[],"mappings":""}
@@ -4,6 +4,9 @@ export * from './auth-user.interface';
4
4
  export * from './biometric-repository.interface';
5
5
  export * from './brute-force-repository.interface';
6
6
  export * from './email-service.interface';
7
+ export * from './email-template-renderer.interface';
8
+ export * from './email-sender.interface';
9
+ export * from './email-branding-config.interface';
7
10
  export * from './refresh-token-repository.interface';
8
11
  export * from './sms-service.interface';
9
12
  export * from './storage-service.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,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,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,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"}
@@ -20,6 +20,9 @@ __exportStar(require("./auth-user.interface"), exports);
20
20
  __exportStar(require("./biometric-repository.interface"), exports);
21
21
  __exportStar(require("./brute-force-repository.interface"), exports);
22
22
  __exportStar(require("./email-service.interface"), exports);
23
+ __exportStar(require("./email-template-renderer.interface"), exports);
24
+ __exportStar(require("./email-sender.interface"), exports);
25
+ __exportStar(require("./email-branding-config.interface"), exports);
23
26
  __exportStar(require("./refresh-token-repository.interface"), exports);
24
27
  __exportStar(require("./sms-service.interface"), exports);
25
28
  __exportStar(require("./storage-service.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,qEAAmD;AACnD,4DAA0C;AAC1C,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,qEAAmD;AACnD,4DAA0C;AAC1C,sEAAoD;AACpD,2DAAyC;AACzC,oEAAkD;AAClD,uEAAqD;AACrD,0DAAwC;AACxC,8DAA4C;AAC5C,8DAA4C;AAC5C,sEAAoD"}
@@ -0,0 +1,8 @@
1
+ export interface IJwtPayloadFactory {
2
+ createPayload(user: {
3
+ id: string;
4
+ email: string;
5
+ }): Record<string, string | number | boolean | null>;
6
+ extractUserId(payload: Record<string, any>): string;
7
+ }
8
+ //# sourceMappingURL=jwt-payload-factory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-payload-factory.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/jwt-payload-factory.interface.ts"],"names":[],"mappings":"AAyCA,MAAM,WAAW,kBAAkB;IASjC,aAAa,CACX,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAClC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAWpD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;CACrD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jwt-payload-factory.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-payload-factory.interface.js","sourceRoot":"","sources":["../../src/interfaces/jwt-payload-factory.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface IResourcePermissionRepository {
2
+ hasPermission(userId: string, tenantId: string, permission: string, resourceType: string, resourceId: string): Promise<boolean>;
3
+ }
4
+ //# sourceMappingURL=resource-permission-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-permission-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/resource-permission-repository.interface.ts"],"names":[],"mappings":"AA8CA,MAAM,WAAW,6BAA6B;IAW5C,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=resource-permission-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-permission-repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/resource-permission-repository.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ITenantExtractor {
2
+ extractTenantId(request: Record<string, any>): string | null;
3
+ }
4
+ //# sourceMappingURL=tenant-extractor.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-extractor.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tenant-extractor.interface.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAO/B,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC9D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tenant-extractor.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-extractor.interface.js","sourceRoot":"","sources":["../../src/interfaces/tenant-extractor.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface ITenantContext<M = Record<string, unknown>> {
2
+ tenantId: string;
3
+ permissions: string[];
4
+ metadata: M;
5
+ }
6
+ export interface ITenantRepository {
7
+ resolveTenant(userId: string, tenantId: string): Promise<ITenantContext | null>;
8
+ }
9
+ //# sourceMappingURL=tenant-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tenant-repository.interface.ts"],"names":[],"mappings":"AAyCA,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzD,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,EAAE,CAAC;IAGtB,QAAQ,EAAE,CAAC,CAAC;CACb;AAQD,MAAM,WAAW,iBAAiB;IAShC,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACnC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tenant-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-repository.interface.js","sourceRoot":"","sources":["../../src/interfaces/tenant-repository.interface.ts"],"names":[],"mappings":""}
@@ -1,9 +1,9 @@
1
- import { AuthProvider } from './auth-user.interface';
1
+ import { AuthProvider, IAuthUser } from './auth-user.interface';
2
2
  import { OAuthProviderKey, OAuthAccountInfo } from '../types/oauth.types';
3
3
  export interface CreateUserData {
4
4
  email: string;
5
5
  passwordHash?: string | null;
6
- authProvider?: AuthProvider;
6
+ authProvider?: AuthProvider | string;
7
7
  googleId?: string;
8
8
  facebookId?: string;
9
9
  appleId?: string;
@@ -12,42 +12,50 @@ export interface CreateUserData {
12
12
  createdAt?: Date;
13
13
  updatedAt?: Date;
14
14
  }
15
- export interface IUserRepository<T extends import('./auth-user.interface').IAuthUser = import('./auth-user.interface').IAuthUser> {
15
+ export interface IUserRepositoryCore<T extends IAuthUser = IAuthUser> {
16
16
  findByEmail(email: string): Promise<T | null>;
17
17
  findById(id: string): Promise<T | null>;
18
- findByOAuthProvider(provider: OAuthProviderKey, providerId: string): Promise<T | null>;
19
- findByOAuthProviderWithRelations(provider: OAuthProviderKey, providerId: string, relations: string[]): Promise<T | null>;
20
- findByGoogleId(googleId: string): Promise<T | null>;
21
- findByFacebookId(facebookId: string): Promise<T | null>;
22
- findByAppleId(appleId: string): Promise<T | null>;
23
- findByPhoneNumber(phoneNumber: string): Promise<T | null>;
24
18
  findByEmailWithRelations(email: string, relations: string[]): Promise<T | null>;
25
19
  findByIdWithRelations(id: string, relations: string[]): Promise<T | null>;
26
- findByGoogleIdWithRelations(googleId: string, relations: string[]): Promise<T | null>;
27
- findByFacebookIdWithRelations(facebookId: string, relations: string[]): Promise<T | null>;
28
- findByAppleIdWithRelations(appleId: string, relations: string[]): Promise<T | null>;
29
- findExistingSocialLink(provider: 'google' | 'facebook' | 'apple', providerId: string): Promise<T | null>;
30
20
  create(data: CreateUserData): Promise<T>;
31
21
  update(id: string, data: Partial<T>): Promise<T>;
32
22
  updateEmail(id: string, email: string): Promise<T>;
33
23
  updatePassword(id: string, passwordHash: string): Promise<T>;
34
24
  markEmailVerified(id: string): Promise<T>;
35
- markPhoneVerified(id: string): Promise<T>;
36
25
  incrementFailedLoginAttempts(userId: string): Promise<T>;
37
26
  resetFailedLoginAttempts(userId: string): Promise<T>;
38
27
  updateLastLoginAt(userId: string): Promise<T>;
39
- enableBiometric(userId: string, deviceId: string, publicKey: string): Promise<T>;
40
- disableBiometric(userId: string): Promise<T>;
41
- updateLastBiometricLogin(userId: string): Promise<T>;
28
+ delete(id: string): Promise<void>;
29
+ }
30
+ export interface IUserRepositoryOAuth<T extends IAuthUser = IAuthUser> {
31
+ findByOAuthProvider(provider: OAuthProviderKey, providerId: string): Promise<T | null>;
32
+ findByOAuthProviderWithRelations(provider: OAuthProviderKey, providerId: string, relations: string[]): Promise<T | null>;
42
33
  linkOAuthAccount(userId: string, provider: OAuthProviderKey, providerId: string): Promise<T>;
43
34
  unlinkOAuthAccount(userId: string, provider: OAuthProviderKey): Promise<T>;
44
35
  getOAuthAccounts(userId: string): Promise<OAuthAccountInfo[]>;
36
+ findByGoogleId(googleId: string): Promise<T | null>;
37
+ findByFacebookId(facebookId: string): Promise<T | null>;
38
+ findByAppleId(appleId: string): Promise<T | null>;
39
+ findByGoogleIdWithRelations(googleId: string, relations: string[]): Promise<T | null>;
40
+ findByFacebookIdWithRelations(facebookId: string, relations: string[]): Promise<T | null>;
41
+ findByAppleIdWithRelations(appleId: string, relations: string[]): Promise<T | null>;
42
+ findExistingSocialLink(provider: 'google' | 'facebook' | 'apple', providerId: string): Promise<T | null>;
45
43
  linkGoogleAccount(userId: string, googleId: string): Promise<T>;
46
44
  unlinkGoogleAccount(userId: string): Promise<T>;
47
45
  linkFacebookAccount(userId: string, facebookId: string): Promise<T>;
48
46
  unlinkFacebookAccount(userId: string): Promise<T>;
49
47
  linkAppleAccount(userId: string, appleId: string): Promise<T>;
50
48
  unlinkAppleAccount(userId: string): Promise<T>;
51
- delete(id: string): Promise<void>;
49
+ }
50
+ export interface IUserRepositoryBiometric<T extends IAuthUser = IAuthUser> {
51
+ enableBiometric(userId: string, deviceId: string, publicKey: string): Promise<T>;
52
+ disableBiometric(userId: string): Promise<T>;
53
+ updateLastBiometricLogin(userId: string): Promise<T>;
54
+ }
55
+ export interface IUserRepositoryPhone<T extends IAuthUser = IAuthUser> {
56
+ findByPhoneNumber(phoneNumber: string): Promise<T | null>;
57
+ markPhoneVerified(id: string): Promise<T>;
58
+ }
59
+ export interface IUserRepository<T extends IAuthUser = IAuthUser> extends IUserRepositoryCore<T>, IUserRepositoryOAuth<T>, IUserRepositoryBiometric<T>, IUserRepositoryPhone<T> {
52
60
  }
53
61
  //# sourceMappingURL=user-repository.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/user-repository.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-repository.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/user-repository.interface.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export declare class NoOpBruteForceRepository implements IBruteForceRepository {
3
3
  private static warningShown;
4
4
  private readonly logger;
5
5
  private warnIfProduction;
6
- recordFailedAttempt(userId: string, ipAddress?: string): Promise<void>;
6
+ recordFailedAttempt(userId: string, _ipAddress?: string): Promise<void>;
7
7
  getFailedAttemptCount(userId: string): Promise<number>;
8
8
  lockAccount(userId: string, lockUntil: Date): Promise<void>;
9
9
  checkAccountLock(userId: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"noop-brute-force.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAYvF,qBACa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE,OAAO,CAAC,gBAAgB;IAWlB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAO1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKzD"}
1
+ {"version":3,"file":"noop-brute-force.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAYvF,qBACa,wBAAyB,YAAW,qBAAqB;IACpE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE,OAAO,CAAC,gBAAgB;IAWlB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGzD"}
@@ -21,23 +21,23 @@ let NoOpBruteForceRepository = NoOpBruteForceRepository_1 = class NoOpBruteForce
21
21
  NoOpBruteForceRepository_1.warningShown = true;
22
22
  }
23
23
  }
24
- async recordFailedAttempt(userId, ipAddress) {
24
+ async recordFailedAttempt(userId, _ipAddress) {
25
25
  this.warnIfProduction();
26
- console.log(`[NoOpBruteForceRepository] recordFailedAttempt called for userId: ${userId}, IP: ${ipAddress}`);
26
+ this.logger.debug(`recordFailedAttempt called for userId: ${userId}`);
27
27
  }
28
28
  async getFailedAttemptCount(userId) {
29
- console.log(`[NoOpBruteForceRepository] getFailedAttemptCount called for userId: ${userId}`);
29
+ this.logger.debug(`getFailedAttemptCount called for userId: ${userId}`);
30
30
  return 0;
31
31
  }
32
32
  async lockAccount(userId, lockUntil) {
33
- console.log(`[NoOpBruteForceRepository] lockAccount called for userId: ${userId}, lockUntil: ${lockUntil}`);
33
+ this.logger.debug(`lockAccount called for userId: ${userId}, lockUntil: ${lockUntil.toISOString()}`);
34
34
  }
35
35
  async checkAccountLock(userId) {
36
- console.log(`[NoOpBruteForceRepository] checkAccountLock called for userId: ${userId}`);
36
+ this.logger.debug(`checkAccountLock called for userId: ${userId}`);
37
37
  return { isLocked: false };
38
38
  }
39
39
  async clearFailedAttempts(userId) {
40
- console.log(`[NoOpBruteForceRepository] clearFailedAttempts called for userId: ${userId}`);
40
+ this.logger.debug(`clearFailedAttempts called for userId: ${userId}`);
41
41
  }
42
42
  };
43
43
  exports.NoOpBruteForceRepository = NoOpBruteForceRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"noop-brute-force.repository.js","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAc7C,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAA9B;QAEY,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IA+CtE,CAAC;IA7CS,gBAAgB;QACtB,IAAI,CAAC,0BAAwB,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2DAA2D;gBAC3D,kFAAkF;gBAClF,mFAAmF,CACpF,CAAC;YACF,0BAAwB,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,SAAkB;QAC1D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,qEAAqE,MAAM,SAAS,SAAS,EAAE,CAChG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACxC,OAAO,CAAC,GAAG,CACT,uEAAuE,MAAM,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,SAAe;QAC/C,OAAO,CAAC,GAAG,CACT,6DAA6D,MAAM,gBAAgB,SAAS,EAAE,CAC/F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc;QAEd,OAAO,CAAC,GAAG,CACT,kEAAkE,MAAM,EAAE,CAC3E,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,OAAO,CAAC,GAAG,CACT,qEAAqE,MAAM,EAAE,CAC9E,CAAC;IACJ,CAAC;;AAhDU,4DAAwB;AACpB,qCAAY,GAAG,KAAK,AAAR,CAAS;mCADzB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAiDpC"}
1
+ {"version":3,"file":"noop-brute-force.repository.js","sourceRoot":"","sources":["../../src/repositories/noop-brute-force.repository.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAc7C,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAA9B;QAEY,WAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IAqCtE,CAAC;IAnCS,gBAAgB;QACtB,IAAI,CAAC,0BAAwB,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2DAA2D;gBAC3D,kFAAkF;gBAClF,mFAAmF,CACpF,CAAC;YACF,0BAAwB,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,UAAmB;QAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,SAAe;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,MAAM,gBAAgB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc;QAEd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;;AAtCU,4DAAwB;AACpB,qCAAY,GAAG,KAAK,AAAR,CAAS;mCADzB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;GACA,wBAAwB,CAuCpC"}
@@ -0,0 +1,8 @@
1
+ import { ITenantExtractor } from '../interfaces/tenant-extractor.interface';
2
+ export declare class NoOpTenantExtractor implements ITenantExtractor {
3
+ private static warningShown;
4
+ private readonly logger;
5
+ private warnIfProduction;
6
+ extractTenantId(_request: Record<string, any>): string | null;
7
+ }
8
+ //# sourceMappingURL=noop-tenant-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-tenant-extractor.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-tenant-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAW5E,qBACa,mBAAoB,YAAW,gBAAgB;IAC1D,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D,OAAO,CAAC,gBAAgB;IAWxB,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;CAO9D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var NoOpTenantExtractor_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.NoOpTenantExtractor = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ let NoOpTenantExtractor = NoOpTenantExtractor_1 = class NoOpTenantExtractor {
13
+ constructor() {
14
+ this.logger = new common_1.Logger(NoOpTenantExtractor_1.name);
15
+ }
16
+ warnIfProduction() {
17
+ if (!NoOpTenantExtractor_1.warningShown && process.env.NODE_ENV === 'production') {
18
+ this.logger.warn('NoOpTenantExtractor is being used in production! ' +
19
+ 'Tenant ID extraction is DISABLED - a default tenant ID will always be used. ' +
20
+ 'Provide a real ITenantExtractor implementation in AuthModule.forRootAsync().');
21
+ NoOpTenantExtractor_1.warningShown = true;
22
+ }
23
+ }
24
+ extractTenantId(_request) {
25
+ this.warnIfProduction();
26
+ console.log('[NoOpTenantExtractor] extractTenantId called, returning default tenant ID');
27
+ return 'default';
28
+ }
29
+ };
30
+ exports.NoOpTenantExtractor = NoOpTenantExtractor;
31
+ NoOpTenantExtractor.warningShown = false;
32
+ exports.NoOpTenantExtractor = NoOpTenantExtractor = NoOpTenantExtractor_1 = __decorate([
33
+ (0, common_1.Injectable)()
34
+ ], NoOpTenantExtractor);
35
+ //# sourceMappingURL=noop-tenant-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-tenant-extractor.js","sourceRoot":"","sources":["../../src/repositories/noop-tenant-extractor.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAa7C,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAAzB;QAEY,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAoBjE,CAAC;IAlBS,gBAAgB;QACtB,IAAI,CAAC,qBAAmB,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD;gBACnD,8EAA8E;gBAC9E,8EAA8E,CAC/E,CAAC;YACF,qBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,eAAe,CAAC,QAA6B;QAC3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,2EAA2E,CAC5E,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;;AArBU,kDAAmB;AACf,gCAAY,GAAG,KAAK,AAAR,CAAS;8BADzB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAsB/B"}
@@ -0,0 +1,8 @@
1
+ import { ITenantRepository, ITenantContext } from '../interfaces/tenant-repository.interface';
2
+ export declare class NoOpTenantRepository implements ITenantRepository {
3
+ private static warningShown;
4
+ private readonly logger;
5
+ private warnIfProduction;
6
+ resolveTenant(userId: string, tenantId: string): Promise<ITenantContext | null>;
7
+ }
8
+ //# sourceMappingURL=noop-tenant.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-tenant.repository.d.ts","sourceRoot":"","sources":["../../src/repositories/noop-tenant.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAU9F,qBACa,oBAAqB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAEhE,OAAO,CAAC,gBAAgB;IAWlB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAWlC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var NoOpTenantRepository_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.NoOpTenantRepository = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ let NoOpTenantRepository = NoOpTenantRepository_1 = class NoOpTenantRepository {
13
+ constructor() {
14
+ this.logger = new common_1.Logger(NoOpTenantRepository_1.name);
15
+ }
16
+ warnIfProduction() {
17
+ if (!NoOpTenantRepository_1.warningShown && process.env.NODE_ENV === 'production') {
18
+ this.logger.warn('NoOpTenantRepository is being used in production! ' +
19
+ 'Tenant isolation is DISABLED - all users will be granted access to any tenant. ' +
20
+ 'Provide a real ITenantRepository implementation in AuthModule.forRootAsync().');
21
+ NoOpTenantRepository_1.warningShown = true;
22
+ }
23
+ }
24
+ async resolveTenant(userId, tenantId) {
25
+ this.warnIfProduction();
26
+ console.log(`[NoOpTenantRepository] resolveTenant called for userId: ${userId}, tenantId: ${tenantId}`);
27
+ return {
28
+ tenantId,
29
+ permissions: [],
30
+ metadata: {},
31
+ };
32
+ }
33
+ };
34
+ exports.NoOpTenantRepository = NoOpTenantRepository;
35
+ NoOpTenantRepository.warningShown = false;
36
+ exports.NoOpTenantRepository = NoOpTenantRepository = NoOpTenantRepository_1 = __decorate([
37
+ (0, common_1.Injectable)()
38
+ ], NoOpTenantRepository);
39
+ //# sourceMappingURL=noop-tenant.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noop-tenant.repository.js","sourceRoot":"","sources":["../../src/repositories/noop-tenant.repository.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAY7C,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAA1B;QAEY,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IA2BlE,CAAC;IAzBS,gBAAgB;QACtB,IAAI,CAAC,sBAAoB,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oDAAoD;gBACpD,iFAAiF;gBACjF,+EAA+E,CAChF,CAAC;YACF,sBAAoB,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,QAAgB;QAEhB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,2DAA2D,MAAM,eAAe,QAAQ,EAAE,CAC3F,CAAC;QACF,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;;AA5BU,oDAAoB;AAChB,iCAAY,GAAG,KAAK,AAAR,CAAS;+BADzB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;GACA,oBAAoB,CA6BhC"}
@@ -28,13 +28,21 @@ export declare abstract class BaseAuthResolver<T extends IAuthUser> {
28
28
  protected readonly securityLogger: IAuthLogger;
29
29
  protected readonly logger: Logger;
30
30
  constructor(authService: AuthService, bruteForceProtection: BruteForceProtectionService, userRepository: IUserRepository<IAuthUser>, securityLogger: IAuthLogger);
31
- protected performSignup(input: IAuthSignupInput): Promise<AuthResponseBase<T>>;
31
+ protected getResponseFromContext(context: any): any | undefined;
32
+ protected setSecurityHeaders(context?: any): void;
33
+ protected buildAuthResponse(result: {
34
+ accessToken: string;
35
+ refreshToken: string;
36
+ user: IAuthUser;
37
+ }, context?: any): AuthResponseBase<T>;
38
+ protected clearCookiesIfEnabled(context?: any): void;
39
+ protected performSignup(input: IAuthSignupInput, context?: any): Promise<AuthResponseBase<T>>;
32
40
  protected performLogin(input: IAuthLoginInput, context: any): Promise<AuthResponseBase<T>>;
33
- protected performRefreshToken(input: IAuthRefreshTokenInput): Promise<AuthResponseBase<T>>;
34
- protected performLogout(input: IAuthLogoutInput, user: T): Promise<IAuthLogoutResponse>;
35
- protected performLogoutAll(user: T): Promise<IAuthLogoutAllResponse>;
41
+ protected performRefreshToken(input: IAuthRefreshTokenInput, context?: any): Promise<AuthResponseBase<T>>;
42
+ protected performLogout(input: IAuthLogoutInput, user: T, context?: any): Promise<IAuthLogoutResponse>;
43
+ protected performLogoutAll(user: T, context?: any): Promise<IAuthLogoutAllResponse>;
36
44
  protected performCheckAccountLockStatus(email: string): Promise<IAuthAccountLockStatus>;
37
- protected performVerifyEmail(input: IAuthVerifyEmailInput): Promise<IAuthVerifyEmailResponse>;
45
+ protected performVerifyEmail(input: IAuthVerifyEmailInput, context?: any): Promise<IAuthVerifyEmailResponse>;
38
46
  protected performResendVerificationEmail(email: string): Promise<IAuthVerifyEmailResponse>;
39
47
  protected performSendPhoneVerification(input: IAuthSendPhoneVerificationInput, user: T): Promise<IAuthPhoneVerificationResponse>;
40
48
  protected performVerifyPhone(input: IAuthVerifyPhoneInput, user: T): Promise<IAuthVerifyPhoneResponse>;
@@ -43,6 +51,11 @@ export declare abstract class BaseAuthResolver<T extends IAuthUser> {
43
51
  protected performPhoneVerificationStatus(user: T): Promise<IAuthPhoneVerificationStatus>;
44
52
  protected performRequestPasswordReset(input: IAuthRequestPasswordResetInput, context?: any): Promise<IAuthPasswordResetResponse>;
45
53
  protected performResetPassword(input: IAuthResetPasswordInput, context?: any): Promise<IAuthPasswordResetResponse>;
54
+ protected performChangePassword(userId: string, currentPassword: string, newPassword: string): Promise<{
55
+ success: boolean;
56
+ message: string;
57
+ }>;
58
+ protected performGetCurrentUser(userId: string): Promise<T>;
46
59
  protected performCompleteFacebookSignUp(input: IAuthCompleteFacebookSignUpInput): Promise<AuthResponseBase<T>>;
47
60
  }
48
61
  //# sourceMappingURL=base-auth.resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-auth.resolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/base-auth.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-auth.resolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/base-auth.resolver.ts"],"names":[],"mappings":"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"}