@baseplate-dev/fastify-generators 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/constants/fastify-packages.d.ts +14 -14
  3. package/dist/constants/fastify-packages.js +14 -14
  4. package/dist/constants/fastify-packages.js.map +1 -1
  5. package/dist/generators/auth/auth-context/templates/module/types/auth-context.types.ts +1 -0
  6. package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +3 -1
  7. package/dist/generators/core/fastify/fastify.generator.d.ts +0 -5
  8. package/dist/generators/core/fastify/fastify.generator.d.ts.map +1 -1
  9. package/dist/generators/core/fastify/fastify.generator.js +5 -6
  10. package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
  11. package/dist/generators/pothos/index.d.ts +1 -0
  12. package/dist/generators/pothos/index.d.ts.map +1 -1
  13. package/dist/generators/pothos/index.js +1 -0
  14. package/dist/generators/pothos/index.js.map +1 -1
  15. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts +5 -0
  16. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts.map +1 -1
  17. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js +8 -0
  18. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js.map +1 -1
  19. package/dist/generators/pothos/pothos-prisma-count-query/index.d.ts +2 -0
  20. package/dist/generators/pothos/pothos-prisma-count-query/index.d.ts.map +1 -0
  21. package/dist/generators/pothos/pothos-prisma-count-query/index.js +2 -0
  22. package/dist/generators/pothos/pothos-prisma-count-query/index.js.map +1 -0
  23. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.d.ts +15 -0
  24. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.d.ts.map +1 -0
  25. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.js +97 -0
  26. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.js.map +1 -0
  27. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts.map +1 -1
  28. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js +2 -5
  29. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js.map +1 -1
  30. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts +3 -0
  31. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts.map +1 -1
  32. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js +44 -10
  33. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js.map +1 -1
  34. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts +3 -0
  35. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts.map +1 -1
  36. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js +32 -3
  37. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js.map +1 -1
  38. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts +7 -1
  39. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts.map +1 -1
  40. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js +73 -13
  41. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js.map +1 -1
  42. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.d.ts +20 -0
  43. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.d.ts.map +1 -0
  44. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.js +28 -0
  45. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.js.map +1 -0
  46. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts +41 -50
  47. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -1
  48. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +35 -29
  49. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -1
  50. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +2 -0
  51. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -1
  52. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +3 -3
  53. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -1
  54. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts +1 -0
  55. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts.map +1 -1
  56. package/dist/generators/prisma/_shared/build-data-helpers/index.js +1 -0
  57. package/dist/generators/prisma/_shared/build-data-helpers/index.js.map +1 -1
  58. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +25 -3
  59. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
  60. package/dist/generators/prisma/data-utils/generated/index.d.ts +67 -18
  61. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
  62. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts +3 -1
  63. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts.map +1 -1
  64. package/dist/generators/prisma/data-utils/generated/template-paths.js +3 -1
  65. package/dist/generators/prisma/data-utils/generated/template-paths.js.map +1 -1
  66. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts +75 -9
  67. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts.map +1 -1
  68. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js +26 -6
  69. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js.map +1 -1
  70. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +84 -30
  71. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
  72. package/dist/generators/prisma/data-utils/generated/typed-templates.js +56 -11
  73. package/dist/generators/prisma/data-utils/generated/typed-templates.js.map +1 -1
  74. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/commit-operations.ts +365 -0
  75. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/compose-operations.ts +131 -0
  76. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +26 -30
  77. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-utils.ts +201 -0
  78. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/relation-helpers.ts +21 -26
  79. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/types.ts +372 -14
  80. package/dist/generators/prisma/index.d.ts +2 -0
  81. package/dist/generators/prisma/index.d.ts.map +1 -1
  82. package/dist/generators/prisma/index.js +2 -0
  83. package/dist/generators/prisma/index.js.map +1 -1
  84. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +50 -6
  85. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  86. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +25 -3
  87. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  88. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +50 -6
  89. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  90. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +25 -3
  91. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  92. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts +26 -3
  93. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -1
  94. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +51 -25
  95. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -1
  96. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts +31 -3
  97. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts.map +1 -1
  98. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js +48 -14
  99. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js.map +1 -1
  100. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts +25 -3
  101. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts.map +1 -1
  102. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts +25 -3
  103. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts.map +1 -1
  104. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts +31 -3
  105. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts.map +1 -1
  106. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js +63 -23
  107. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js.map +1 -1
  108. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +2 -0
  109. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -1
  110. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +86 -53
  111. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -1
  112. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts +2 -0
  113. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts.map +1 -0
  114. package/dist/generators/prisma/prisma-model-query-filter/index.js +2 -0
  115. package/dist/generators/prisma/prisma-model-query-filter/index.js.map +1 -0
  116. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts +57 -0
  117. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts.map +1 -0
  118. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js +124 -0
  119. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js.map +1 -0
  120. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts +348 -0
  121. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts.map +1 -0
  122. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js +13 -0
  123. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js.map +1 -0
  124. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts +13 -0
  125. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts.map +1 -0
  126. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js +25 -0
  127. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js.map +1 -0
  128. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts +123 -0
  129. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts.map +1 -0
  130. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js +46 -0
  131. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js.map +1 -0
  132. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts +57 -0
  133. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts.map +1 -0
  134. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js +38 -0
  135. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js.map +1 -0
  136. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts +401 -0
  137. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts.map +1 -0
  138. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js +43 -0
  139. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js.map +1 -0
  140. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts +4 -0
  141. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts.map +1 -0
  142. package/dist/generators/prisma/prisma-query-filter-utils/index.js +3 -0
  143. package/dist/generators/prisma/prisma-query-filter-utils/index.js.map +1 -0
  144. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts +145 -0
  145. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts.map +1 -0
  146. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js +32 -0
  147. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js.map +1 -0
  148. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-filters.ts +185 -0
  149. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-helpers.ts +70 -0
  150. package/dist/types/service-dto-kinds.d.ts +0 -6
  151. package/dist/types/service-dto-kinds.d.ts.map +1 -1
  152. package/dist/types/service-dto-kinds.js +0 -6
  153. package/dist/types/service-dto-kinds.js.map +1 -1
  154. package/dist/writers/pothos/helpers.d.ts +1 -0
  155. package/dist/writers/pothos/helpers.d.ts.map +1 -1
  156. package/dist/writers/pothos/helpers.js +1 -0
  157. package/dist/writers/pothos/helpers.js.map +1 -1
  158. package/dist/writers/pothos/scalar-fields.d.ts +3 -1
  159. package/dist/writers/pothos/scalar-fields.d.ts.map +1 -1
  160. package/dist/writers/pothos/scalar-fields.js +1 -0
  161. package/dist/writers/pothos/scalar-fields.js.map +1 -1
  162. package/dist/writers/prisma-schema/fields.d.ts +1 -1
  163. package/dist/writers/prisma-schema/fields.js +2 -2
  164. package/dist/writers/prisma-schema/fields.js.map +1 -1
  165. package/package.json +8 -8
  166. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +0 -1134
@@ -11,8 +11,10 @@ export * from './prisma-field/index.js';
11
11
  export * from './prisma-model-authorizer/index.js';
12
12
  export * from './prisma-model-id/index.js';
13
13
  export * from './prisma-model-index/index.js';
14
+ export * from './prisma-model-query-filter/index.js';
14
15
  export * from './prisma-model-unique/index.js';
15
16
  export * from './prisma-model/index.js';
17
+ export * from './prisma-query-filter-utils/index.js';
16
18
  export * from './prisma-relation-field/index.js';
17
19
  export * from './prisma/index.js';
18
20
  //# sourceMappingURL=index.js.map
@@ -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,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"}
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,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
@@ -55,13 +55,24 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
55
55
  AnyOperationHooks: {
56
56
  isTypeOnly: true;
57
57
  };
58
+ commitCreate: {};
59
+ commitDelete: {};
60
+ commitUpdate: {};
61
+ composeCreate: {};
62
+ composeUpdate: {};
58
63
  createParentModelConfig: {};
64
+ DataCreateInput: {
65
+ isTypeOnly: true;
66
+ };
67
+ DataDeleteInput: {
68
+ isTypeOnly: true;
69
+ };
59
70
  DataOperationType: {
60
71
  isTypeOnly: true;
61
72
  };
62
- defineCreateOperation: {};
63
- defineDeleteOperation: {};
64
- defineUpdateOperation: {};
73
+ DataUpdateInput: {
74
+ isTypeOnly: true;
75
+ };
65
76
  FieldContext: {
66
77
  isTypeOnly: true;
67
78
  };
@@ -74,6 +85,8 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
74
85
  FieldTransformResult: {
75
86
  isTypeOnly: true;
76
87
  };
88
+ generateCreateSchema: {};
89
+ generateUpdateSchema: {};
77
90
  GetPayload: {
78
91
  isTypeOnly: true;
79
92
  };
@@ -86,6 +99,9 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
86
99
  ModelPropName: {
87
100
  isTypeOnly: true;
88
101
  };
102
+ ModelQuery: {
103
+ isTypeOnly: true;
104
+ };
89
105
  nestedOneToManyField: {};
90
106
  NestedOneToManyFieldConfig: {
91
107
  isTypeOnly: true;
@@ -111,6 +127,12 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
111
127
  TransactionalOperationContext: {
112
128
  isTypeOnly: true;
113
129
  };
130
+ WhereInput: {
131
+ isTypeOnly: true;
132
+ };
133
+ WhereUniqueInput: {
134
+ isTypeOnly: true;
135
+ };
114
136
  }>>;
115
137
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
116
138
  BadRequestError: {};
@@ -156,13 +178,24 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
156
178
  AnyOperationHooks: {
157
179
  isTypeOnly: true;
158
180
  };
181
+ commitCreate: {};
182
+ commitDelete: {};
183
+ commitUpdate: {};
184
+ composeCreate: {};
185
+ composeUpdate: {};
159
186
  createParentModelConfig: {};
187
+ DataCreateInput: {
188
+ isTypeOnly: true;
189
+ };
190
+ DataDeleteInput: {
191
+ isTypeOnly: true;
192
+ };
160
193
  DataOperationType: {
161
194
  isTypeOnly: true;
162
195
  };
163
- defineCreateOperation: {};
164
- defineDeleteOperation: {};
165
- defineUpdateOperation: {};
196
+ DataUpdateInput: {
197
+ isTypeOnly: true;
198
+ };
166
199
  FieldContext: {
167
200
  isTypeOnly: true;
168
201
  };
@@ -175,6 +208,8 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
175
208
  FieldTransformResult: {
176
209
  isTypeOnly: true;
177
210
  };
211
+ generateCreateSchema: {};
212
+ generateUpdateSchema: {};
178
213
  GetPayload: {
179
214
  isTypeOnly: true;
180
215
  };
@@ -187,6 +222,9 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
187
222
  ModelPropName: {
188
223
  isTypeOnly: true;
189
224
  };
225
+ ModelQuery: {
226
+ isTypeOnly: true;
227
+ };
190
228
  nestedOneToManyField: {};
191
229
  NestedOneToManyFieldConfig: {
192
230
  isTypeOnly: true;
@@ -212,6 +250,12 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
212
250
  TransactionalOperationContext: {
213
251
  isTypeOnly: true;
214
252
  };
253
+ WhereInput: {
254
+ isTypeOnly: true;
255
+ };
256
+ WhereUniqueInput: {
257
+ isTypeOnly: true;
258
+ };
215
259
  }>>;
216
260
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
217
261
  BadRequestError: {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKpD,CAAC"}
@@ -29,13 +29,24 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_RENDERERS: {
29
29
  AnyOperationHooks: {
30
30
  isTypeOnly: true;
31
31
  };
32
+ commitCreate: {};
33
+ commitDelete: {};
34
+ commitUpdate: {};
35
+ composeCreate: {};
36
+ composeUpdate: {};
32
37
  createParentModelConfig: {};
38
+ DataCreateInput: {
39
+ isTypeOnly: true;
40
+ };
41
+ DataDeleteInput: {
42
+ isTypeOnly: true;
43
+ };
33
44
  DataOperationType: {
34
45
  isTypeOnly: true;
35
46
  };
36
- defineCreateOperation: {};
37
- defineDeleteOperation: {};
38
- defineUpdateOperation: {};
47
+ DataUpdateInput: {
48
+ isTypeOnly: true;
49
+ };
39
50
  FieldContext: {
40
51
  isTypeOnly: true;
41
52
  };
@@ -48,6 +59,8 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_RENDERERS: {
48
59
  FieldTransformResult: {
49
60
  isTypeOnly: true;
50
61
  };
62
+ generateCreateSchema: {};
63
+ generateUpdateSchema: {};
51
64
  GetPayload: {
52
65
  isTypeOnly: true;
53
66
  };
@@ -60,6 +73,9 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_RENDERERS: {
60
73
  ModelPropName: {
61
74
  isTypeOnly: true;
62
75
  };
76
+ ModelQuery: {
77
+ isTypeOnly: true;
78
+ };
63
79
  nestedOneToManyField: {};
64
80
  NestedOneToManyFieldConfig: {
65
81
  isTypeOnly: true;
@@ -85,6 +101,12 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_RENDERERS: {
85
101
  TransactionalOperationContext: {
86
102
  isTypeOnly: true;
87
103
  };
104
+ WhereInput: {
105
+ isTypeOnly: true;
106
+ };
107
+ WhereUniqueInput: {
108
+ isTypeOnly: true;
109
+ };
88
110
  }>>;
89
111
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
90
112
  BadRequestError: {};
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-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;AAWzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE;QACT,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,wCAAwC,CAAC,SAAS,CAC1D,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpD,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-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;AAWzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE;QACT,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,wCAAwC,CAAC,SAAS,CAC1D,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpD,CAAC"}
@@ -18,13 +18,24 @@ export declare const mainGroup: {
18
18
  AnyOperationHooks: {
19
19
  isTypeOnly: true;
20
20
  };
21
+ commitCreate: {};
22
+ commitDelete: {};
23
+ commitUpdate: {};
24
+ composeCreate: {};
25
+ composeUpdate: {};
21
26
  createParentModelConfig: {};
27
+ DataCreateInput: {
28
+ isTypeOnly: true;
29
+ };
30
+ DataDeleteInput: {
31
+ isTypeOnly: true;
32
+ };
22
33
  DataOperationType: {
23
34
  isTypeOnly: true;
24
35
  };
25
- defineCreateOperation: {};
26
- defineDeleteOperation: {};
27
- defineUpdateOperation: {};
36
+ DataUpdateInput: {
37
+ isTypeOnly: true;
38
+ };
28
39
  FieldContext: {
29
40
  isTypeOnly: true;
30
41
  };
@@ -37,6 +48,8 @@ export declare const mainGroup: {
37
48
  FieldTransformResult: {
38
49
  isTypeOnly: true;
39
50
  };
51
+ generateCreateSchema: {};
52
+ generateUpdateSchema: {};
40
53
  GetPayload: {
41
54
  isTypeOnly: true;
42
55
  };
@@ -49,6 +62,9 @@ export declare const mainGroup: {
49
62
  ModelPropName: {
50
63
  isTypeOnly: true;
51
64
  };
65
+ ModelQuery: {
66
+ isTypeOnly: true;
67
+ };
52
68
  nestedOneToManyField: {};
53
69
  NestedOneToManyFieldConfig: {
54
70
  isTypeOnly: true;
@@ -74,6 +90,12 @@ export declare const mainGroup: {
74
90
  TransactionalOperationContext: {
75
91
  isTypeOnly: true;
76
92
  };
93
+ WhereInput: {
94
+ isTypeOnly: true;
95
+ };
96
+ WhereUniqueInput: {
97
+ isTypeOnly: true;
98
+ };
77
99
  }>>;
78
100
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
79
101
  BadRequestError: {};
@@ -117,13 +139,24 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_TEMPLATES: {
117
139
  AnyOperationHooks: {
118
140
  isTypeOnly: true;
119
141
  };
142
+ commitCreate: {};
143
+ commitDelete: {};
144
+ commitUpdate: {};
145
+ composeCreate: {};
146
+ composeUpdate: {};
120
147
  createParentModelConfig: {};
148
+ DataCreateInput: {
149
+ isTypeOnly: true;
150
+ };
151
+ DataDeleteInput: {
152
+ isTypeOnly: true;
153
+ };
121
154
  DataOperationType: {
122
155
  isTypeOnly: true;
123
156
  };
124
- defineCreateOperation: {};
125
- defineDeleteOperation: {};
126
- defineUpdateOperation: {};
157
+ DataUpdateInput: {
158
+ isTypeOnly: true;
159
+ };
127
160
  FieldContext: {
128
161
  isTypeOnly: true;
129
162
  };
@@ -136,6 +169,8 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_TEMPLATES: {
136
169
  FieldTransformResult: {
137
170
  isTypeOnly: true;
138
171
  };
172
+ generateCreateSchema: {};
173
+ generateUpdateSchema: {};
139
174
  GetPayload: {
140
175
  isTypeOnly: true;
141
176
  };
@@ -148,6 +183,9 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_TEMPLATES: {
148
183
  ModelPropName: {
149
184
  isTypeOnly: true;
150
185
  };
186
+ ModelQuery: {
187
+ isTypeOnly: true;
188
+ };
151
189
  nestedOneToManyField: {};
152
190
  NestedOneToManyFieldConfig: {
153
191
  isTypeOnly: true;
@@ -173,6 +211,12 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_TEMPLATES: {
173
211
  TransactionalOperationContext: {
174
212
  isTypeOnly: true;
175
213
  };
214
+ WhereInput: {
215
+ isTypeOnly: true;
216
+ };
217
+ WhereUniqueInput: {
218
+ isTypeOnly: true;
219
+ };
176
220
  }>>;
177
221
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
178
222
  BadRequestError: {};
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
@@ -51,13 +51,24 @@ export declare const prismaAuthorizerUtilsGenerator: import("@baseplate-dev/sync
51
51
  AnyOperationHooks: {
52
52
  isTypeOnly: true;
53
53
  };
54
+ commitCreate: {};
55
+ commitDelete: {};
56
+ commitUpdate: {};
57
+ composeCreate: {};
58
+ composeUpdate: {};
54
59
  createParentModelConfig: {};
60
+ DataCreateInput: {
61
+ isTypeOnly: true;
62
+ };
63
+ DataDeleteInput: {
64
+ isTypeOnly: true;
65
+ };
55
66
  DataOperationType: {
56
67
  isTypeOnly: true;
57
68
  };
58
- defineCreateOperation: {};
59
- defineDeleteOperation: {};
60
- defineUpdateOperation: {};
69
+ DataUpdateInput: {
70
+ isTypeOnly: true;
71
+ };
61
72
  FieldContext: {
62
73
  isTypeOnly: true;
63
74
  };
@@ -70,6 +81,8 @@ export declare const prismaAuthorizerUtilsGenerator: import("@baseplate-dev/sync
70
81
  FieldTransformResult: {
71
82
  isTypeOnly: true;
72
83
  };
84
+ generateCreateSchema: {};
85
+ generateUpdateSchema: {};
73
86
  GetPayload: {
74
87
  isTypeOnly: true;
75
88
  };
@@ -82,6 +95,9 @@ export declare const prismaAuthorizerUtilsGenerator: import("@baseplate-dev/sync
82
95
  ModelPropName: {
83
96
  isTypeOnly: true;
84
97
  };
98
+ ModelQuery: {
99
+ isTypeOnly: true;
100
+ };
85
101
  nestedOneToManyField: {};
86
102
  NestedOneToManyFieldConfig: {
87
103
  isTypeOnly: true;
@@ -107,6 +123,12 @@ export declare const prismaAuthorizerUtilsGenerator: import("@baseplate-dev/sync
107
123
  TransactionalOperationContext: {
108
124
  isTypeOnly: true;
109
125
  };
126
+ WhereInput: {
127
+ isTypeOnly: true;
128
+ };
129
+ WhereUniqueInput: {
130
+ isTypeOnly: true;
131
+ };
110
132
  }>>;
111
133
  errorHandlerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
112
134
  BadRequestError: {};
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-authorizer-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCzC,CAAC"}
1
+ {"version":3,"file":"prisma-authorizer-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCzC,CAAC"}
@@ -5,6 +5,7 @@ export declare const prismaDataCreateGenerator: import("@baseplate-dev/sync").Ge
5
5
  name: string;
6
6
  modelName: string;
7
7
  fields: string[];
8
+ globalRoles?: string[] | undefined;
8
9
  }, {
9
10
  main: import("@baseplate-dev/sync").GeneratorTask<any, {
10
11
  serviceFile: import("@baseplate-dev/sync").ProviderType<import("#src/generators/core/index.js").ServiceFileProvider>;
@@ -16,13 +17,24 @@ export declare const prismaDataCreateGenerator: import("@baseplate-dev/sync").Ge
16
17
  AnyOperationHooks: {
17
18
  isTypeOnly: true;
18
19
  };
20
+ commitCreate: {};
21
+ commitDelete: {};
22
+ commitUpdate: {};
23
+ composeCreate: {};
24
+ composeUpdate: {};
19
25
  createParentModelConfig: {};
26
+ DataCreateInput: {
27
+ isTypeOnly: true;
28
+ };
29
+ DataDeleteInput: {
30
+ isTypeOnly: true;
31
+ };
20
32
  DataOperationType: {
21
33
  isTypeOnly: true;
22
34
  };
23
- defineCreateOperation: {};
24
- defineDeleteOperation: {};
25
- defineUpdateOperation: {};
35
+ DataUpdateInput: {
36
+ isTypeOnly: true;
37
+ };
26
38
  FieldContext: {
27
39
  isTypeOnly: true;
28
40
  };
@@ -35,6 +47,8 @@ export declare const prismaDataCreateGenerator: import("@baseplate-dev/sync").Ge
35
47
  FieldTransformResult: {
36
48
  isTypeOnly: true;
37
49
  };
50
+ generateCreateSchema: {};
51
+ generateUpdateSchema: {};
38
52
  GetPayload: {
39
53
  isTypeOnly: true;
40
54
  };
@@ -47,6 +61,9 @@ export declare const prismaDataCreateGenerator: import("@baseplate-dev/sync").Ge
47
61
  ModelPropName: {
48
62
  isTypeOnly: true;
49
63
  };
64
+ ModelQuery: {
65
+ isTypeOnly: true;
66
+ };
50
67
  nestedOneToManyField: {};
51
68
  NestedOneToManyFieldConfig: {
52
69
  isTypeOnly: true;
@@ -72,6 +89,12 @@ export declare const prismaDataCreateGenerator: import("@baseplate-dev/sync").Ge
72
89
  TransactionalOperationContext: {
73
90
  isTypeOnly: true;
74
91
  };
92
+ WhereInput: {
93
+ isTypeOnly: true;
94
+ };
95
+ WhereUniqueInput: {
96
+ isTypeOnly: true;
97
+ };
75
98
  }>>;
76
99
  prismaOutput: import("@baseplate-dev/sync").ProviderType<import("../prisma/prisma.generator.js").PrismaOutputProvider>;
77
100
  }, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-create.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-create/prisma-data-create.generator.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsGpC,CAAC"}
1
+ {"version":3,"file":"prisma-data-create.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-create/prisma-data-create.generator.ts"],"names":[],"mappings":"AAoCA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIpC,CAAC"}
@@ -3,10 +3,9 @@ import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
3
3
  import { lowercaseFirstChar, quot, uppercaseFirstChar, } from '@baseplate-dev/utils';
4
4
  import { z } from 'zod';
5
5
  import { serviceFileProvider } from '#src/generators/core/index.js';
6
- import { contextKind, prismaQueryKind, skipValidationKind, } from '#src/types/service-dto-kinds.js';
6
+ import { contextKind, prismaQueryKind } from '#src/types/service-dto-kinds.js';
7
7
  import { createServiceOutputDtoInjectedArg, prismaToServiceOutputDto, } from '#src/types/service-output.js';
8
- import { generateCreateCallback } from '../_shared/build-data-helpers/index.js';
9
- import { generateGetWhereUniqueFragment } from '../_shared/crud-method/primary-key-input.js';
8
+ import { generateAuthorizeFragment, generateCreateExecuteCallback, } from '../_shared/build-data-helpers/index.js';
10
9
  import { dataUtilsImportsProvider } from '../data-utils/index.js';
11
10
  import { prismaDataServiceProvider } from '../prisma-data-service/prisma-data-service.generator.js';
12
11
  import { prismaOutputProvider } from '../prisma/prisma.generator.js';
@@ -14,6 +13,7 @@ const descriptorSchema = z.object({
14
13
  name: z.string().min(1),
15
14
  modelName: z.string().min(1),
16
15
  fields: z.array(z.string().min(1)),
16
+ globalRoles: z.array(z.string().min(1)).optional(),
17
17
  });
18
18
  /**
19
19
  * Generator for prisma/prisma-data-create
@@ -22,7 +22,7 @@ export const prismaDataCreateGenerator = createGenerator({
22
22
  name: 'prisma/prisma-data-create',
23
23
  generatorFileUrl: import.meta.url,
24
24
  descriptorSchema,
25
- buildTasks: ({ name, modelName, fields }) => ({
25
+ buildTasks: ({ name, modelName, fields, globalRoles }) => ({
26
26
  main: createGeneratorTask({
27
27
  dependencies: {
28
28
  serviceFile: serviceFileProvider,
@@ -38,34 +38,65 @@ export const prismaDataCreateGenerator = createGenerator({
38
38
  }
39
39
  return {
40
40
  build: () => {
41
- const fieldsFragment = fields.length === serviceFields.length
41
+ const modelVar = lowercaseFirstChar(modelName);
42
+ const useAllFields = fields.length === serviceFields.length;
43
+ const fieldsVariableName = useAllFields
42
44
  ? prismaDataService.getFieldsVariableName()
45
+ : `${modelVar}CreateFields`;
46
+ const fieldsDeclarationFragment = useAllFields
47
+ ? ''
43
48
  : tsTemplateWithImports([
44
49
  tsImportBuilder(['pick']).from('es-toolkit'),
45
- ]) `pick(${prismaDataService.getFieldsVariableName()}, [${fields.map((field) => quot(field)).join(', ')}] as const)`;
46
- // Generate create callback that transforms FK fields into relations
50
+ ]) `const ${fieldsVariableName} = pick(${prismaDataService.getFieldsVariableName()}, [${fields.map((field) => quot(field)).join(', ')}] as const);\n`;
51
+ // Generate execute callback that transforms FK fields into relations
47
52
  const prismaModel = prismaOutput.getPrismaModel(modelName);
48
- const { createCallbackFragment } = generateCreateCallback({
53
+ const { executeCallbackFragment } = generateCreateExecuteCallback({
49
54
  prismaModel,
50
55
  inputFieldNames: fields,
51
56
  dataUtilsImports,
52
- modelVariableName: lowercaseFirstChar(modelName),
57
+ modelVariableName: modelVar,
53
58
  });
54
- // Generate getWhereUnique based on primary key structure
55
- const getWhereUniqueFragment = generateGetWhereUniqueFragment(prismaModel);
56
- const createOperation = tsTemplate `
57
- export const ${name} = ${dataUtilsImports.defineCreateOperation.fragment()}({
58
- model: ${quot(lowercaseFirstChar(modelName))},
59
- fields: ${fieldsFragment},
60
- getWhereUnique: ${getWhereUniqueFragment},
61
- create: ${createCallbackFragment},
62
- })
59
+ // Generate the schema export and create function together
60
+ const schemaName = `${modelVar}CreateSchema`;
61
+ const authorizeFragment = generateAuthorizeFragment({
62
+ modelName,
63
+ methodType: 'Create',
64
+ globalRoles,
65
+ modelAuthorizer: undefined,
66
+ });
67
+ const createFunction = tsTemplate `
68
+ ${fieldsDeclarationFragment}\nexport const ${schemaName} = ${dataUtilsImports.generateCreateSchema.fragment()}(${fieldsVariableName});
69
+
70
+ export async function ${name}<
71
+ TQueryArgs extends ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}> = ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}>,
72
+ >({
73
+ data: input,
74
+ query,
75
+ context,
76
+ }: ${dataUtilsImports.DataCreateInput.typeFragment()}<
77
+ ${quot(modelVar)},
78
+ typeof ${fieldsVariableName},
79
+ TQueryArgs
80
+ >): Promise<${dataUtilsImports.GetPayload.typeFragment()}<${quot(modelVar)}, TQueryArgs>> {
81
+ const plan = await ${dataUtilsImports.composeCreate.fragment()}({
82
+ model: ${quot(modelVar)},
83
+ fields: ${fieldsVariableName},
84
+ input,
85
+ context,${authorizeFragment}
86
+ });
87
+
88
+ return ${dataUtilsImports.commitCreate.fragment()}(plan, {
89
+ query,
90
+ execute: ${executeCallbackFragment},
91
+ });
92
+ }
63
93
  `;
64
94
  const methodFragment = TsCodeUtils.importFragment(name, serviceFile.getServicePath());
95
+ const schemaMethodFragment = TsCodeUtils.importFragment(schemaName, serviceFile.getServicePath());
65
96
  prismaDataService.registerMethod({
66
97
  name,
67
98
  type: 'create',
68
- fragment: createOperation,
99
+ fragment: createFunction,
69
100
  outputMethod: {
70
101
  name,
71
102
  referenceFragment: methodFragment,
@@ -77,7 +108,7 @@ export const prismaDataCreateGenerator = createGenerator({
77
108
  name: `${uppercaseFirstChar(name)}Data`,
78
109
  fields: usedFields.map((field) => field.outputDtoField),
79
110
  },
80
- zodSchemaFragment: tsTemplate `${methodFragment}.$dataSchema`,
111
+ zodSchemaFragment: schemaMethodFragment,
81
112
  },
82
113
  createServiceOutputDtoInjectedArg({
83
114
  type: 'injected',
@@ -89,11 +120,6 @@ export const prismaDataCreateGenerator = createGenerator({
89
120
  name: 'query',
90
121
  kind: prismaQueryKind,
91
122
  }),
92
- createServiceOutputDtoInjectedArg({
93
- type: 'injected',
94
- name: 'skipValidation',
95
- kind: skipValidationKind,
96
- }),
97
123
  ],
98
124
  returnType: prismaToServiceOutputDto(prismaOutput.getPrismaModel(modelName), (enumName) => prismaOutput.getServiceEnum(enumName)),
99
125
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-create.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-create/prisma-data-create.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACV,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;IACvD,IAAI,EAAE,2BAA2B;IACjC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IACjC,gBAAgB;IAChB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,EAAE,mBAAmB,CAAC;YACxB,YAAY,EAAE;gBACZ,WAAW,EAAE,mBAAmB;gBAChC,iBAAiB,EAAE,yBAAyB;gBAC5C,gBAAgB,EAAE,wBAAwB;gBAC1C,YAAY,EAAE,oBAAoB;aACnC;YACD,GAAG,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE;gBACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAChD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAC5B,CAAC;gBACF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CACb,UAAU,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CACvH,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,GAAG,EAAE;wBACV,MAAM,cAAc,GAClB,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;4BACpC,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,EAAE;4BAC3C,CAAC,CAAC,qBAAqB,CAAC;gCACpB,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;6BAC7C,CAAC,CAAA,QAAQ,iBAAiB,CAAC,qBAAqB,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;wBAE1H,oEAAoE;wBACpE,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAC3D,MAAM,EAAE,sBAAsB,EAAE,GAAG,sBAAsB,CAAC;4BACxD,WAAW;4BACX,eAAe,EAAE,MAAM;4BACvB,gBAAgB;4BAChB,iBAAiB,EAAE,kBAAkB,CAAC,SAAS,CAAC;yBACjD,CAAC,CAAC;wBAEH,yDAAyD;wBACzD,MAAM,sBAAsB,GAC1B,8BAA8B,CAAC,WAAW,CAAC,CAAC;wBAE9C,MAAM,eAAe,GAAG,UAAU,CAAA;6BACjB,IAAI,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,EAAE;yBAC/D,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;0BAClC,cAAc;kCACN,sBAAsB;0BAC9B,sBAAsB;;aAEnC,CAAC;wBAEF,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAC/C,IAAI,EACJ,WAAW,CAAC,cAAc,EAAE,CAC7B,CAAC;wBAEF,iBAAiB,CAAC,cAAc,CAAC;4BAC/B,IAAI;4BACJ,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,eAAe;4BACzB,YAAY,EAAE;gCACZ,IAAI;gCACJ,iBAAiB,EAAE,cAAc;gCACjC,SAAS,EAAE;oCACT;wCACE,IAAI,EAAE,MAAM;wCACZ,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,IAAI,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM;4CACvC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;yCACxD;wCACD,iBAAiB,EAAE,UAAU,CAAA,GAAG,cAAc,cAAc;qCAC7D;oCACD,iCAAiC,CAAC;wCAChC,IAAI,EAAE,UAAU;wCAChB,IAAI,EAAE,SAAS;wCACf,IAAI,EAAE,WAAW;qCAClB,CAAC;oCACF,iCAAiC,CAAC;wCAChC,IAAI,EAAE,UAAU;wCAChB,IAAI,EAAE,OAAO;wCACb,IAAI,EAAE,eAAe;qCACtB,CAAC;oCACF,iCAAiC,CAAC;wCAChC,IAAI,EAAE,UAAU;wCAChB,IAAI,EAAE,gBAAgB;wCACtB,IAAI,EAAE,kBAAkB;qCACzB,CAAC;iCACH;gCACD,UAAU,EAAE,wBAAwB,CAClC,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,EACtC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CACpD;6BACF;yBACF,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"prisma-data-create.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-create/prisma-data-create.generator.ts"],"names":[],"mappings":"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"}