@baseplate-dev/plugin-auth 0.6.12 → 0.6.14

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 (158) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +14 -0
  3. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +14 -0
  4. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +7 -0
  5. package/dist/better-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +7 -0
  6. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +14 -0
  7. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +14 -0
  8. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +7 -0
  9. package/dist/better-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +14 -0
  10. package/dist/better-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +7 -0
  11. package/dist/better-auth/constants/packages.d.ts +1 -1
  12. package/dist/better-auth/constants/packages.js +1 -1
  13. package/dist/better-auth/generators/fastify/better-auth-admin-module/better-auth-admin-module.generator.d.ts +1 -0
  14. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/index.d.ts +2 -0
  15. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/template-renderers.d.ts +1 -0
  16. package/dist/better-auth/generators/fastify/better-auth-admin-module/generated/typed-templates.d.ts +1 -0
  17. package/dist/better-auth/generators/fastify/better-auth-email-templates/better-auth-email-templates.generator.d.ts +1 -0
  18. package/dist/better-auth/generators/fastify/better-auth-email-templates/generated/index.d.ts +4 -0
  19. package/dist/better-auth/generators/fastify/better-auth-email-templates/generated/template-renderers.d.ts +1 -0
  20. package/dist/better-auth/generators/fastify/better-auth-email-templates/generated/typed-templates.d.ts +3 -0
  21. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.d.ts +43 -6
  22. package/dist/better-auth/generators/fastify/better-auth-module/better-auth-module.generator.js +21 -2
  23. package/dist/better-auth/generators/fastify/better-auth-module/generated/index.d.ts +46 -10
  24. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.d.ts +18 -2
  25. package/dist/better-auth/generators/fastify/better-auth-module/generated/template-renderers.js +6 -2
  26. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.d.ts +24 -6
  27. package/dist/better-auth/generators/fastify/better-auth-module/generated/ts-import-providers.js +8 -5
  28. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.d.ts +20 -4
  29. package/dist/better-auth/generators/fastify/better-auth-module/generated/typed-templates.js +10 -5
  30. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/plugins/better-auth.plugin.ts +7 -4
  31. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/auth.ts +76 -59
  32. package/dist/better-auth/generators/fastify/better-auth-module/templates/module/services/user-session.service.ts +58 -46
  33. package/dist/better-auth/generators/react/better-auth-pages/better-auth-pages.generator.d.ts +7 -0
  34. package/dist/better-auth/generators/react/better-auth-pages/generated/index.d.ts +42 -0
  35. package/dist/better-auth/generators/react/better-auth-pages/generated/template-renderers.d.ts +7 -0
  36. package/dist/better-auth/generators/react/better-auth-pages/generated/typed-templates.d.ts +70 -0
  37. package/dist/better-auth/generators/react/react-better-auth/generated/index.d.ts +14 -0
  38. package/dist/better-auth/generators/react/react-better-auth/generated/template-renderers.d.ts +7 -0
  39. package/dist/better-auth/generators/react/react-better-auth/generated/typed-templates.d.ts +7 -0
  40. package/dist/better-auth/generators/react/react-better-auth/react-better-auth.generator.d.ts +7 -0
  41. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +14 -0
  42. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/index.d.ts +14 -0
  43. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/template-renderers.d.ts +7 -0
  44. package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/generated/typed-templates.d.ts +7 -0
  45. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +14 -0
  46. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/index.d.ts +14 -0
  47. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/template-renderers.d.ts +7 -0
  48. package/dist/local-auth/admin/generators/admin-crud-reset-password-action/generated/typed-templates.d.ts +14 -0
  49. package/dist/local-auth/admin/generators/admin-crud-roles-column/admin-crud-roles-column.generator.d.ts +7 -0
  50. package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +7 -23
  51. package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts +28 -66
  52. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts +7 -23
  53. package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js +2 -8
  54. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts +35 -66
  55. package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js +1 -5
  56. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.d.ts +2 -2
  57. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.js +2 -2
  58. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.ts +8 -4
  59. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts +3 -3
  60. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +4 -3
  61. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +9 -6
  62. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js +2 -3
  63. package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +5 -3
  64. package/dist/local-auth/core/generators/auth-email-templates/auth-email-templates.generator.d.ts +1 -0
  65. package/dist/local-auth/core/generators/auth-email-templates/generated/index.d.ts +4 -0
  66. package/dist/local-auth/core/generators/auth-email-templates/generated/template-renderers.d.ts +1 -0
  67. package/dist/local-auth/core/generators/auth-email-templates/generated/typed-templates.d.ts +3 -0
  68. package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +62 -8
  69. package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +21 -11
  70. package/dist/local-auth/core/generators/auth-module/generated/index.d.ts +152 -10
  71. package/dist/local-auth/core/generators/auth-module/generated/template-paths.d.ts +1 -0
  72. package/dist/local-auth/core/generators/auth-module/generated/template-paths.js +1 -0
  73. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts +52 -2
  74. package/dist/local-auth/core/generators/auth-module/generated/template-renderers.js +14 -4
  75. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.d.ts +9 -3
  76. package/dist/local-auth/core/generators/auth-module/generated/ts-import-providers.js +6 -3
  77. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts +102 -8
  78. package/dist/local-auth/core/generators/auth-module/generated/typed-templates.js +19 -5
  79. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.queue.d.ts +0 -4
  80. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.queue.js +2 -15
  81. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.queue.ts +2 -16
  82. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.worker.d.ts +6 -0
  83. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.worker.js +18 -0
  84. package/dist/local-auth/core/generators/auth-module/templates/module/queues/cleanup-auth-verification.worker.ts +22 -0
  85. package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.mutations.js +1 -2
  86. package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.mutations.ts +4 -2
  87. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.d.ts +0 -1
  88. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.js +0 -1
  89. package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.ts +0 -2
  90. package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts +9 -0
  91. package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +52 -0
  92. package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +9 -0
  93. package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +77 -0
  94. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +1 -1
  95. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +1 -1
  96. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +1 -1
  97. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +1 -1
  98. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +2 -2
  99. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +2 -2
  100. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.js +1 -1
  101. package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.tsx +1 -1
  102. package/dist/local-auth/core/generators/react-session/generated/index.d.ts +14 -0
  103. package/dist/local-auth/core/generators/react-session/generated/template-renderers.d.ts +7 -0
  104. package/dist/local-auth/core/generators/react-session/generated/typed-templates.d.ts +14 -0
  105. package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts +7 -0
  106. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/index.d.ts +2 -2
  107. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/ts-import-providers.d.ts +10 -2
  108. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/ts-import-providers.js +8 -5
  109. package/dist/placeholder-auth/core/generators/placeholder-auth-module/generated/typed-templates.js +1 -1
  110. package/dist/placeholder-auth/core/generators/placeholder-auth-module/index.d.ts +3 -1
  111. package/dist/placeholder-auth/core/generators/placeholder-auth-module/index.js +2 -1
  112. package/dist/placeholder-auth/core/generators/placeholder-auth-module/{auth-module.generator.d.ts → placeholder-auth-module.generator.d.ts} +20 -3
  113. package/dist/placeholder-auth/core/generators/placeholder-auth-module/{auth-module.generator.js → placeholder-auth-module.generator.js} +16 -1
  114. package/dist/placeholder-auth/core/generators/placeholder-auth-module/templates/module/services/user-session.service.d.ts +5 -21
  115. package/dist/placeholder-auth/core/generators/placeholder-auth-module/templates/module/services/user-session.service.js +17 -26
  116. package/dist/placeholder-auth/core/generators/placeholder-auth-module/templates/module/services/user-session.service.ts +21 -31
  117. package/dist/web/assets/{_virtual_mf-localSharedImportMap___mfe_internal__plugin_mf_2_auth-Bd_uRhIr.js → _virtual_mf-localSharedImportMap___mfe_internal__plugin_mf_2_auth-3sV-KVGF.js} +89 -73
  118. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib__loadShare__.js-BX1_Ngjt.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib__loadShare__.js-0m3QgjSy.js} +50 -13
  119. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib_mf_1_web__loadShare__.js-CQuBII8a.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_project_mf_2_builder_mf_2_lib_mf_1_web__loadShare__.js-QrOyqu9V.js} +50 -14
  120. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_ui_mf_2_components__loadShare__.js-DsLoA9K7.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_baseplate_mf_2_dev_mf_1_ui_mf_2_components__loadShare__.js-BTSgZGcl.js} +6932 -6106
  121. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_tanstack_mf_1_react_mf_2_router__loadShare__.js-CGsbw2Lx.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare___mf_0_tanstack_mf_1_react_mf_2_router__loadShare__.js-CJ027_El.js} +72 -151
  122. package/dist/web/assets/{_virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare__zod__loadShare__.js-DE4UUe5K.js → _virtual_mf___mfe_internal__plugin_mf_2_auth__loadShare__zod__loadShare__.js-Do-7VDVw.js} +30 -247
  123. package/dist/web/assets/auth-D8BnFQKk.js +1 -0
  124. package/dist/web/assets/{common-CLtpg163.js → common-7-ZtKO5B.js} +3 -3
  125. package/dist/web/assets/{common-ooa00sM_.js → common-Aq-HXybV.js} +6 -6
  126. package/dist/web/assets/{common-C0Hur22D.js → common-B8N9gx2s.js} +4 -4
  127. package/dist/web/assets/{common-BFKR_7HQ.js → common-BPbNs2A1.js} +6 -6
  128. package/dist/web/assets/{common-CTYcv1u_.js → common-B_XZ3l9w.js} +3 -3
  129. package/dist/web/assets/{common-B8Z1_D6-.js → common-CDrUdhRf.js} +4 -4
  130. package/dist/web/assets/{dist-DicVrB_Z.js → dist-D3CkiDKT.js} +387 -262
  131. package/dist/web/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__plugin-auth__remoteEntry_js-CtbvyMZJ.js → dist-SBfmsOB2.js} +43 -359
  132. package/dist/web/assets/{get-auth-plugin-definition-DBdchbBZ.js → get-auth-plugin-definition-D3ocnNxw.js} +2 -2
  133. package/dist/web/assets/hostInit-D3RxwboF.js +99 -0
  134. package/dist/web/assets/{index-CR54yoeW.js → index-CozZxQl1.js} +2 -2
  135. package/dist/web/assets/{mf-entry-bootstrap-0-4f84e81c.js → mf-entry-bootstrap-0-069a3ab2.js} +5 -2
  136. package/dist/web/assets/{model-utils-CQpTF3uf.js → model-utils-CYaLYwoX.js} +48 -14
  137. package/dist/web/assets/{models-Bc3L4Vsl.js → models-BX4xFiEn.js} +3 -3
  138. package/dist/web/assets/{models-BIKzGkW3.js → models-k-iaCft-.js} +3 -3
  139. package/dist/web/assets/{plugin-definition-33i4r91s.js → plugin-definition-BI565qFo.js} +3 -3
  140. package/dist/web/assets/{plugin-definition-BhNnSvrD.js → plugin-definition-CI1aEVGv.js} +3 -3
  141. package/dist/web/assets/{styles-BT_OTXuv.js → styles-f4jHVv0S.js} +15 -12
  142. package/dist/web/assets/{virtualExposes-B_hX31Ln.js → virtualExposes-BHQhgLE-.js} +1 -1
  143. package/dist/web/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__plugin-auth__remoteEntry_js-aH8n-Nbe.js +259 -0
  144. package/dist/web/assets/{virtual_mf-exposes-ssr___mfe_internal__plugin-auth__remoteEntry_js-BVNjo6R7.js → virtual_mf-exposes-ssr___mfe_internal__plugin-auth__remoteEntry_js-I_SxfvGj.js} +13 -13
  145. package/dist/web/assets/{virtual_mf-exposes___mfe_internal__plugin-auth__remoteEntry_js-B_7IVc8D.js → virtual_mf-exposes___mfe_internal__plugin-auth__remoteEntry_js-BQ0UMKSv.js} +50 -15
  146. package/dist/web/assets/{web-Dso6eI9u.js → web-BRvS0HRS.js} +17 -17
  147. package/dist/web/assets/{web-aKoJoBnQ.js → web-CkbTu31Q.js} +16 -16
  148. package/dist/web/assets/{web-DYbNyLPi.js → web-Cn3uvuFs.js} +35 -35
  149. package/dist/web/assets/{web-BDeHApaZ.js → web-DCK_tLVa.js} +31 -18
  150. package/dist/web/assets/{web-BXB-pvWJ.js → web-Dh6pUTrF.js} +20 -20
  151. package/dist/web/assets/{web-CJlCNegu.js → web-YXVJWeXy.js} +3 -3
  152. package/dist/web/assets/{web-BC9MejP0.js → web-nLSlkJy_.js} +3 -3
  153. package/dist/web/index.html +2 -2
  154. package/dist/web/remoteEntry.js +1 -1
  155. package/dist/web/remoteEntry.ssr.js +1 -1
  156. package/package.json +26 -26
  157. package/dist/web/assets/auth-DS8ZnZZr.js +0 -1
  158. package/dist/web/assets/hostInit-CDVLjNbq.js +0 -119
@@ -1,10 +1,10 @@
1
- import type { RequestServiceContext } from '%requestServiceContextImports';
1
+ import type { RequestServiceContextWith } from '%requestServiceContextImports';
2
2
  /**
3
3
  * Request a password reset for the given email.
4
4
  */
5
5
  export declare function requestPasswordReset({ email: rawEmail, context, }: {
6
6
  email: string;
7
- context: RequestServiceContext;
7
+ context: RequestServiceContextWith<'email'>;
8
8
  }): Promise<{
9
9
  success: true;
10
10
  }>;
@@ -31,7 +31,7 @@ export declare function validatePasswordResetToken({ token: rawToken, }: {
31
31
  export declare function completePasswordReset({ token: rawToken, newPassword: rawNewPassword, context, }: {
32
32
  token: string;
33
33
  newPassword: string;
34
- context: RequestServiceContext;
34
+ context: RequestServiceContextWith<'email'>;
35
35
  }): Promise<{
36
36
  success: true;
37
37
  }>;
@@ -3,7 +3,6 @@ import { PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PASSWORD_RESET_TOKEN_EXPIRY_S
3
3
  import { resetLoginRateLimits } from '$servicesUserPassword';
4
4
  import { createAuthVerification, validateAuthVerification, } from '%authModuleImports';
5
5
  import { config } from '%configServiceImports';
6
- import { sendEmail } from '%emailModuleImports';
7
6
  import { BadRequestError, handleZodRequestValidationError, } from '%errorHandlerServiceImports';
8
7
  import { createPasswordHash } from '%passwordHasherServiceImports';
9
8
  import { prisma } from '%prismaImports';
@@ -39,6 +38,7 @@ const requestPasswordResetSchema = z.object({
39
38
  * Request a password reset for the given email.
40
39
  */
41
40
  export async function requestPasswordReset({ email: rawEmail, context, }) {
41
+ const { services } = context;
42
42
  const { email } = await requestPasswordResetSchema
43
43
  .parseAsync({ email: rawEmail })
44
44
  .catch(handleZodRequestValidationError);
@@ -61,7 +61,7 @@ export async function requestPasswordReset({ email: rawEmail, context, }) {
61
61
  // Construct reset URL using configured domain
62
62
  const resetLink = `${config.AUTH_FRONTEND_URL}/auth/reset-password?token=${encodeURIComponent(token)}`;
63
63
  // Send email asynchronously (queue-based)
64
- await sendEmail(TPL_PASSWORD_RESET_EMAIL, {
64
+ await services.email.send(TPL_PASSWORD_RESET_EMAIL, {
65
65
  to: user.email,
66
66
  data: { resetLink },
67
67
  });
@@ -105,6 +105,7 @@ const completePasswordResetSchema = z.object({
105
105
  * - All remaining password-reset tokens for this user are deleted
106
106
  */
107
107
  export async function completePasswordReset({ token: rawToken, newPassword: rawNewPassword, context, }) {
108
+ const { services } = context;
108
109
  const { token, newPassword } = await completePasswordResetSchema
109
110
  .parseAsync({
110
111
  token: rawToken,
@@ -155,7 +156,7 @@ export async function completePasswordReset({ token: rawToken, newPassword: rawN
155
156
  // Reset login rate limits so the user can log in with their new password
156
157
  await resetLoginRateLimits({ email: user.email, ip: context.reqInfo.ip });
157
158
  // Send password changed confirmation email
158
- await sendEmail(TPL_PASSWORD_CHANGED_EMAIL, {
159
+ await services.email.send(TPL_PASSWORD_CHANGED_EMAIL, {
159
160
  to: user.email,
160
161
  data: {},
161
162
  });
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
 
3
- import type { RequestServiceContext } from '%requestServiceContextImports';
3
+ import type { RequestServiceContextWith } from '%requestServiceContextImports';
4
4
 
5
5
  import {
6
6
  PASSWORD_MAX_LENGTH,
@@ -13,7 +13,6 @@ import {
13
13
  validateAuthVerification,
14
14
  } from '%authModuleImports';
15
15
  import { config } from '%configServiceImports';
16
- import { sendEmail } from '%emailModuleImports';
17
16
  import {
18
17
  BadRequestError,
19
18
  handleZodRequestValidationError,
@@ -69,8 +68,10 @@ export async function requestPasswordReset({
69
68
  context,
70
69
  }: {
71
70
  email: string;
72
- context: RequestServiceContext;
71
+ context: RequestServiceContextWith<'email'>;
73
72
  }): Promise<{ success: true }> {
73
+ const { services } = context;
74
+
74
75
  const { email } = await requestPasswordResetSchema
75
76
  .parseAsync({ email: rawEmail })
76
77
  .catch(handleZodRequestValidationError);
@@ -110,7 +111,7 @@ export async function requestPasswordReset({
110
111
  const resetLink = `${config.AUTH_FRONTEND_URL}/auth/reset-password?token=${encodeURIComponent(token)}`;
111
112
 
112
113
  // Send email asynchronously (queue-based)
113
- await sendEmail(TPL_PASSWORD_RESET_EMAIL, {
114
+ await services.email.send(TPL_PASSWORD_RESET_EMAIL, {
114
115
  to: user.email,
115
116
  data: { resetLink },
116
117
  });
@@ -172,8 +173,10 @@ export async function completePasswordReset({
172
173
  }: {
173
174
  token: string;
174
175
  newPassword: string;
175
- context: RequestServiceContext;
176
+ context: RequestServiceContextWith<'email'>;
176
177
  }): Promise<{ success: true }> {
178
+ const { services } = context;
179
+
177
180
  const { token, newPassword } = await completePasswordResetSchema
178
181
  .parseAsync({
179
182
  token: rawToken,
@@ -232,7 +235,7 @@ export async function completePasswordReset({
232
235
  await resetLoginRateLimits({ email: user.email, ip: context.reqInfo.ip });
233
236
 
234
237
  // Send password changed confirmation email
235
- await sendEmail(TPL_PASSWORD_CHANGED_EMAIL, {
238
+ await services.email.send(TPL_PASSWORD_CHANGED_EMAIL, {
236
239
  to: user.email,
237
240
  data: {},
238
241
  });
@@ -5,7 +5,6 @@ import { BadRequestError, handleZodRequestValidationError, logError, NotFoundErr
5
5
  import { createPasswordHash, verifyPasswordHash, } from '%passwordHasherServiceImports';
6
6
  import { prisma } from '%prismaImports';
7
7
  import { memoizeRateLimiter } from '%rateLimitImports';
8
- import { userSessionService } from '%userSessionServiceImports';
9
8
  import z from 'zod';
10
9
  const PROVIDER_ID = 'email-password';
11
10
  const emailPasswordSchema = z.object({
@@ -82,7 +81,7 @@ export async function registerUserWithEmailAndPassword({ input, context, }) {
82
81
  // Rate limit registration by IP
83
82
  await getRegistrationLimiter().consumeOrThrow(context.reqInfo.ip, 'Too many registration attempts. Please try again later.', 'registration-rate-limited');
84
83
  const user = await createUserWithEmailAndPassword({ input });
85
- const session = await userSessionService.createSession(user.id, context);
84
+ const session = await context.services.userSession.createSession(user.id, context);
86
85
  // Send verification email (fire-and-forget, don't block registration)
87
86
  requestEmailVerification({ userId: user.id, context }).catch(logError);
88
87
  return { session, user };
@@ -122,7 +121,7 @@ export async function authenticateUserWithEmailAndPassword({ input, context, })
122
121
  }
123
122
  // Reset consecutive failures on successful login
124
123
  await getLoginConsecutiveFailsLimiter().delete(emailIpKey);
125
- const session = await userSessionService.createSession(userAccount.userId, context);
124
+ const session = await context.services.userSession.createSession(userAccount.userId, context);
126
125
  return { session };
127
126
  }
128
127
  const changePasswordSchema = z.object({
@@ -19,7 +19,6 @@ import {
19
19
  } from '%passwordHasherServiceImports';
20
20
  import { prisma } from '%prismaImports';
21
21
  import { memoizeRateLimiter } from '%rateLimitImports';
22
- import { userSessionService } from '%userSessionServiceImports';
23
22
  import z from 'zod';
24
23
 
25
24
  const PROVIDER_ID = 'email-password';
@@ -140,7 +139,10 @@ export async function registerUserWithEmailAndPassword({
140
139
  );
141
140
 
142
141
  const user = await createUserWithEmailAndPassword({ input });
143
- const session = await userSessionService.createSession(user.id, context);
142
+ const session = await context.services.userSession.createSession(
143
+ user.id,
144
+ context,
145
+ );
144
146
 
145
147
  // Send verification email (fire-and-forget, don't block registration)
146
148
  requestEmailVerification({ userId: user.id, context }).catch(logError);
@@ -215,7 +217,7 @@ export async function authenticateUserWithEmailAndPassword({
215
217
  // Reset consecutive failures on successful login
216
218
  await getLoginConsecutiveFailsLimiter().delete(emailIpKey);
217
219
 
218
- const session = await userSessionService.createSession(
220
+ const session = await context.services.userSession.createSession(
219
221
  userAccount.userId,
220
222
  context,
221
223
  );
@@ -27,6 +27,7 @@ export declare const authEmailTemplatesGenerator: import("@baseplate-dev/sync").
27
27
  };
28
28
  EmailLayout: {};
29
29
  Heading: {};
30
+ Link: {};
30
31
  renderEmail: {};
31
32
  Section: {};
32
33
  Text: {};
@@ -25,6 +25,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_GENERATED: {
25
25
  };
26
26
  EmailLayout: {};
27
27
  Heading: {};
28
+ Link: {};
28
29
  renderEmail: {};
29
30
  Section: {};
30
31
  Text: {};
@@ -47,6 +48,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_GENERATED: {
47
48
  };
48
49
  EmailLayout: {};
49
50
  Heading: {};
51
+ Link: {};
50
52
  renderEmail: {};
51
53
  Section: {};
52
54
  Text: {};
@@ -66,6 +68,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_GENERATED: {
66
68
  };
67
69
  EmailLayout: {};
68
70
  Heading: {};
71
+ Link: {};
69
72
  renderEmail: {};
70
73
  Section: {};
71
74
  Text: {};
@@ -85,6 +88,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_GENERATED: {
85
88
  };
86
89
  EmailLayout: {};
87
90
  Heading: {};
91
+ Link: {};
88
92
  renderEmail: {};
89
93
  Section: {};
90
94
  Text: {};
@@ -30,6 +30,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_RENDERERS: {
30
30
  };
31
31
  EmailLayout: {};
32
32
  Heading: {};
33
+ Link: {};
33
34
  renderEmail: {};
34
35
  Section: {};
35
36
  Text: {};
@@ -12,6 +12,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_TEMPLATES: {
12
12
  };
13
13
  EmailLayout: {};
14
14
  Heading: {};
15
+ Link: {};
15
16
  renderEmail: {};
16
17
  Section: {};
17
18
  Text: {};
@@ -31,6 +32,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_TEMPLATES: {
31
32
  };
32
33
  EmailLayout: {};
33
34
  Heading: {};
35
+ Link: {};
34
36
  renderEmail: {};
35
37
  Section: {};
36
38
  Text: {};
@@ -50,6 +52,7 @@ export declare const LOCAL_AUTH_AUTH_EMAIL_TEMPLATES_TEMPLATES: {
50
52
  };
51
53
  EmailLayout: {};
52
54
  Heading: {};
55
+ Link: {};
53
56
  renderEmail: {};
54
57
  Section: {};
55
58
  Text: {};
@@ -9,14 +9,14 @@ export declare const authModuleGenerator: import("@baseplate-dev/sync").Generato
9
9
  }, undefined>;
10
10
  imports: import("@baseplate-dev/sync").GeneratorTask<{
11
11
  authModuleImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
12
+ cleanupAuthVerificationQueue: {};
13
+ cleanupAuthVerificationWorker: {};
12
14
  cleanupExpiredAuthVerifications: {};
15
+ CookieUserSessionService: {};
13
16
  createAuthVerification: {};
14
17
  userSessionPayload: {};
15
18
  validateAuthVerification: {};
16
19
  }>>;
17
- userSessionServiceImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
18
- userSessionService: {};
19
- }>>;
20
20
  }, {
21
21
  paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").LocalAuthCoreAuthModulePaths>;
22
22
  }, undefined>;
@@ -60,6 +60,7 @@ export declare const authModuleGenerator: import("@baseplate-dev/sync").Generato
60
60
  InternalServerError: {};
61
61
  logError: {};
62
62
  NotFoundError: {};
63
+ throwIfPrismaNotFound: {};
63
64
  TooManyRequestsError: {};
64
65
  UnauthorizedError: {};
65
66
  }>>;
@@ -76,14 +77,60 @@ export declare const authModuleGenerator: import("@baseplate-dev/sync").Generato
76
77
  prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
77
78
  prisma: {};
78
79
  }>>;
79
- queueServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
80
- createQueue: {};
80
+ queuesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
81
+ bindQueueHandler: {};
82
+ defineQueue: {};
83
+ EnqueueOptions: {
84
+ isTypeOnly: true;
85
+ };
86
+ QueueHandlerBinding: {
87
+ isTypeOnly: true;
88
+ };
89
+ QueueHandlerBindingConfig: {
90
+ isTypeOnly: true;
91
+ };
92
+ QueueHandlerBindingInput: {
93
+ isTypeOnly: true;
94
+ };
95
+ QueueInfo: {
96
+ isTypeOnly: true;
97
+ };
98
+ QueueIntrospection: {
99
+ isTypeOnly: true;
100
+ };
101
+ QueueJob: {
102
+ isTypeOnly: true;
103
+ };
104
+ QueueJobHandler: {
105
+ isTypeOnly: true;
106
+ };
107
+ QueueRuntime: {
108
+ isTypeOnly: true;
109
+ };
110
+ QueueService: {
111
+ isTypeOnly: true;
112
+ };
113
+ QueueToken: {
114
+ isTypeOnly: true;
115
+ };
116
+ QueueWorkers: {
117
+ isTypeOnly: true;
118
+ };
119
+ RepeatableConfig: {
120
+ isTypeOnly: true;
121
+ };
122
+ ScheduledJob: {
123
+ isTypeOnly: true;
124
+ };
81
125
  }>>;
82
126
  requestServiceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
83
127
  createContextFromRequest: {};
84
128
  RequestServiceContext: {
85
129
  isTypeOnly: true;
86
130
  };
131
+ RequestServiceContextWith: {
132
+ isTypeOnly: true;
133
+ };
87
134
  }>>;
88
135
  typescriptFile: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").TypescriptFileProvider>;
89
136
  userSessionTypesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -108,9 +155,16 @@ export declare const authModuleGenerator: import("@baseplate-dev/sync").Generato
108
155
  prismaOutput: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/fastify-generators").PrismaOutputProvider>;
109
156
  renderers: import("@baseplate-dev/sync").ProviderType<import("./generated/template-renderers.js").LocalAuthCoreAuthModuleRenderers>;
110
157
  userObjectType: import("@baseplate-dev/sync").ProviderDependency<import("@baseplate-dev/fastify-generators").PothosTypeOutputProvider>;
111
- queueConfig: import("@baseplate-dev/sync").ProviderDependency<Omit<import("@baseplate-dev/utils").FieldMap<{
112
- queues: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/core-generators").TsCodeFragment>;
113
- }>, "getValues"> | undefined>;
158
+ appModule: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/fastify-generators").AppModuleProvider>;
159
+ paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").LocalAuthCoreAuthModulePaths>;
160
+ }, any>;
161
+ appRuntimeConfig: import("@baseplate-dev/sync").GeneratorTask<any, {
162
+ appRuntimeConfig: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
163
+ services: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/core-generators").TsCodeFragment>;
164
+ construction: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/fastify-generators").AppRuntimeConstructionEntry>;
165
+ flattenedModuleFields: import("@baseplate-dev/utils").MapContainer<string, string>;
166
+ usesBackgroundServices: import("@baseplate-dev/utils").ScalarContainer<boolean | undefined>;
167
+ }>, "getValues">>;
114
168
  paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").LocalAuthCoreAuthModulePaths>;
115
169
  }, any>;
116
170
  }>;
@@ -1,6 +1,5 @@
1
- import { tsCodeFragment, TsCodeUtils } from '@baseplate-dev/core-generators';
2
- import { appModuleProvider, configServiceProvider, createPothosPrismaObjectTypeOutputName, pothosTypeOutputProvider, prismaOutputProvider, } from '@baseplate-dev/fastify-generators';
3
- import { queueConfigProvider } from '@baseplate-dev/plugin-queue';
1
+ import { tsCodeFragment, TsCodeUtils, tsTypeImportBuilder, } from '@baseplate-dev/core-generators';
2
+ import { appModuleProvider, appRuntimeConfigProvider, configServiceProvider, createPothosPrismaObjectTypeOutputName, pothosTypeOutputProvider, prismaOutputProvider, } from '@baseplate-dev/fastify-generators';
4
3
  import { createGenerator, createGeneratorTask, createProviderTask, } from '@baseplate-dev/sync';
5
4
  import { quot } from '@baseplate-dev/utils';
6
5
  import { z } from 'zod';
@@ -56,10 +55,10 @@ export const authModuleGenerator = createGenerator({
56
55
  userObjectType: pothosTypeOutputProvider
57
56
  .dependency()
58
57
  .reference(createPothosPrismaObjectTypeOutputName(LOCAL_AUTH_MODELS.user)),
59
- queueConfig: queueConfigProvider.dependency().optional(),
58
+ appModule: appModuleProvider,
60
59
  paths: GENERATED_TEMPLATES.paths.provider,
61
60
  },
62
- run({ prismaOutput, renderers, userObjectType, queueConfig, paths }) {
61
+ run({ prismaOutput, renderers, userObjectType, appModule, paths }) {
63
62
  return {
64
63
  providers: {
65
64
  authModule: {},
@@ -88,16 +87,27 @@ export const authModuleGenerator = createGenerator({
88
87
  },
89
88
  },
90
89
  }));
91
- // Render queue only if queue plugin is available
92
- if (queueConfig) {
93
- await builder.apply(renderers.queuesCleanupAuthVerification.render({}));
94
- // Register with` queue system
95
- queueConfig.queues.set('cleanup-auth-verification', TsCodeUtils.importFragment('cleanupAuthVerificationQueue', paths.queuesCleanupAuthVerification));
96
- }
90
+ // Render queue
91
+ await builder.apply(renderers.queuesCleanupAuthVerification.render({}));
92
+ await builder.apply(renderers.queuesCleanupAuthVerificationWorker.render({}));
93
+ // Register with the app module's queues field
94
+ appModule.moduleFields.set('queues', 'cleanupAuthVerificationWorker', TsCodeUtils.importFragment('cleanupAuthVerificationWorker', paths.queuesCleanupAuthVerificationWorker));
97
95
  },
98
96
  };
99
97
  },
100
98
  }),
99
+ appRuntimeConfig: createGeneratorTask({
100
+ dependencies: {
101
+ appRuntimeConfig: appRuntimeConfigProvider,
102
+ paths: GENERATED_TEMPLATES.paths.provider,
103
+ },
104
+ run({ appRuntimeConfig, paths }) {
105
+ appRuntimeConfig.services.set('userSession', tsCodeFragment('CookieUserSessionService', tsTypeImportBuilder(['CookieUserSessionService']).from(paths.userSessionService)));
106
+ appRuntimeConfig.construction.set('userSession', {
107
+ fragment: TsCodeUtils.template `new ${TsCodeUtils.importFragment('CookieUserSessionService', paths.userSessionService)}()`,
108
+ });
109
+ },
110
+ }),
101
111
  }),
102
112
  });
103
113
  //# sourceMappingURL=auth-module.generator.js.map
@@ -2,14 +2,14 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
2
2
  imports: {
3
3
  task: import("@baseplate-dev/sync").GeneratorTask<{
4
4
  authModuleImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
5
+ cleanupAuthVerificationQueue: {};
6
+ cleanupAuthVerificationWorker: {};
5
7
  cleanupExpiredAuthVerifications: {};
8
+ CookieUserSessionService: {};
6
9
  createAuthVerification: {};
7
10
  userSessionPayload: {};
8
11
  validateAuthVerification: {};
9
12
  }>>;
10
- userSessionServiceImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
11
- userSessionService: {};
12
- }>>;
13
13
  }, {
14
14
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").LocalAuthCoreAuthModulePaths>;
15
15
  }, undefined>;
@@ -64,6 +64,7 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
64
64
  InternalServerError: {};
65
65
  logError: {};
66
66
  NotFoundError: {};
67
+ throwIfPrismaNotFound: {};
67
68
  TooManyRequestsError: {};
68
69
  UnauthorizedError: {};
69
70
  }>>;
@@ -80,14 +81,60 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
80
81
  prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
81
82
  prisma: {};
82
83
  }>>;
83
- queueServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
84
- createQueue: {};
84
+ queuesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
85
+ bindQueueHandler: {};
86
+ defineQueue: {};
87
+ EnqueueOptions: {
88
+ isTypeOnly: true;
89
+ };
90
+ QueueHandlerBinding: {
91
+ isTypeOnly: true;
92
+ };
93
+ QueueHandlerBindingConfig: {
94
+ isTypeOnly: true;
95
+ };
96
+ QueueHandlerBindingInput: {
97
+ isTypeOnly: true;
98
+ };
99
+ QueueInfo: {
100
+ isTypeOnly: true;
101
+ };
102
+ QueueIntrospection: {
103
+ isTypeOnly: true;
104
+ };
105
+ QueueJob: {
106
+ isTypeOnly: true;
107
+ };
108
+ QueueJobHandler: {
109
+ isTypeOnly: true;
110
+ };
111
+ QueueRuntime: {
112
+ isTypeOnly: true;
113
+ };
114
+ QueueService: {
115
+ isTypeOnly: true;
116
+ };
117
+ QueueToken: {
118
+ isTypeOnly: true;
119
+ };
120
+ QueueWorkers: {
121
+ isTypeOnly: true;
122
+ };
123
+ RepeatableConfig: {
124
+ isTypeOnly: true;
125
+ };
126
+ ScheduledJob: {
127
+ isTypeOnly: true;
128
+ };
85
129
  }>>;
86
130
  requestServiceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
87
131
  createContextFromRequest: {};
88
132
  RequestServiceContext: {
89
133
  isTypeOnly: true;
90
134
  };
135
+ RequestServiceContextWith: {
136
+ isTypeOnly: true;
137
+ };
91
138
  }>>;
92
139
  typescriptFile: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").TypescriptFileProvider>;
93
140
  userSessionTypesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -125,9 +172,7 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
125
172
  pothosImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
126
173
  builder: {};
127
174
  }>>;
128
- }, {
129
- userSessionService: {};
130
- }>;
175
+ }, Record<never, Record<never, never>>>;
131
176
  schemaUserSessionPayloadObjectType: import("@baseplate-dev/core-generators").TsTemplateFile<{
132
177
  TPL_PRISMA_USER: {};
133
178
  TPL_USER_OBJECT_TYPE: {};
@@ -180,6 +225,7 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
180
225
  InternalServerError: {};
181
226
  logError: {};
182
227
  NotFoundError: {};
228
+ throwIfPrismaNotFound: {};
183
229
  TooManyRequestsError: {};
184
230
  UnauthorizedError: {};
185
231
  }>>;
@@ -195,10 +241,102 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
195
241
  }, Record<never, Record<never, never>>>;
196
242
  };
197
243
  queuesCleanupAuthVerification: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {
198
- queueServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
199
- createQueue: {};
244
+ queuesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
245
+ bindQueueHandler: {};
246
+ defineQueue: {};
247
+ EnqueueOptions: {
248
+ isTypeOnly: true;
249
+ };
250
+ QueueHandlerBinding: {
251
+ isTypeOnly: true;
252
+ };
253
+ QueueHandlerBindingConfig: {
254
+ isTypeOnly: true;
255
+ };
256
+ QueueHandlerBindingInput: {
257
+ isTypeOnly: true;
258
+ };
259
+ QueueInfo: {
260
+ isTypeOnly: true;
261
+ };
262
+ QueueIntrospection: {
263
+ isTypeOnly: true;
264
+ };
265
+ QueueJob: {
266
+ isTypeOnly: true;
267
+ };
268
+ QueueJobHandler: {
269
+ isTypeOnly: true;
270
+ };
271
+ QueueRuntime: {
272
+ isTypeOnly: true;
273
+ };
274
+ QueueService: {
275
+ isTypeOnly: true;
276
+ };
277
+ QueueToken: {
278
+ isTypeOnly: true;
279
+ };
280
+ QueueWorkers: {
281
+ isTypeOnly: true;
282
+ };
283
+ RepeatableConfig: {
284
+ isTypeOnly: true;
285
+ };
286
+ ScheduledJob: {
287
+ isTypeOnly: true;
288
+ };
289
+ }>>;
290
+ }, Record<never, Record<never, never>>>;
291
+ queuesCleanupAuthVerificationWorker: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {
292
+ queuesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
293
+ bindQueueHandler: {};
294
+ defineQueue: {};
295
+ EnqueueOptions: {
296
+ isTypeOnly: true;
297
+ };
298
+ QueueHandlerBinding: {
299
+ isTypeOnly: true;
300
+ };
301
+ QueueHandlerBindingConfig: {
302
+ isTypeOnly: true;
303
+ };
304
+ QueueHandlerBindingInput: {
305
+ isTypeOnly: true;
306
+ };
307
+ QueueInfo: {
308
+ isTypeOnly: true;
309
+ };
310
+ QueueIntrospection: {
311
+ isTypeOnly: true;
312
+ };
313
+ QueueJob: {
314
+ isTypeOnly: true;
315
+ };
316
+ QueueJobHandler: {
317
+ isTypeOnly: true;
318
+ };
319
+ QueueRuntime: {
320
+ isTypeOnly: true;
321
+ };
322
+ QueueService: {
323
+ isTypeOnly: true;
324
+ };
325
+ QueueToken: {
326
+ isTypeOnly: true;
327
+ };
328
+ QueueWorkers: {
329
+ isTypeOnly: true;
330
+ };
331
+ RepeatableConfig: {
332
+ isTypeOnly: true;
333
+ };
334
+ ScheduledJob: {
335
+ isTypeOnly: true;
336
+ };
200
337
  }>>;
201
338
  }, {
339
+ queuesCleanupAuthVerification: {};
202
340
  servicesAuthVerification: {};
203
341
  }>;
204
342
  servicesAuthVerification: import("@baseplate-dev/core-generators").TsTemplateFile<{}, {
@@ -252,6 +390,7 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
252
390
  InternalServerError: {};
253
391
  logError: {};
254
392
  NotFoundError: {};
393
+ throwIfPrismaNotFound: {};
255
394
  TooManyRequestsError: {};
256
395
  UnauthorizedError: {};
257
396
  }>>;
@@ -263,6 +402,9 @@ export declare const LOCAL_AUTH_CORE_AUTH_MODULE_GENERATED: {
263
402
  RequestServiceContext: {
264
403
  isTypeOnly: true;
265
404
  };
405
+ RequestServiceContextWith: {
406
+ isTypeOnly: true;
407
+ };
266
408
  }>>;
267
409
  userSessionTypesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
268
410
  UserSessionPayload: {
@@ -2,6 +2,7 @@ export interface LocalAuthCoreAuthModulePaths {
2
2
  authRoleEnum: string;
3
3
  cookieSigner: string;
4
4
  queuesCleanupAuthVerification: string;
5
+ queuesCleanupAuthVerificationWorker: string;
5
6
  schemaUserSessionMutations: string;
6
7
  schemaUserSessionPayloadObjectType: string;
7
8
  schemaUserSessionQueries: string;
@@ -14,6 +14,7 @@ const localAuthCoreAuthModulePathsTask = createGeneratorTask({
14
14
  authRoleEnum: `${moduleRoot}/schema/auth-role.enum.ts`,
15
15
  cookieSigner: `${moduleRoot}/utils/cookie-signer.ts`,
16
16
  queuesCleanupAuthVerification: `${moduleRoot}/queues/cleanup-auth-verification.queue.ts`,
17
+ queuesCleanupAuthVerificationWorker: `${moduleRoot}/queues/cleanup-auth-verification.worker.ts`,
17
18
  schemaUserSessionMutations: `${moduleRoot}/schema/user-session.mutations.ts`,
18
19
  schemaUserSessionPayloadObjectType: `${moduleRoot}/schema/user-session-payload.object-type.ts`,
19
20
  schemaUserSessionQueries: `${moduleRoot}/schema/user-session.queries.ts`,