@baseplate-dev/fastify-generators 0.5.0 → 0.5.2

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 (171) hide show
  1. package/CHANGELOG.md +578 -0
  2. package/dist/constants/fastify-packages.d.ts +6 -5
  3. package/dist/constants/fastify-packages.d.ts.map +1 -1
  4. package/dist/constants/fastify-packages.js +6 -5
  5. package/dist/constants/fastify-packages.js.map +1 -1
  6. package/dist/generators/auth/auth-context/auth-context.generator.d.ts +1 -0
  7. package/dist/generators/auth/auth-context/auth-context.generator.d.ts.map +1 -1
  8. package/dist/generators/auth/auth-context/generated/index.d.ts +3 -0
  9. package/dist/generators/auth/auth-context/generated/index.d.ts.map +1 -1
  10. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts +1 -0
  11. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts.map +1 -1
  12. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts +4 -0
  13. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts.map +1 -1
  14. package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +1 -1
  15. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts +1 -0
  16. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts.map +1 -1
  17. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts +2 -0
  18. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts.map +1 -1
  19. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts +1 -0
  20. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts.map +1 -1
  21. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts +2 -0
  22. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts.map +1 -1
  23. package/dist/generators/core/app-module/app-module.generator.d.ts.map +1 -1
  24. package/dist/generators/core/app-module/app-module.generator.js.map +1 -1
  25. package/dist/generators/core/app-module-setup/app-module-setup.generator.js +2 -2
  26. package/dist/generators/core/app-module-setup/app-module-setup.generator.js.map +1 -1
  27. package/dist/generators/core/axios/axios.generator.d.ts.map +1 -1
  28. package/dist/generators/core/axios/axios.generator.js +6 -1
  29. package/dist/generators/core/axios/axios.generator.js.map +1 -1
  30. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts +2 -0
  31. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts.map +1 -1
  32. package/dist/generators/core/error-handler-service/generated/index.d.ts +1 -0
  33. package/dist/generators/core/error-handler-service/generated/index.d.ts.map +1 -1
  34. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +3 -0
  35. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
  36. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +2 -0
  37. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
  38. package/dist/generators/core/error-handler-service/generated/typed-templates.d.ts.map +1 -1
  39. package/dist/generators/core/error-handler-service/generated/typed-templates.js +1 -0
  40. package/dist/generators/core/error-handler-service/generated/typed-templates.js.map +1 -1
  41. package/dist/generators/core/error-handler-service/templates/src/plugins/error-handler.ts +5 -0
  42. package/dist/generators/core/error-handler-service/templates/src/utils/http-errors.ts +16 -0
  43. package/dist/generators/core/fastify/fastify.generator.js +2 -1
  44. package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
  45. package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js +1 -1
  46. package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js.map +1 -1
  47. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts +1 -0
  48. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts.map +1 -1
  49. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts +2 -0
  50. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts.map +1 -1
  51. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts +1 -0
  52. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts.map +1 -1
  53. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts +1 -0
  54. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts.map +1 -1
  55. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts +1 -0
  56. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts.map +1 -1
  57. package/dist/generators/core/fastify-sentry/generated/index.d.ts +2 -0
  58. package/dist/generators/core/fastify-sentry/generated/index.d.ts.map +1 -1
  59. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts +1 -0
  60. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts.map +1 -1
  61. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts +1 -0
  62. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts.map +1 -1
  63. package/dist/generators/core/logger-service/logger-service.generator.js +4 -3
  64. package/dist/generators/core/logger-service/logger-service.generator.js.map +1 -1
  65. package/dist/generators/core/service-file/service-file.generator.js +2 -2
  66. package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
  67. package/dist/generators/index.d.ts +0 -1
  68. package/dist/generators/index.d.ts.map +1 -1
  69. package/dist/generators/index.js +0 -1
  70. package/dist/generators/index.js.map +1 -1
  71. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -1
  72. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +2 -4
  73. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -1
  74. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +27 -39
  75. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -1
  76. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +28 -62
  77. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -1
  78. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts +10 -0
  79. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts.map +1 -1
  80. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +28 -2
  81. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
  82. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +1 -0
  83. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
  84. package/dist/generators/prisma/data-utils/generated/index.d.ts +2 -0
  85. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
  86. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +1 -0
  87. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -1
  88. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +2 -0
  89. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
  90. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +139 -75
  91. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +86 -104
  92. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-utils.ts +4 -2
  93. package/dist/generators/prisma/index.d.ts +1 -0
  94. package/dist/generators/prisma/index.d.ts.map +1 -1
  95. package/dist/generators/prisma/index.js +1 -0
  96. package/dist/generators/prisma/index.js.map +1 -1
  97. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +2 -0
  98. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  99. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +1 -0
  100. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  101. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +2 -0
  102. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  103. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +1 -0
  104. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  105. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -1
  106. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +6 -1
  107. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -1
  108. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts.map +1 -1
  109. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js +10 -9
  110. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js.map +1 -1
  111. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts +2 -0
  112. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts.map +1 -0
  113. package/dist/generators/prisma/prisma-model-authorizer/index.js +2 -0
  114. package/dist/generators/prisma/prisma-model-authorizer/index.js.map +1 -0
  115. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +54 -0
  116. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -0
  117. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +96 -0
  118. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -0
  119. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts +1 -0
  120. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts.map +1 -1
  121. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts +2 -0
  122. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts.map +1 -1
  123. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts +1 -0
  124. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts.map +1 -1
  125. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts +2 -0
  126. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts.map +1 -1
  127. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts +4 -0
  128. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts.map +1 -1
  129. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts +1 -0
  130. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts.map +1 -1
  131. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts +4 -0
  132. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts.map +1 -1
  133. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts +2 -0
  134. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts.map +1 -1
  135. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js.map +1 -1
  136. package/dist/types/service-output.d.ts.map +1 -1
  137. package/dist/types/service-output.js.map +1 -1
  138. package/dist/writers/pothos/scalars.d.ts.map +1 -1
  139. package/dist/writers/pothos/scalars.js.map +1 -1
  140. package/dist/writers/prisma-schema/model-writer.js +2 -2
  141. package/dist/writers/prisma-schema/model-writer.js.map +1 -1
  142. package/package.json +10 -10
  143. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts +0 -25
  144. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts.map +0 -1
  145. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js +0 -66
  146. package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js.map +0 -1
  147. package/dist/generators/email/fastify-postmark/generated/index.d.ts +0 -33
  148. package/dist/generators/email/fastify-postmark/generated/index.d.ts.map +0 -1
  149. package/dist/generators/email/fastify-postmark/generated/index.js +0 -9
  150. package/dist/generators/email/fastify-postmark/generated/index.js.map +0 -1
  151. package/dist/generators/email/fastify-postmark/generated/template-paths.d.ts +0 -12
  152. package/dist/generators/email/fastify-postmark/generated/template-paths.d.ts.map +0 -1
  153. package/dist/generators/email/fastify-postmark/generated/template-paths.js +0 -22
  154. package/dist/generators/email/fastify-postmark/generated/template-paths.js.map +0 -1
  155. package/dist/generators/email/fastify-postmark/generated/template-renderers.d.ts +0 -21
  156. package/dist/generators/email/fastify-postmark/generated/template-renderers.d.ts.map +0 -1
  157. package/dist/generators/email/fastify-postmark/generated/template-renderers.js +0 -39
  158. package/dist/generators/email/fastify-postmark/generated/template-renderers.js.map +0 -1
  159. package/dist/generators/email/fastify-postmark/generated/typed-templates.d.ts +0 -11
  160. package/dist/generators/email/fastify-postmark/generated/typed-templates.d.ts.map +0 -1
  161. package/dist/generators/email/fastify-postmark/generated/typed-templates.js +0 -14
  162. package/dist/generators/email/fastify-postmark/generated/typed-templates.js.map +0 -1
  163. package/dist/generators/email/fastify-postmark/index.d.ts +0 -2
  164. package/dist/generators/email/fastify-postmark/index.d.ts.map +0 -1
  165. package/dist/generators/email/fastify-postmark/index.js +0 -2
  166. package/dist/generators/email/fastify-postmark/index.js.map +0 -1
  167. package/dist/generators/email/fastify-postmark/templates/src/services/postmark.ts +0 -60
  168. package/dist/generators/email/index.d.ts +0 -2
  169. package/dist/generators/email/index.d.ts.map +0 -1
  170. package/dist/generators/email/index.js +0 -2
  171. package/dist/generators/email/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAC"}
@@ -29,6 +29,7 @@ export declare const PRISMA_DATA_UTILS_RENDERERS: {
29
29
  InternalServerError: {};
30
30
  logError: {};
31
31
  NotFoundError: {};
32
+ TooManyRequestsError: {};
32
33
  UnauthorizedError: {};
33
34
  }>>;
34
35
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").PrismaDataUtilsPaths>;
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE;QACnB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,2BAA2B,CAAC,mBAAmB,CACvD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvC,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE;QACnB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,2BAA2B,CAAC,mBAAmB,CACvD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvC,CAAC"}
@@ -18,6 +18,7 @@ export declare const dataOperationsGroup: {
18
18
  InternalServerError: {};
19
19
  logError: {};
20
20
  NotFoundError: {};
21
+ TooManyRequestsError: {};
21
22
  UnauthorizedError: {};
22
23
  }>>;
23
24
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -106,6 +107,7 @@ export declare const PRISMA_DATA_UTILS_TEMPLATES: {
106
107
  InternalServerError: {};
107
108
  logError: {};
108
109
  NotFoundError: {};
110
+ TooManyRequestsError: {};
109
111
  UnauthorizedError: {};
110
112
  }>>;
111
113
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAmJA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAmJA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}
@@ -66,6 +66,20 @@ export async function invokeHooks<TContext>(
66
66
  await Promise.all(hooks.map((hook) => hook(context)));
67
67
  }
68
68
 
69
+ /**
70
+ * Checks if any hooks are present that could modify data after the initial operation.
71
+ * Used to determine if a re-fetch is needed after operation completes.
72
+ *
73
+ * @param hooks - The hooks object to check
74
+ * @returns true if afterExecute or afterCommit hooks exist
75
+ */
76
+ function hasPostExecuteHooks(hooks: AnyOperationHooks): boolean {
77
+ return (
78
+ (hooks.afterExecute?.length ?? 0) > 0 ||
79
+ (hooks.afterCommit?.length ?? 0) > 0
80
+ );
81
+ }
82
+
69
83
  type FieldDataOrFunction<TField extends AnyFieldDefinition> =
70
84
  | InferFieldOutput<TField>
71
85
  | ((tx: PrismaTransaction) => Promise<InferFieldOutput<TField>>);
@@ -333,6 +347,19 @@ export interface CreateOperationConfig<
333
347
  * Optional hooks for the operation
334
348
  */
335
349
  hooks?: OperationHooks<GetPayload<TModelName>>;
350
+
351
+ /**
352
+ * Function to extract unique identifier from the created result.
353
+ * Required for re-fetching fresh data after hooks modify related records.
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * getWhereUnique: (result) => ({ id: result.id })
358
+ * ```
359
+ */
360
+ getWhereUnique: (
361
+ result: GetPayload<TModelName>,
362
+ ) => WhereUniqueInput<TModelName>;
336
363
  }
337
364
 
338
365
  /**
@@ -488,49 +515,69 @@ export function defineCreateOperation<
488
515
  ],
489
516
  };
490
517
 
491
- // Execute in transaction
492
- return prisma
493
- .$transaction(async (tx) => {
494
- const txContext: TransactionalOperationContext<
495
- GetPayload<TModelName>,
496
- { hasResult: false }
497
- > = {
498
- ...baseOperationContext,
499
- tx,
500
- };
518
+ // Check if we need to re-fetch after hooks (hooks may modify related records)
519
+ const needsRefetch = hasPostExecuteHooks(allHooks);
501
520
 
502
- // Run beforeExecute hooks
503
- await invokeHooks(allHooks.beforeExecute, txContext);
521
+ // Execute in transaction
522
+ const transactionResult = await prisma.$transaction(async (tx) => {
523
+ const txContext: TransactionalOperationContext<
524
+ GetPayload<TModelName>,
525
+ { hasResult: false }
526
+ > = {
527
+ ...baseOperationContext,
528
+ tx,
529
+ };
530
+
531
+ // Run beforeExecute hooks
532
+ await invokeHooks(allHooks.beforeExecute, txContext);
533
+
534
+ // Run all async create data transformations
535
+ const awaitedFieldsData =
536
+ typeof fieldsData === 'function' ? await fieldsData(tx) : fieldsData;
537
+
538
+ // If re-fetching, don't include relations in initial create
539
+ const createQuery = needsRefetch
540
+ ? ({} as { include: NonNullable<TQueryArgs['include']> })
541
+ : ((query ?? {}) as { include: NonNullable<TQueryArgs['include']> });
542
+
543
+ const result = await config.create({
544
+ tx,
545
+ data: { ...awaitedFieldsData.create, ...preparedData },
546
+ query: createQuery,
547
+ serviceContext: context,
548
+ });
504
549
 
505
- // Run all async create data transformations
506
- const awaitedFieldsData =
507
- typeof fieldsData === 'function' ? await fieldsData(tx) : fieldsData;
550
+ // Run afterExecute hooks
551
+ await invokeHooks(allHooks.afterExecute, {
552
+ ...txContext,
553
+ result,
554
+ });
508
555
 
509
- const result = await config.create({
510
- tx,
511
- data: { ...awaitedFieldsData.create, ...preparedData },
512
- query: (query ?? {}) as {
513
- include: NonNullable<TQueryArgs['include']>;
514
- },
515
- serviceContext: context,
516
- });
556
+ return result;
557
+ });
517
558
 
518
- // Run afterExecute hooks
519
- await invokeHooks(allHooks.afterExecute, {
520
- ...txContext,
521
- result,
522
- });
559
+ // Run afterCommit hooks (outside transaction)
560
+ await invokeHooks(allHooks.afterCommit, {
561
+ ...baseOperationContext,
562
+ result: transactionResult,
563
+ });
523
564
 
524
- return result;
525
- })
526
- .then(async (result) => {
527
- // Run afterCommit hooks (outside transaction)
528
- await invokeHooks(allHooks.afterCommit, {
529
- ...baseOperationContext,
530
- result,
531
- });
532
- return result as GetPayload<TModelName, TQueryArgs>;
565
+ // Re-fetch if hooks existed and query includes relations
566
+ if (needsRefetch && query?.include) {
567
+ const delegate = makeGenericPrismaDelegate(prisma, config.model);
568
+ const freshResult = await delegate.findUnique<TQueryArgs>({
569
+ where: config.getWhereUnique(
570
+ transactionResult as unknown as GetPayload<TModelName>,
571
+ ),
572
+ include: query.include,
533
573
  });
574
+ if (!freshResult) {
575
+ throw new NotFoundError(`${config.model} not found after create`);
576
+ }
577
+ return freshResult as GetPayload<TModelName, TQueryArgs>;
578
+ }
579
+
580
+ return transactionResult as GetPayload<TModelName, TQueryArgs>;
534
581
  };
535
582
  createOperation.$dataSchema = dataSchema;
536
583
  return createOperation;
@@ -809,50 +856,67 @@ export function defineUpdateOperation<
809
856
  ],
810
857
  };
811
858
 
812
- // Execute in transaction
813
- return prisma
814
- .$transaction(async (tx) => {
815
- const txContext: TransactionalOperationContext<
816
- GetPayload<TModelName>,
817
- { hasResult: false }
818
- > = {
819
- ...baseOperationContext,
820
- tx,
821
- };
859
+ // Check if we need to re-fetch after hooks (hooks may modify related records)
860
+ const needsRefetch = hasPostExecuteHooks(allHooks);
822
861
 
823
- // Run beforeExecute hooks
824
- await invokeHooks(allHooks.beforeExecute, txContext);
862
+ // Execute in transaction
863
+ const transactionResult = await prisma.$transaction(async (tx) => {
864
+ const txContext: TransactionalOperationContext<
865
+ GetPayload<TModelName>,
866
+ { hasResult: false }
867
+ > = {
868
+ ...baseOperationContext,
869
+ tx,
870
+ };
871
+
872
+ // Run beforeExecute hooks
873
+ await invokeHooks(allHooks.beforeExecute, txContext);
874
+
875
+ // Run all async update data transformations
876
+ const awaitedFieldsData =
877
+ typeof fieldsData === 'function' ? await fieldsData(tx) : fieldsData;
878
+
879
+ // If re-fetching, don't bother including relations in initial update
880
+ const updateQuery = needsRefetch
881
+ ? ({} as { include: NonNullable<TQueryArgs['include']> })
882
+ : ((query ?? {}) as { include: NonNullable<TQueryArgs['include']> });
883
+
884
+ const result = await config.update({
885
+ tx,
886
+ where,
887
+ data: { ...awaitedFieldsData.update, ...preparedData },
888
+ query: updateQuery,
889
+ serviceContext: context,
890
+ });
825
891
 
826
- // Run all async update data transformations
827
- const awaitedFieldsData =
828
- typeof fieldsData === 'function' ? await fieldsData(tx) : fieldsData;
892
+ // Run afterExecute hooks
893
+ await invokeHooks(allHooks.afterExecute, {
894
+ ...txContext,
895
+ result,
896
+ });
829
897
 
830
- const result = await config.update({
831
- tx,
832
- where,
833
- data: { ...awaitedFieldsData.update, ...preparedData },
834
- query: (query ?? {}) as {
835
- include: NonNullable<TQueryArgs['include']>;
836
- },
837
- serviceContext: context,
838
- });
898
+ return result;
899
+ });
839
900
 
840
- // Run afterExecute hooks
841
- await invokeHooks(allHooks.afterExecute, {
842
- ...txContext,
843
- result,
844
- });
901
+ // Run afterCommit hooks (outside transaction)
902
+ await invokeHooks(allHooks.afterCommit, {
903
+ ...baseOperationContext,
904
+ result: transactionResult,
905
+ });
845
906
 
846
- return result;
847
- })
848
- .then(async (result) => {
849
- // Run afterCommit hooks (outside transaction)
850
- await invokeHooks(allHooks.afterCommit, {
851
- ...baseOperationContext,
852
- result,
853
- });
854
- return result as GetPayload<TModelName, TQueryArgs>;
907
+ // Re-fetch if hooks existed and query includes relations
908
+ if (needsRefetch && query?.include) {
909
+ const freshResult = await delegate.findUnique<TQueryArgs>({
910
+ where,
911
+ include: query.include,
855
912
  });
913
+ if (!freshResult) {
914
+ throw new NotFoundError(`${config.model} not found after update`);
915
+ }
916
+ return freshResult as GetPayload<TModelName, TQueryArgs>;
917
+ }
918
+
919
+ return transactionResult as GetPayload<TModelName, TQueryArgs>;
856
920
  };
857
921
  updateOperation.$dataSchema = generateCreateSchema(config.fields).partial();
858
922
  return updateOperation;
@@ -30,64 +30,32 @@ import { makeGenericPrismaDelegate } from '$prismaUtils';
30
30
  import { prisma } from '%prismaImports';
31
31
 
32
32
  /**
33
- * Create a simple scalar field with validation and optional transformation
33
+ * Create a simple scalar field with validation
34
34
  *
35
35
  * This helper creates a field definition that validates input using a Zod schema.
36
- * Optionally, you can provide a transform function to convert the validated value
37
- * into a different type for Prisma operations.
38
- *
39
- * For relation fields (e.g., `userId`), use this helper to validate the ID,
40
- * then use relation helpers in the transform step to create Prisma connect/disconnect objects.
36
+ * The validated value is used directly for both create and update operations.
41
37
  *
42
38
  * @template TSchema - The Zod schema type for validation
43
- * @template TTransformed - The output type after transformation (defaults to schema output)
44
39
  * @param schema - Zod schema for validation
45
- * @param options - Optional configuration
46
- * @param options.transform - Function to transform the validated value
47
40
  * @returns Field definition
48
41
  *
49
42
  * @example
50
43
  * ```typescript
51
- * // Simple validation
52
44
  * const fields = {
53
45
  * title: scalarField(z.string()),
54
- * ownerId: scalarField(z.string()), // Validated as string
55
- * };
56
- *
57
- * // With transformation
58
- * const fields = {
59
- * email: scalarField(
60
- * z.email(),
61
- * { transform: (email) => email.toLowerCase() }
62
- * ),
63
- * createdAt: scalarField(
64
- * z.string().datetime(),
65
- * { transform: (dateStr) => new Date(dateStr) }
66
- * ),
46
+ * email: scalarField(z.string().email()),
47
+ * age: scalarField(z.number().int().positive()),
67
48
  * };
68
49
  * ```
69
50
  */
70
- export function scalarField<
71
- TSchema extends z.ZodType,
72
- TTransformed = z.output<TSchema>,
73
- >(
51
+ export function scalarField<TSchema extends z.ZodType>(
74
52
  schema: TSchema,
75
- options?: {
76
- transform?: (value: z.output<TSchema>) => TTransformed;
77
- },
78
- ): FieldDefinition<TSchema, TTransformed, TTransformed> {
53
+ ): FieldDefinition<TSchema, z.output<TSchema>, z.output<TSchema>> {
79
54
  return {
80
55
  schema,
81
- processInput: (value) => {
82
- // Apply transform if provided
83
- const transformed = options?.transform
84
- ? options.transform(value)
85
- : (value as TTransformed);
86
-
87
- return {
88
- data: { create: transformed, update: transformed },
89
- };
90
- },
56
+ processInput: (value) => ({
57
+ data: { create: value, update: value },
58
+ }),
91
59
  };
92
60
  }
93
61
 
@@ -145,11 +113,6 @@ type RelationName<TModelName extends ModelPropName> = keyof Payload<
145
113
  (typeof prisma)[TModelName]
146
114
  >['objects'];
147
115
 
148
- interface PrismaFieldData<TModelName extends ModelPropName> {
149
- create: CreateInput<TModelName>;
150
- update: UpdateInput<TModelName>;
151
- }
152
-
153
116
  /**
154
117
  * Configuration for defining a nested one-to-one relationship field.
155
118
  *
@@ -196,20 +159,29 @@ export interface NestedOneToOneFieldConfig<
196
159
  ) => WhereUniqueInput<TModelName>;
197
160
 
198
161
  /**
199
- * Transform validated field data into final Prisma structure
162
+ * Transform validated create field data into final Prisma structure
200
163
  */
201
- buildData: (
202
- data: {
203
- create: InferFieldsCreateOutput<TFields> &
204
- Record<TRelationName, { connect: WhereUniqueInput<TParentModelName> }>;
205
- update: InferFieldsUpdateOutput<TFields>;
206
- },
164
+ buildCreateData: (
165
+ data: InferFieldsCreateOutput<TFields> &
166
+ Record<TRelationName, { connect: WhereUniqueInput<TParentModelName> }>,
207
167
  parentModel: GetPayload<TParentModelName>,
208
168
  ctx: TransactionalOperationContext<
209
169
  GetPayload<TModelName>,
210
170
  { hasResult: false }
211
171
  >,
212
- ) => PrismaFieldData<TModelName> | Promise<PrismaFieldData<TModelName>>;
172
+ ) => CreateInput<TModelName> | Promise<CreateInput<TModelName>>;
173
+
174
+ /**
175
+ * Transform validated update field data into final Prisma structure
176
+ */
177
+ buildUpdateData: (
178
+ data: InferFieldsUpdateOutput<TFields>,
179
+ parentModel: GetPayload<TParentModelName>,
180
+ ctx: TransactionalOperationContext<
181
+ GetPayload<TModelName>,
182
+ { hasResult: false }
183
+ >,
184
+ ) => UpdateInput<TModelName> | Promise<UpdateInput<TModelName>>;
213
185
  }
214
186
 
215
187
  /**
@@ -319,9 +291,9 @@ export function nestedOneToOneField<
319
291
  );
320
292
  const prismaDelegate = makeGenericPrismaDelegate(prisma, config.model);
321
293
  cachedExisting =
322
- (await prismaDelegate.findUnique({
294
+ ((await prismaDelegate.findUnique({
323
295
  where: whereUnique,
324
- })) ?? undefined;
296
+ })) as GetPayload<TModelName> | null) ?? undefined;
325
297
  return cachedExisting;
326
298
  }
327
299
 
@@ -351,9 +323,14 @@ export function nestedOneToOneField<
351
323
  const parentWhereUnique = config.parentModel.getWhereUnique(
352
324
  ctx.result as GetPayload<TParentModelName>,
353
325
  );
354
- const builtData = await config.buildData(
355
- {
356
- create: {
326
+ const sharedCtx = {
327
+ ...ctx,
328
+ operation: 'upsert' as const,
329
+ loadExisting,
330
+ };
331
+ const [builtCreate, builtUpdate] = await Promise.all([
332
+ config.buildCreateData(
333
+ {
357
334
  ...awaitedData.create,
358
335
  ...({
359
336
  [config.relationName]: { connect: parentWhereUnique },
@@ -362,15 +339,15 @@ export function nestedOneToOneField<
362
339
  { connect: WhereUniqueInput<TParentModelName> }
363
340
  >),
364
341
  },
365
- update: awaitedData.update,
366
- },
367
- ctx.result as GetPayload<TParentModelName>,
368
- {
369
- ...ctx,
370
- operation: 'upsert',
371
- loadExisting,
372
- },
373
- );
342
+ ctx.result as GetPayload<TParentModelName>,
343
+ sharedCtx,
344
+ ),
345
+ config.buildUpdateData(
346
+ awaitedData.update,
347
+ ctx.result as GetPayload<TParentModelName>,
348
+ sharedCtx,
349
+ ),
350
+ ]);
374
351
  const prismaDelegate = makeGenericPrismaDelegate(
375
352
  ctx.tx,
376
353
  config.model,
@@ -378,8 +355,8 @@ export function nestedOneToOneField<
378
355
 
379
356
  newModelResult = await prismaDelegate.upsert({
380
357
  where: whereUnique,
381
- create: builtData.create,
382
- update: builtData.update,
358
+ create: builtCreate,
359
+ update: builtUpdate,
383
360
  });
384
361
 
385
362
  await invokeHooks(hooks.afterExecute, {
@@ -455,29 +432,30 @@ export interface NestedOneToManyFieldConfig<
455
432
  ) => WhereUniqueInput<TModelName> | undefined;
456
433
 
457
434
  /**
458
- * Transform validated field data into final Prisma structure for a single item.
435
+ * Transform validated create field data into final Prisma structure for a single item.
459
436
  * The returned payload should not include the parent relation field, as it will be added automatically.
460
437
  */
461
- buildData: (
462
- data: {
463
- create: InferFieldsCreateOutput<TFields> &
464
- Record<TRelationName, { connect: WhereUniqueInput<TParentModelName> }>;
465
- update: InferFieldsUpdateOutput<TFields>;
466
- },
438
+ buildCreateData: (
439
+ data: InferFieldsCreateOutput<TFields> &
440
+ Record<TRelationName, { connect: WhereUniqueInput<TParentModelName> }>,
467
441
  parentModel: GetPayload<TParentModelName>,
468
442
  ctx: TransactionalOperationContext<
469
443
  GetPayload<TModelName> | undefined,
470
444
  { hasResult: false }
471
445
  >,
472
- ) =>
473
- | Promise<{
474
- create: CreateInput<TModelName>;
475
- update: UpdateInput<TModelName>;
476
- }>
477
- | {
478
- create: CreateInput<TModelName>;
479
- update: UpdateInput<TModelName>;
480
- };
446
+ ) => CreateInput<TModelName> | Promise<CreateInput<TModelName>>;
447
+
448
+ /**
449
+ * Transform validated update field data into final Prisma structure for a single item.
450
+ */
451
+ buildUpdateData: (
452
+ data: InferFieldsUpdateOutput<TFields>,
453
+ parentModel: GetPayload<TParentModelName>,
454
+ ctx: TransactionalOperationContext<
455
+ GetPayload<TModelName> | undefined,
456
+ { hasResult: false }
457
+ >,
458
+ ) => UpdateInput<TModelName> | Promise<UpdateInput<TModelName>>;
481
459
  }
482
460
 
483
461
  /**
@@ -640,9 +618,9 @@ export function nestedOneToManyField<
640
618
  if (cachedExisting) return cachedExisting;
641
619
  if (!whereUnique) return undefined;
642
620
  cachedExisting =
643
- (await delegate.findUnique({
621
+ ((await delegate.findUnique({
644
622
  where: { ...whereUnique, ...whereFromOriginalModel },
645
- })) ?? undefined;
623
+ })) as GetPayload<TModelName> | null) ?? undefined;
646
624
  return cachedExisting;
647
625
  };
648
626
  });
@@ -728,9 +706,18 @@ export function nestedOneToManyField<
728
706
  ctx.result,
729
707
  );
730
708
 
731
- const builtData = await config.buildData(
732
- {
733
- create: {
709
+ const sharedCtx: TransactionalOperationContext<
710
+ GetPayload<TModelName> | undefined,
711
+ { hasResult: false }
712
+ > = {
713
+ ...ctx,
714
+ operation: item.whereUnique ? 'update' : 'create',
715
+ loadExisting: cachedLoadExisting[idx],
716
+ result: undefined,
717
+ };
718
+ const [builtCreate, builtUpdate] = await Promise.all([
719
+ config.buildCreateData(
720
+ {
734
721
  ...awaitedData.create,
735
722
  ...({
736
723
  [config.relationName]: { connect: parentWhereUnique },
@@ -739,25 +726,20 @@ export function nestedOneToManyField<
739
726
  { connect: WhereUniqueInput<TParentModelName> }
740
727
  >),
741
728
  },
742
- update: awaitedData.update,
743
- },
744
- ctx.result,
745
- {
746
- ...ctx,
747
- operation: item.whereUnique ? 'update' : 'create',
748
- loadExisting: cachedLoadExisting[idx],
749
- result: undefined,
750
- },
751
- );
729
+ ctx.result,
730
+ sharedCtx,
731
+ ),
732
+ config.buildUpdateData(awaitedData.update, ctx.result, sharedCtx),
733
+ ]);
752
734
 
753
735
  results[idx] = item.whereUnique
754
736
  ? await prismaDelegate.upsert({
755
737
  where: item.whereUnique,
756
- create: builtData.create,
757
- update: builtData.update,
738
+ create: builtCreate,
739
+ update: builtUpdate,
758
740
  })
759
741
  : await prismaDelegate.create({
760
- data: builtData.create,
742
+ data: builtCreate,
761
743
  });
762
744
 
763
745
  await invokeHooks(item.hooks.afterExecute, {
@@ -4,6 +4,7 @@ import type {
4
4
  CreateInput,
5
5
  GetPayload,
6
6
  ModelPropName,
7
+ ModelQuery,
7
8
  UpdateInput,
8
9
  WhereInput,
9
10
  WhereUniqueInput,
@@ -22,9 +23,10 @@ import type { PrismaTransaction } from '$types';
22
23
  * @internal This interface is used internally by the data operations system
23
24
  */
24
25
  interface GenericPrismaDelegate<TModelName extends ModelPropName> {
25
- findUnique: (args: {
26
+ findUnique: <TQueryArgs extends ModelQuery<TModelName> = object>(args: {
26
27
  where: WhereUniqueInput<TModelName>;
27
- }) => Promise<GetPayload<TModelName> | null>;
28
+ include?: NonNullable<ModelQuery<TModelName>['include']>;
29
+ }) => Promise<GetPayload<TModelName, TQueryArgs> | null>;
28
30
  findMany: (args: {
29
31
  where: WhereInput<TModelName>;
30
32
  }) => Promise<GetPayload<TModelName>[]>;
@@ -8,6 +8,7 @@ export * from './prisma-data-service/index.js';
8
8
  export * from './prisma-data-update/index.js';
9
9
  export * from './prisma-enum/index.js';
10
10
  export * from './prisma-field/index.js';
11
+ export * from './prisma-model-authorizer/index.js';
11
12
  export * from './prisma-model-id/index.js';
12
13
  export * from './prisma-model-index/index.js';
13
14
  export * from './prisma-model-unique/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
@@ -8,6 +8,7 @@ export * from './prisma-data-service/index.js';
8
8
  export * from './prisma-data-update/index.js';
9
9
  export * from './prisma-enum/index.js';
10
10
  export * from './prisma-field/index.js';
11
+ export * from './prisma-model-authorizer/index.js';
11
12
  export * from './prisma-model-id/index.js';
12
13
  export * from './prisma-model-index/index.js';
13
14
  export * from './prisma-model-unique/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}