@baseplate-dev/fastify-generators 0.3.7 → 0.4.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 (431) hide show
  1. package/dist/constants/fastify-packages.d.ts +12 -11
  2. package/dist/constants/fastify-packages.d.ts.map +1 -1
  3. package/dist/constants/fastify-packages.js +12 -11
  4. package/dist/constants/fastify-packages.js.map +1 -1
  5. package/dist/generators/auth/auth-context/generated/ts-import-providers.d.ts +1 -2
  6. package/dist/generators/auth/auth-context/generated/ts-import-providers.d.ts.map +1 -1
  7. package/dist/generators/auth/auth-context/generated/ts-import-providers.js +1 -1
  8. package/dist/generators/auth/auth-context/generated/ts-import-providers.js.map +1 -1
  9. package/dist/generators/auth/auth-roles/generated/ts-import-providers.d.ts +1 -2
  10. package/dist/generators/auth/auth-roles/generated/ts-import-providers.d.ts.map +1 -1
  11. package/dist/generators/auth/auth-roles/generated/ts-import-providers.js +1 -1
  12. package/dist/generators/auth/auth-roles/generated/ts-import-providers.js.map +1 -1
  13. package/dist/generators/auth/index.d.ts +0 -1
  14. package/dist/generators/auth/index.d.ts.map +1 -1
  15. package/dist/generators/auth/index.js +0 -1
  16. package/dist/generators/auth/index.js.map +1 -1
  17. package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.d.ts +1 -2
  18. package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.d.ts.map +1 -1
  19. package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.js +1 -1
  20. package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.js.map +1 -1
  21. package/dist/generators/auth/user-session-types/generated/ts-import-providers.d.ts +1 -2
  22. package/dist/generators/auth/user-session-types/generated/ts-import-providers.d.ts.map +1 -1
  23. package/dist/generators/auth/user-session-types/generated/ts-import-providers.js +1 -1
  24. package/dist/generators/auth/user-session-types/generated/ts-import-providers.js.map +1 -1
  25. package/dist/generators/bull/bull-mq/generated/ts-import-providers.d.ts +1 -2
  26. package/dist/generators/bull/bull-mq/generated/ts-import-providers.d.ts.map +1 -1
  27. package/dist/generators/bull/bull-mq/generated/ts-import-providers.js +1 -1
  28. package/dist/generators/bull/bull-mq/generated/ts-import-providers.js.map +1 -1
  29. package/dist/generators/core/app-module-setup/generated/ts-import-providers.d.ts +1 -2
  30. package/dist/generators/core/app-module-setup/generated/ts-import-providers.d.ts.map +1 -1
  31. package/dist/generators/core/app-module-setup/generated/ts-import-providers.js +1 -1
  32. package/dist/generators/core/app-module-setup/generated/ts-import-providers.js.map +1 -1
  33. package/dist/generators/core/axios/generated/ts-import-providers.d.ts +1 -2
  34. package/dist/generators/core/axios/generated/ts-import-providers.d.ts.map +1 -1
  35. package/dist/generators/core/axios/generated/ts-import-providers.js +3 -1
  36. package/dist/generators/core/axios/generated/ts-import-providers.js.map +1 -1
  37. package/dist/generators/core/config-service/generated/ts-import-providers.d.ts +1 -2
  38. package/dist/generators/core/config-service/generated/ts-import-providers.d.ts.map +1 -1
  39. package/dist/generators/core/config-service/generated/ts-import-providers.js +3 -1
  40. package/dist/generators/core/config-service/generated/ts-import-providers.js.map +1 -1
  41. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +1 -2
  42. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
  43. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +1 -1
  44. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
  45. package/dist/generators/core/fastify/fastify.generator.js +1 -1
  46. package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
  47. package/dist/generators/core/fastify-redis/generated/ts-import-providers.d.ts +1 -2
  48. package/dist/generators/core/fastify-redis/generated/ts-import-providers.d.ts.map +1 -1
  49. package/dist/generators/core/fastify-redis/generated/ts-import-providers.js +1 -1
  50. package/dist/generators/core/fastify-redis/generated/ts-import-providers.js.map +1 -1
  51. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.js +1 -1
  52. package/dist/generators/core/fastify-sentry/generated/ts-import-providers.d.ts +1 -2
  53. package/dist/generators/core/fastify-sentry/generated/ts-import-providers.d.ts.map +1 -1
  54. package/dist/generators/core/fastify-sentry/generated/ts-import-providers.js +1 -1
  55. package/dist/generators/core/fastify-sentry/generated/ts-import-providers.js.map +1 -1
  56. package/dist/generators/core/logger-service/generated/ts-import-providers.d.ts +1 -2
  57. package/dist/generators/core/logger-service/generated/ts-import-providers.d.ts.map +1 -1
  58. package/dist/generators/core/logger-service/generated/ts-import-providers.js +3 -1
  59. package/dist/generators/core/logger-service/generated/ts-import-providers.js.map +1 -1
  60. package/dist/generators/core/readme/templates/package/README.md +4 -4
  61. package/dist/generators/core/request-context/generated/ts-import-providers.d.ts +1 -2
  62. package/dist/generators/core/request-context/generated/ts-import-providers.d.ts.map +1 -1
  63. package/dist/generators/core/request-context/generated/ts-import-providers.js +1 -1
  64. package/dist/generators/core/request-context/generated/ts-import-providers.js.map +1 -1
  65. package/dist/generators/core/request-service-context/generated/ts-import-providers.d.ts +1 -2
  66. package/dist/generators/core/request-service-context/generated/ts-import-providers.d.ts.map +1 -1
  67. package/dist/generators/core/request-service-context/generated/ts-import-providers.js +1 -1
  68. package/dist/generators/core/request-service-context/generated/ts-import-providers.js.map +1 -1
  69. package/dist/generators/core/service-context/generated/ts-import-providers.d.ts +1 -2
  70. package/dist/generators/core/service-context/generated/ts-import-providers.d.ts.map +1 -1
  71. package/dist/generators/core/service-context/generated/ts-import-providers.js +1 -1
  72. package/dist/generators/core/service-context/generated/ts-import-providers.js.map +1 -1
  73. package/dist/generators/core/service-file/service-file.generator.d.ts +7 -0
  74. package/dist/generators/core/service-file/service-file.generator.d.ts.map +1 -1
  75. package/dist/generators/core/service-file/service-file.generator.js +12 -2
  76. package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
  77. package/dist/generators/pothos/pothos/generated/index.d.ts +3 -1
  78. package/dist/generators/pothos/pothos/generated/index.d.ts.map +1 -1
  79. package/dist/generators/pothos/pothos/generated/ts-import-providers.d.ts +1 -2
  80. package/dist/generators/pothos/pothos/generated/ts-import-providers.d.ts.map +1 -1
  81. package/dist/generators/pothos/pothos/generated/ts-import-providers.js +1 -1
  82. package/dist/generators/pothos/pothos/generated/ts-import-providers.js.map +1 -1
  83. package/dist/generators/pothos/pothos/generated/typed-templates.d.ts +6 -2
  84. package/dist/generators/pothos/pothos/generated/typed-templates.d.ts.map +1 -1
  85. package/dist/generators/pothos/pothos/generated/typed-templates.js +1 -0
  86. package/dist/generators/pothos/pothos/generated/typed-templates.js.map +1 -1
  87. package/dist/generators/pothos/pothos/pothos.generator.d.ts +3 -3
  88. package/dist/generators/pothos/pothos/pothos.generator.d.ts.map +1 -1
  89. package/dist/generators/pothos/pothos/pothos.generator.js +4 -0
  90. package/dist/generators/pothos/pothos/pothos.generator.js.map +1 -1
  91. package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/global-types.ts +3 -5
  92. package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/schema-builder.ts +9 -4
  93. package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/types.ts +6 -1
  94. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts +1 -1
  95. package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.d.ts +1 -1
  96. package/dist/generators/pothos/pothos-prisma/generated/index.d.ts +36 -0
  97. package/dist/generators/pothos/pothos-prisma/generated/index.d.ts.map +1 -0
  98. package/dist/generators/pothos/pothos-prisma/generated/index.js +11 -0
  99. package/dist/generators/pothos/pothos-prisma/generated/index.js.map +1 -0
  100. package/dist/generators/pothos/pothos-prisma/generated/template-paths.d.ts +12 -0
  101. package/dist/generators/pothos/pothos-prisma/generated/template-paths.d.ts.map +1 -0
  102. package/dist/generators/pothos/pothos-prisma/generated/template-paths.js +22 -0
  103. package/dist/generators/pothos/pothos-prisma/generated/template-paths.js.map +1 -0
  104. package/dist/generators/pothos/pothos-prisma/generated/template-renderers.d.ts +18 -0
  105. package/dist/generators/pothos/pothos-prisma/generated/template-renderers.d.ts.map +1 -0
  106. package/dist/generators/pothos/pothos-prisma/generated/template-renderers.js +34 -0
  107. package/dist/generators/pothos/pothos-prisma/generated/template-renderers.js.map +1 -0
  108. package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.d.ts +30 -0
  109. package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.d.ts.map +1 -0
  110. package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.js +30 -0
  111. package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.js.map +1 -0
  112. package/dist/generators/pothos/pothos-prisma/generated/typed-templates.d.ts +4 -0
  113. package/dist/generators/pothos/pothos-prisma/generated/typed-templates.d.ts.map +1 -0
  114. package/dist/generators/pothos/pothos-prisma/generated/typed-templates.js +14 -0
  115. package/dist/generators/pothos/pothos-prisma/generated/typed-templates.js.map +1 -0
  116. package/dist/generators/pothos/pothos-prisma/index.d.ts +2 -0
  117. package/dist/generators/pothos/pothos-prisma/index.d.ts.map +1 -1
  118. package/dist/generators/pothos/pothos-prisma/index.js +1 -0
  119. package/dist/generators/pothos/pothos-prisma/index.js.map +1 -1
  120. package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts +34 -1
  121. package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts.map +1 -1
  122. package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js +20 -6
  123. package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js.map +1 -1
  124. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts +2 -2
  125. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts.map +1 -1
  126. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js +87 -50
  127. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js.map +1 -1
  128. package/dist/generators/pothos/pothos-scalar/generated/index.d.ts +9 -39
  129. package/dist/generators/pothos/pothos-scalar/generated/index.d.ts.map +1 -1
  130. package/dist/generators/pothos/pothos-scalar/generated/template-paths.d.ts +2 -0
  131. package/dist/generators/pothos/pothos-scalar/generated/template-paths.d.ts.map +1 -1
  132. package/dist/generators/pothos/pothos-scalar/generated/template-paths.js +2 -0
  133. package/dist/generators/pothos/pothos-scalar/generated/template-paths.js.map +1 -1
  134. package/dist/generators/pothos/pothos-scalar/generated/template-renderers.d.ts +6 -10
  135. package/dist/generators/pothos/pothos-scalar/generated/template-renderers.d.ts.map +1 -1
  136. package/dist/generators/pothos/pothos-scalar/generated/template-renderers.js +21 -6
  137. package/dist/generators/pothos/pothos-scalar/generated/template-renderers.js.map +1 -1
  138. package/dist/generators/pothos/pothos-scalar/generated/typed-templates.d.ts +9 -29
  139. package/dist/generators/pothos/pothos-scalar/generated/typed-templates.d.ts.map +1 -1
  140. package/dist/generators/pothos/pothos-scalar/generated/typed-templates.js +28 -14
  141. package/dist/generators/pothos/pothos-scalar/generated/typed-templates.js.map +1 -1
  142. package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts +2 -12
  143. package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts.map +1 -1
  144. package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js +35 -11
  145. package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js.map +1 -1
  146. package/dist/generators/pothos/pothos-scalar/templates/module/scalars/date-time.ts +21 -28
  147. package/dist/generators/pothos/pothos-scalar/templates/module/scalars/date.ts +13 -45
  148. package/dist/generators/pothos/pothos-scalar/templates/module/scalars/json-object.ts +28 -0
  149. package/dist/generators/pothos/pothos-scalar/templates/module/scalars/json.ts +23 -0
  150. package/dist/generators/pothos/pothos-scalar/templates/module/scalars/uuid.ts +13 -31
  151. package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.d.ts +1 -1
  152. package/dist/generators/prisma/_providers/index.d.ts +2 -0
  153. package/dist/generators/prisma/_providers/index.d.ts.map +1 -0
  154. package/dist/generators/prisma/_providers/index.js +2 -0
  155. package/dist/generators/prisma/_providers/index.js.map +1 -0
  156. package/dist/generators/prisma/_providers/prisma-generated-imports.d.ts +15 -0
  157. package/dist/generators/prisma/_providers/prisma-generated-imports.d.ts.map +1 -0
  158. package/dist/generators/prisma/_providers/prisma-generated-imports.js +10 -0
  159. package/dist/generators/prisma/_providers/prisma-generated-imports.js.map +1 -0
  160. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts +124 -0
  161. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -0
  162. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +137 -0
  163. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -0
  164. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +82 -0
  165. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -0
  166. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +215 -0
  167. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -0
  168. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts +3 -0
  169. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts.map +1 -0
  170. package/dist/generators/prisma/_shared/build-data-helpers/index.js +3 -0
  171. package/dist/generators/prisma/_shared/build-data-helpers/index.js.map +1 -0
  172. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts +0 -9
  173. package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts.map +1 -1
  174. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +0 -32
  175. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
  176. package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.d.ts +26 -0
  177. package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.d.ts.map +1 -0
  178. package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.js +47 -0
  179. package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.js.map +1 -0
  180. package/dist/generators/prisma/_shared/field-definition-generators/types.d.ts +8 -0
  181. package/dist/generators/prisma/_shared/field-definition-generators/types.d.ts.map +1 -0
  182. package/dist/generators/prisma/_shared/field-definition-generators/types.js +2 -0
  183. package/dist/generators/prisma/_shared/field-definition-generators/types.js.map +1 -0
  184. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +109 -0
  185. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -0
  186. package/dist/generators/prisma/data-utils/data-utils.generator.js +32 -0
  187. package/dist/generators/prisma/data-utils/data-utils.generator.js.map +1 -0
  188. package/dist/generators/prisma/data-utils/generated/index.d.ts +190 -0
  189. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -0
  190. package/dist/generators/prisma/data-utils/generated/index.js +11 -0
  191. package/dist/generators/prisma/data-utils/generated/index.js.map +1 -0
  192. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts +17 -0
  193. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts.map +1 -0
  194. package/dist/generators/prisma/data-utils/generated/template-paths.js +27 -0
  195. package/dist/generators/prisma/data-utils/generated/template-paths.js.map +1 -0
  196. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +45 -0
  197. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -0
  198. package/dist/generators/prisma/data-utils/generated/template-renderers.js +47 -0
  199. package/dist/generators/prisma/data-utils/generated/template-renderers.js.map +1 -0
  200. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts +183 -0
  201. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts.map +1 -0
  202. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js +72 -0
  203. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js.map +1 -0
  204. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +157 -0
  205. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -0
  206. package/dist/generators/prisma/data-utils/generated/typed-templates.js +125 -0
  207. package/dist/generators/prisma/data-utils/generated/typed-templates.js.map +1 -0
  208. package/dist/generators/prisma/data-utils/index.d.ts +4 -0
  209. package/dist/generators/prisma/data-utils/index.d.ts.map +1 -0
  210. package/dist/generators/prisma/data-utils/index.js +3 -0
  211. package/dist/generators/prisma/data-utils/index.js.map +1 -0
  212. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +1030 -0
  213. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +782 -0
  214. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-types.ts +164 -0
  215. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-utils.ts +80 -0
  216. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/relation-helpers.ts +196 -0
  217. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/types.ts +372 -0
  218. package/dist/generators/prisma/index.d.ts +7 -6
  219. package/dist/generators/prisma/index.d.ts.map +1 -1
  220. package/dist/generators/prisma/index.js +7 -6
  221. package/dist/generators/prisma/index.js.map +1 -1
  222. package/dist/generators/prisma/prisma/generated/index.d.ts +22 -1
  223. package/dist/generators/prisma/prisma/generated/index.d.ts.map +1 -1
  224. package/dist/generators/prisma/prisma/generated/template-paths.d.ts +2 -0
  225. package/dist/generators/prisma/prisma/generated/template-paths.d.ts.map +1 -1
  226. package/dist/generators/prisma/prisma/generated/template-paths.js +3 -0
  227. package/dist/generators/prisma/prisma/generated/template-paths.js.map +1 -1
  228. package/dist/generators/prisma/prisma/generated/template-renderers.d.ts +10 -1
  229. package/dist/generators/prisma/prisma/generated/template-renderers.d.ts.map +1 -1
  230. package/dist/generators/prisma/prisma/generated/template-renderers.js +21 -1
  231. package/dist/generators/prisma/prisma/generated/template-renderers.js.map +1 -1
  232. package/dist/generators/prisma/prisma/generated/ts-import-providers.d.ts +7 -2
  233. package/dist/generators/prisma/prisma/generated/ts-import-providers.d.ts.map +1 -1
  234. package/dist/generators/prisma/prisma/generated/ts-import-providers.js +12 -2
  235. package/dist/generators/prisma/prisma/generated/ts-import-providers.js.map +1 -1
  236. package/dist/generators/prisma/prisma/generated/typed-templates.d.ts +16 -1
  237. package/dist/generators/prisma/prisma/generated/typed-templates.d.ts.map +1 -1
  238. package/dist/generators/prisma/prisma/generated/typed-templates.js +28 -2
  239. package/dist/generators/prisma/prisma/generated/typed-templates.js.map +1 -1
  240. package/dist/generators/prisma/prisma/prisma.generator.d.ts +30 -1
  241. package/dist/generators/prisma/prisma/prisma.generator.d.ts.map +1 -1
  242. package/dist/generators/prisma/prisma/prisma.generator.js +55 -13
  243. package/dist/generators/prisma/prisma/prisma.generator.js.map +1 -1
  244. package/dist/generators/prisma/prisma/templates/package/prisma.config.mts +17 -0
  245. package/dist/generators/prisma/prisma/templates/src/services/prisma.ts +5 -2
  246. package/dist/generators/prisma/prisma-data-create/index.d.ts +2 -0
  247. package/dist/generators/prisma/prisma-data-create/index.d.ts.map +1 -0
  248. package/dist/generators/prisma/prisma-data-create/index.js +2 -0
  249. package/dist/generators/prisma/prisma-data-create/index.js.map +1 -0
  250. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts +73 -0
  251. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -0
  252. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +102 -0
  253. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -0
  254. package/dist/generators/prisma/prisma-data-delete/index.d.ts +2 -0
  255. package/dist/generators/prisma/prisma-data-delete/index.d.ts.map +1 -0
  256. package/dist/generators/prisma/prisma-data-delete/index.js +2 -0
  257. package/dist/generators/prisma/prisma-data-delete/index.js.map +1 -0
  258. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts +72 -0
  259. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts.map +1 -0
  260. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js +82 -0
  261. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js.map +1 -0
  262. package/dist/generators/prisma/prisma-data-nested-field/index.d.ts +2 -0
  263. package/dist/generators/prisma/prisma-data-nested-field/index.d.ts.map +1 -0
  264. package/dist/generators/prisma/prisma-data-nested-field/index.js +2 -0
  265. package/dist/generators/prisma/prisma-data-nested-field/index.js.map +1 -0
  266. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts +16 -0
  267. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts.map +1 -0
  268. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js +179 -0
  269. package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js.map +1 -0
  270. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts +95 -0
  271. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts.map +1 -0
  272. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.js +120 -0
  273. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.js.map +1 -0
  274. package/dist/generators/prisma/prisma-data-service/index.d.ts +2 -0
  275. package/dist/generators/prisma/prisma-data-service/index.d.ts.map +1 -0
  276. package/dist/generators/prisma/prisma-data-service/index.js +2 -0
  277. package/dist/generators/prisma/prisma-data-service/index.js.map +1 -0
  278. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts +117 -0
  279. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts.map +1 -0
  280. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.js +127 -0
  281. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.js.map +1 -0
  282. package/dist/generators/prisma/prisma-data-update/index.d.ts +2 -0
  283. package/dist/generators/prisma/prisma-data-update/index.d.ts.map +1 -0
  284. package/dist/generators/prisma/prisma-data-update/index.js +2 -0
  285. package/dist/generators/prisma/prisma-data-update/index.js.map +1 -0
  286. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts +73 -0
  287. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts.map +1 -0
  288. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js +114 -0
  289. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js.map +1 -0
  290. package/dist/generators/prisma/prisma-field/prisma-field.generator.d.ts +6 -6
  291. package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.d.ts +1 -2
  292. package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.d.ts.map +1 -1
  293. package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.js +1 -1
  294. package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.js.map +1 -1
  295. package/dist/generators/vitest/prisma-vitest/generated/index.d.ts +20 -1
  296. package/dist/generators/vitest/prisma-vitest/generated/index.d.ts.map +1 -1
  297. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.d.ts +6 -0
  298. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.d.ts.map +1 -1
  299. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js +7 -1
  300. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js.map +1 -1
  301. package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.d.ts +1 -2
  302. package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.d.ts.map +1 -1
  303. package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.js +1 -1
  304. package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.js.map +1 -1
  305. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts +14 -1
  306. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts.map +1 -1
  307. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js +8 -2
  308. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js.map +1 -1
  309. package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts +16 -0
  310. package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts.map +1 -1
  311. package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js +5 -10
  312. package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js.map +1 -1
  313. package/dist/generators/vitest/prisma-vitest/templates/src/tests/helpers/db.test-helper.ts +3 -2
  314. package/dist/generators/vitest/prisma-vitest/templates/src/tests/helpers/prisma.test-helper.ts +1 -1
  315. package/dist/types/field-types.d.ts +1 -1
  316. package/dist/types/field-types.d.ts.map +1 -1
  317. package/dist/types/field-types.js +2 -0
  318. package/dist/types/field-types.js.map +1 -1
  319. package/dist/types/service-dto-kinds.d.ts +59 -0
  320. package/dist/types/service-dto-kinds.d.ts.map +1 -0
  321. package/dist/types/service-dto-kinds.js +53 -0
  322. package/dist/types/service-dto-kinds.js.map +1 -0
  323. package/dist/types/service-output.d.ts +25 -2
  324. package/dist/types/service-output.d.ts.map +1 -1
  325. package/dist/types/service-output.js +22 -2
  326. package/dist/types/service-output.js.map +1 -1
  327. package/dist/writers/pothos/input-types.d.ts +1 -1
  328. package/dist/writers/pothos/input-types.d.ts.map +1 -1
  329. package/dist/writers/pothos/input-types.js +7 -10
  330. package/dist/writers/pothos/input-types.js.map +1 -1
  331. package/dist/writers/pothos/resolvers.d.ts.map +1 -1
  332. package/dist/writers/pothos/resolvers.js +9 -6
  333. package/dist/writers/pothos/resolvers.js.map +1 -1
  334. package/dist/writers/pothos/scalars.d.ts.map +1 -1
  335. package/dist/writers/pothos/scalars.js +5 -0
  336. package/dist/writers/pothos/scalars.js.map +1 -1
  337. package/dist/writers/prisma-schema/fields.d.ts +3 -0
  338. package/dist/writers/prisma-schema/fields.d.ts.map +1 -1
  339. package/dist/writers/prisma-schema/fields.js +1 -0
  340. package/dist/writers/prisma-schema/fields.js.map +1 -1
  341. package/package.json +8 -6
  342. package/dist/generators/auth/prisma-password-transformer/index.d.ts +0 -2
  343. package/dist/generators/auth/prisma-password-transformer/index.d.ts.map +0 -1
  344. package/dist/generators/auth/prisma-password-transformer/index.js +0 -2
  345. package/dist/generators/auth/prisma-password-transformer/index.js.map +0 -1
  346. package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts +0 -12
  347. package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts.map +0 -1
  348. package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js +0 -48
  349. package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js.map +0 -1
  350. package/dist/generators/prisma/_shared/crud-method/data-method.d.ts +0 -31
  351. package/dist/generators/prisma/_shared/crud-method/data-method.d.ts.map +0 -1
  352. package/dist/generators/prisma/_shared/crud-method/data-method.js +0 -195
  353. package/dist/generators/prisma/_shared/crud-method/data-method.js.map +0 -1
  354. package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts +0 -50
  355. package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts.map +0 -1
  356. package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js +0 -371
  357. package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js.map +0 -1
  358. package/dist/generators/prisma/embedded-relation-transformer/index.d.ts +0 -2
  359. package/dist/generators/prisma/embedded-relation-transformer/index.d.ts.map +0 -1
  360. package/dist/generators/prisma/embedded-relation-transformer/index.js +0 -2
  361. package/dist/generators/prisma/embedded-relation-transformer/index.js.map +0 -1
  362. package/dist/generators/prisma/prisma-crud-create/index.d.ts +0 -2
  363. package/dist/generators/prisma/prisma-crud-create/index.d.ts.map +0 -1
  364. package/dist/generators/prisma/prisma-crud-create/index.js +0 -2
  365. package/dist/generators/prisma/prisma-crud-create/index.js.map +0 -1
  366. package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts +0 -48
  367. package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts.map +0 -1
  368. package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js +0 -130
  369. package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js.map +0 -1
  370. package/dist/generators/prisma/prisma-crud-delete/index.d.ts +0 -2
  371. package/dist/generators/prisma/prisma-crud-delete/index.d.ts.map +0 -1
  372. package/dist/generators/prisma/prisma-crud-delete/index.js +0 -2
  373. package/dist/generators/prisma/prisma-crud-delete/index.js.map +0 -1
  374. package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts +0 -38
  375. package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts.map +0 -1
  376. package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js +0 -94
  377. package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js.map +0 -1
  378. package/dist/generators/prisma/prisma-crud-service/index.d.ts +0 -2
  379. package/dist/generators/prisma/prisma-crud-service/index.d.ts.map +0 -1
  380. package/dist/generators/prisma/prisma-crud-service/index.js +0 -2
  381. package/dist/generators/prisma/prisma-crud-service/index.js.map +0 -1
  382. package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts +0 -20
  383. package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts.map +0 -1
  384. package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js +0 -53
  385. package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js.map +0 -1
  386. package/dist/generators/prisma/prisma-crud-update/index.d.ts +0 -2
  387. package/dist/generators/prisma/prisma-crud-update/index.d.ts.map +0 -1
  388. package/dist/generators/prisma/prisma-crud-update/index.js +0 -2
  389. package/dist/generators/prisma/prisma-crud-update/index.js.map +0 -1
  390. package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts +0 -48
  391. package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts.map +0 -1
  392. package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js +0 -145
  393. package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js.map +0 -1
  394. package/dist/generators/prisma/prisma-utils/generated/index.d.ts +0 -134
  395. package/dist/generators/prisma/prisma-utils/generated/index.d.ts.map +0 -1
  396. package/dist/generators/prisma/prisma-utils/generated/index.js +0 -11
  397. package/dist/generators/prisma/prisma-utils/generated/index.js.map +0 -1
  398. package/dist/generators/prisma/prisma-utils/generated/template-paths.d.ts +0 -17
  399. package/dist/generators/prisma/prisma-utils/generated/template-paths.d.ts.map +0 -1
  400. package/dist/generators/prisma/prisma-utils/generated/template-paths.js +0 -27
  401. package/dist/generators/prisma/prisma-utils/generated/template-paths.js.map +0 -1
  402. package/dist/generators/prisma/prisma-utils/generated/template-renderers.d.ts +0 -37
  403. package/dist/generators/prisma/prisma-utils/generated/template-renderers.d.ts.map +0 -1
  404. package/dist/generators/prisma/prisma-utils/generated/template-renderers.js +0 -43
  405. package/dist/generators/prisma/prisma-utils/generated/template-renderers.js.map +0 -1
  406. package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.d.ts +0 -88
  407. package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.d.ts.map +0 -1
  408. package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.js +0 -54
  409. package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.js.map +0 -1
  410. package/dist/generators/prisma/prisma-utils/generated/typed-templates.d.ts +0 -125
  411. package/dist/generators/prisma/prisma-utils/generated/typed-templates.d.ts.map +0 -1
  412. package/dist/generators/prisma/prisma-utils/generated/typed-templates.js +0 -104
  413. package/dist/generators/prisma/prisma-utils/generated/typed-templates.js.map +0 -1
  414. package/dist/generators/prisma/prisma-utils/index.d.ts +0 -4
  415. package/dist/generators/prisma/prisma-utils/index.d.ts.map +0 -1
  416. package/dist/generators/prisma/prisma-utils/index.js +0 -3
  417. package/dist/generators/prisma/prisma-utils/index.js.map +0 -1
  418. package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts +0 -61
  419. package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts.map +0 -1
  420. package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js +0 -43
  421. package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js.map +0 -1
  422. package/dist/generators/prisma/prisma-utils/templates/src/utils/crud-service-types.ts +0 -35
  423. package/dist/generators/prisma/prisma-utils/templates/src/utils/data-pipes.ts +0 -86
  424. package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-one-to-many.ts +0 -245
  425. package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-one-to-one.ts +0 -147
  426. package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-types.ts +0 -6
  427. package/dist/generators/prisma/prisma-utils/templates/src/utils/prisma-relations.ts +0 -24
  428. package/dist/providers/prisma/prisma-data-transformable.d.ts +0 -27
  429. package/dist/providers/prisma/prisma-data-transformable.d.ts.map +0 -1
  430. package/dist/providers/prisma/prisma-data-transformable.js +0 -2
  431. package/dist/providers/prisma/prisma-data-transformable.js.map +0 -1
@@ -1,371 +0,0 @@
1
- import { tsCodeFragment, TsCodeUtils, tsHoistedFragment, tsTemplate, tsTypeImportBuilder, } from '@baseplate-dev/core-generators';
2
- import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
3
- import { notEmpty, quot } from '@baseplate-dev/utils';
4
- import { z } from 'zod';
5
- import { serviceContextImportsProvider } from '#src/generators/core/service-context/index.js';
6
- import { upperCaseFirst } from '#src/utils/case.js';
7
- import { getDataInputTypeBlock, getDataMethodDataExpressions, getDataMethodDataType, } from '../_shared/crud-method/data-method.js';
8
- import { prismaCrudServiceProvider, prismaCrudServiceSetupProvider, } from '../prisma-crud-service/index.js';
9
- import { prismaUtilsImportsProvider } from '../prisma-utils/index.js';
10
- import { prismaOutputProvider } from '../prisma/index.js';
11
- const descriptorSchema = z.object({
12
- name: z.string().min(1),
13
- inputName: z.string().optional(),
14
- localRelationName: z.string().optional(),
15
- embeddedFieldNames: z.array(z.string().min(1)),
16
- foreignModelName: z.string().optional(),
17
- embeddedTransformerNames: z.array(z.string().min(1)).optional(),
18
- });
19
- function getForeignModelRelation(prismaOutput, modelName, localRelationName) {
20
- const localModel = prismaOutput.getPrismaModel(modelName);
21
- const localRelation = localModel.fields.find((f) => f.name === localRelationName);
22
- if (!localRelation || localRelation.type !== 'relation') {
23
- throw new Error(`${modelName}.${localRelationName} is not a relation field`);
24
- }
25
- // find the relationship on the foreign model since that's where the details of the relation exist
26
- const foreignModel = prismaOutput.getPrismaModel(localRelation.modelType);
27
- const foreignRelation = foreignModel.fields.find((f) => f.type === 'relation' &&
28
- (localRelation.relationName
29
- ? f.name === localRelation.relationName
30
- : f.modelType === modelName));
31
- if (!foreignRelation) {
32
- throw new Error(`Could not find foreign relation on ${localRelation.modelType} for ${modelName}.${localRelationName}`);
33
- }
34
- return { localModel, foreignModel, localRelation, foreignRelation };
35
- }
36
- function createEmbeddedTransformFunction(options) {
37
- const { name, inputDataType, outputDataType, serviceContextType, prismaUtils, isOneToOne, dataMethodOptions, whereUniqueType, } = options;
38
- dataMethodOptions.prismaOutput.getPrismaModel(dataMethodOptions.modelName);
39
- const isAsync = dataMethodOptions.transformers.some((t) => t.isAsync);
40
- const { functionBody, createExpression, updateExpression, dataPipeNames } = getDataMethodDataExpressions(dataMethodOptions);
41
- const outputPipeType = tsCodeFragment(`DataPipeOutput<${outputDataType}>`, prismaUtils.DataPipeOutput.typeDeclaration());
42
- const outputType = isAsync
43
- ? tsTemplate `Promise<${outputPipeType}>`
44
- : outputPipeType;
45
- // get a primary key to add a dummy where unique (since create operations don't have a whereunique)
46
- const prismaModel = options.dataMethodOptions.prismaOutput.getPrismaModel(options.dataMethodOptions.modelName);
47
- const primaryKey = prismaModel.idFields?.[0];
48
- if (!primaryKey) {
49
- throw new Error(`Model ${options.dataMethodOptions.modelName} must have at least one primary key`);
50
- }
51
- const func = TsCodeUtils.formatFragment(`${isAsync ? 'async ' : ''}function FUNC_NAME(data: INPUT_DATA_TYPE, context: CONTEXT_TYPE, whereUnique?: WHERE_UNIQUE_TYPE, parentId?: string): OUTPUT_TYPE {
52
- FUNCTION_BODY
53
-
54
- return DATA_RESULT;
55
- }`, {
56
- FUNC_NAME: name,
57
- INPUT_DATA_TYPE: inputDataType,
58
- FUNCTION_BODY: functionBody,
59
- WHERE_UNIQUE_TYPE: whereUniqueType,
60
- DATA_RESULT: TsCodeUtils.mergeFragmentsAsObject({
61
- data: TsCodeUtils.mergeFragmentsAsObject({
62
- where: isOneToOne
63
- ? undefined
64
- : `whereUnique ?? { ${primaryKey}: '' }`,
65
- create: createExpression,
66
- update: updateExpression,
67
- }),
68
- operations: dataPipeNames.length === 0
69
- ? undefined
70
- : tsCodeFragment(`mergePipeOperations([${dataPipeNames.join(', ')}])`, prismaUtils.mergePipeOperations.declaration()),
71
- }),
72
- OUTPUT_TYPE: outputType,
73
- CONTEXT_TYPE: serviceContextType,
74
- });
75
- return {
76
- name,
77
- func: tsHoistedFragment(`embedded-transform-${name}`, func),
78
- };
79
- }
80
- export const embeddedRelationTransformerGenerator = createGenerator({
81
- name: 'prisma/embedded-relation-transformer',
82
- generatorFileUrl: import.meta.url,
83
- descriptorSchema,
84
- getInstanceName: (descriptor) => descriptor.name,
85
- buildTasks: ({ name: localRelationName, embeddedFieldNames = [], embeddedTransformerNames, inputName: inputNameDescriptor, foreignModelName, }) => ({
86
- main: createGeneratorTask({
87
- dependencies: {
88
- prismaOutput: prismaOutputProvider,
89
- prismaCrudServiceSetup: prismaCrudServiceSetupProvider,
90
- foreignCrudService: prismaCrudServiceProvider
91
- .dependency()
92
- .optionalReference(foreignModelName),
93
- serviceContextImports: serviceContextImportsProvider,
94
- prismaUtilsImports: prismaUtilsImportsProvider,
95
- },
96
- run({ prismaOutput, prismaCrudServiceSetup, foreignCrudService, serviceContextImports, prismaUtilsImports, }) {
97
- function buildTransformer({ operationType, }) {
98
- const modelName = prismaCrudServiceSetup.getModelName();
99
- const inputName = inputNameDescriptor ?? localRelationName;
100
- const { localModel, foreignModel, localRelation, foreignRelation } = getForeignModelRelation(prismaOutput, modelName, localRelationName);
101
- if (localModel.idFields?.length !== 1) {
102
- throw new Error(`${modelName} must have exactly one id field if used in an embedded relation`);
103
- }
104
- const localId = localModel.idFields[0];
105
- if (embeddedTransformerNames && !foreignCrudService) {
106
- throw new Error(`Cannot use embedded transformers without a foreign crud service`);
107
- }
108
- const isOneToOne = !localRelation.isList;
109
- // get transformers
110
- const embeddedTransformerFactories = embeddedTransformerNames
111
- ?.map((name) => foreignCrudService?.getTransformerByName(name))
112
- .filter(notEmpty) ?? [];
113
- const embeddedFields = embeddedFieldNames.map((name) => {
114
- const field = foreignModel.fields.find((f) => f.name === name);
115
- if (!field) {
116
- throw new Error(`Could not find field ${name} on ${foreignModel.name}`);
117
- }
118
- if (field.type !== 'scalar') {
119
- throw new Error(`Field ${name} on ${foreignModel.name} is not a scalar`);
120
- }
121
- return field;
122
- });
123
- const dataInputName = `${modelName}Embedded${upperCaseFirst(localRelationName)}Data`;
124
- const upsertTransformers = embeddedTransformerFactories.map((factory) => factory.buildTransformer({ operationType: 'upsert' }));
125
- // If we use the existing item, we should check that its ID is actually owned
126
- // by the parent
127
- const getForeignRelationParentField = () => {
128
- // figure out which field is parent ID
129
- const foreignParentIdx = foreignRelation.references?.findIndex((reference) => reference === localId);
130
- // foreign parent ID is not in list
131
- if (foreignParentIdx == null || foreignParentIdx === -1) {
132
- throw new Error(`Foreign reference must contain primary key of local model`);
133
- }
134
- const foreignParentField = foreignRelation.fields?.[foreignParentIdx];
135
- if (!foreignParentField) {
136
- throw new Error(`Unable to find foreign parent field`);
137
- }
138
- return foreignParentField;
139
- };
140
- const dataMethodOptions = {
141
- modelName: foreignModel.name,
142
- prismaFieldNames: embeddedFields.map((f) => f.name),
143
- operationName: 'create',
144
- transformers: upsertTransformers,
145
- prismaOutput,
146
- isPartial: false,
147
- serviceContextImports,
148
- prismaUtils: prismaUtilsImports,
149
- operationType: 'upsert',
150
- whereUniqueExpression: 'whereUnique',
151
- parentIdCheckField: upsertTransformers.some((t) => t.needsExistingItem)
152
- ? getForeignRelationParentField()
153
- : undefined,
154
- };
155
- const foreignModelName = upperCaseFirst(foreignModel.name);
156
- const foreignRelationName = upperCaseFirst(foreignRelation.name);
157
- const outputDataType = `{
158
- where${isOneToOne ? '?' : ''}: Prisma.${foreignModelName}WhereUniqueInput;
159
- create: Prisma.${foreignModelName}CreateWithout${foreignRelationName}Input;
160
- update: Prisma.${foreignModelName}UpdateWithout${foreignRelationName}Input;
161
- }`;
162
- const upsertFunction = embeddedTransformerFactories.length === 0
163
- ? undefined
164
- : createEmbeddedTransformFunction({
165
- name: `prepareUpsertEmbedded${upperCaseFirst(localRelationName)}Data`,
166
- inputDataType: dataInputName,
167
- outputDataType,
168
- dataMethodOptions,
169
- isOneToOne,
170
- prismaUtils: prismaUtilsImports,
171
- serviceContextType: serviceContextImports.ServiceContext.typeFragment(),
172
- whereUniqueType: `Prisma.${upperCaseFirst(foreignModel.name)}WhereUniqueInput`,
173
- });
174
- const dataInputType = getDataInputTypeBlock(dataInputName, dataMethodOptions);
175
- const dataMethodDataType = getDataMethodDataType(dataMethodOptions);
176
- const isNullable = !localRelation.isList && operationType === 'update';
177
- const inputField = {
178
- type: tsCodeFragment(`${dataInputName}${localRelation.isList ? '[]' : ''}${isNullable ? ' | null' : ''}`, undefined, {
179
- hoistedFragments: [dataInputType],
180
- }),
181
- dtoField: {
182
- name: inputName,
183
- isOptional: true,
184
- isNullable,
185
- type: 'nested',
186
- isList: localRelation.isList,
187
- nestedType: {
188
- name: dataInputName,
189
- fields: dataMethodDataType.fields,
190
- },
191
- },
192
- };
193
- /**
194
- * This is a fairly complex piece of logic. We have the following scenarios:
195
- *
196
- * Update/Create:
197
- * - Update operation
198
- * - Create operation
199
- *
200
- * Relationship Type:
201
- * - 1:many relationship
202
- * - 1:1 relationship
203
- *
204
- * Data Preprocessing:
205
- * - May have transform function
206
- * - May have no transform function
207
- */
208
- const embeddedCallExpression = (() => {
209
- if (operationType === 'create') {
210
- return isOneToOne
211
- ? prismaUtilsImports.createOneToOneCreateData.fragment()
212
- : prismaUtilsImports.createOneToManyCreateData.fragment();
213
- }
214
- return isOneToOne
215
- ? prismaUtilsImports.createOneToOneUpsertData.fragment()
216
- : prismaUtilsImports.createOneToManyUpsertData.fragment();
217
- })();
218
- // finds the discriminator ID field in the input for 1:many relationships
219
- const getDiscriminatorIdField = () => {
220
- const foreignIds = foreignModel.idFields ?? [];
221
- const discriminatorIdFields = foreignIds.filter((foreignId) => embeddedFieldNames.includes(foreignId));
222
- if (discriminatorIdFields.length !== 1) {
223
- throw new Error(`Expected 1 discriminator ID field for ${localRelationName}, found ${discriminatorIdFields.length}`);
224
- }
225
- return discriminatorIdFields[0];
226
- };
227
- const getWhereUniqueFunction = () => {
228
- const returnType = tsCodeFragment(`Prisma.${upperCaseFirst(foreignModel.name)}WhereUniqueInput | undefined`, tsTypeImportBuilder(['Prisma']).from('@prisma/client'));
229
- // convert primary keys to where unique
230
- const foreignIds = foreignModel.idFields ?? [];
231
- const primaryKeyFields = foreignIds.map((idField) => {
232
- // check if ID field is in relation
233
- const idRelationIdx = foreignRelation.fields?.findIndex((relationField) => relationField === idField);
234
- if (idRelationIdx != null && idRelationIdx !== -1) {
235
- const localField = foreignRelation.references?.[idRelationIdx];
236
- if (!localField) {
237
- throw new Error(`Could not find corresponding relation field for ${idField}`);
238
- }
239
- // short-circuit case for updates
240
- if (operationType === 'update' && localId === localField) {
241
- return { name: idField, value: localId };
242
- }
243
- return {
244
- name: idField,
245
- value: `existingItem.${localField}`,
246
- needsExistingItem: true,
247
- };
248
- }
249
- // check if ID field is in input
250
- const embeddedField = embeddedFields.find((f) => f.name === idField);
251
- if (embeddedField) {
252
- return {
253
- name: idField,
254
- value: `input.${idField}`,
255
- usesInput: true,
256
- requiredInputField: embeddedField.isOptional || embeddedField.hasDefault
257
- ? idField
258
- : undefined,
259
- };
260
- }
261
- throw new Error(`Could not find ID field ${idField} in either embedded object or relation for relation ${localRelationName} of ${modelName}`);
262
- });
263
- const primaryKeyExpression = TsCodeUtils.mergeFragmentsAsObject(Object.fromEntries(primaryKeyFields.map((keyField) => [
264
- keyField.name,
265
- keyField.value,
266
- ])), { wrapWithParenthesis: true });
267
- const value = primaryKeyFields.length > 1
268
- ? TsCodeUtils.mergeFragmentsAsObject({
269
- [foreignIds.join('_')]: primaryKeyExpression,
270
- }, { wrapWithParenthesis: true })
271
- : primaryKeyExpression;
272
- const usesInput = primaryKeyFields.some((k) => k.usesInput);
273
- const needsExistingItem = primaryKeyFields.some((k) => k.needsExistingItem);
274
- const requirementsList = [
275
- ...(needsExistingItem && operationType === 'upsert'
276
- ? ['existingItem']
277
- : []),
278
- ...primaryKeyFields
279
- .map((f) => f.requiredInputField && `input.${f.requiredInputField}`)
280
- .filter(notEmpty),
281
- ];
282
- return {
283
- func: TsCodeUtils.formatFragment(`(INPUT): RETURN_TYPE => VALUE`, {
284
- INPUT: usesInput ? 'input' : '',
285
- RETURN_TYPE: returnType,
286
- PREFIX: '',
287
- VALUE: requirementsList.length > 0
288
- ? tsTemplate `${requirementsList.join(' && ')} ? ${value} : undefined`
289
- : value,
290
- }),
291
- needsExistingItem,
292
- };
293
- };
294
- const embeddedCallArgs = (() => {
295
- if (operationType === 'create') {
296
- return {
297
- args: TsCodeUtils.mergeFragmentsAsObject({
298
- input: inputName,
299
- transform: upsertFunction?.name,
300
- context: upsertFunction && 'context',
301
- }),
302
- };
303
- }
304
- const whereUniqueResult = getWhereUniqueFunction();
305
- const parentId = operationType === 'update' ? localId : `existingItem.${localId}`;
306
- const transformAdditions = upsertFunction
307
- ? {
308
- transform: upsertFunction.name,
309
- context: 'context',
310
- getWhereUnique: whereUniqueResult.func,
311
- parentId,
312
- }
313
- : {};
314
- const oneToManyAdditions = isOneToOne
315
- ? {}
316
- : {
317
- idField: quot(getDiscriminatorIdField()),
318
- getWhereUnique: whereUniqueResult.func,
319
- };
320
- const parentField = getForeignRelationParentField();
321
- const oneToOneAdditions = isOneToOne
322
- ? {
323
- deleteRelation: TsCodeUtils.formatFragment('() => PRISMA_MODEL.deleteMany({ where: WHERE_ARGS })', {
324
- PRISMA_MODEL: prismaOutput.getPrismaModelFragment(foreignModel.name),
325
- WHERE_ARGS: TsCodeUtils.mergeFragmentsAsObject({
326
- [parentField]: parentId,
327
- }),
328
- }),
329
- }
330
- : {};
331
- return {
332
- args: TsCodeUtils.mergeFragmentsAsObject({
333
- input: inputName,
334
- ...transformAdditions,
335
- ...oneToManyAdditions,
336
- ...oneToOneAdditions,
337
- }),
338
- needsExistingItem: whereUniqueResult.needsExistingItem ||
339
- (operationType === 'upsert' && !!upsertFunction),
340
- };
341
- })();
342
- const outputName = `${localRelationName}Output`;
343
- const transformer = TsCodeUtils.formatFragment(`const OUTPUT_NAME = await EMBEDDED_CALL(ARGS)`, {
344
- OUTPUT_NAME: outputName,
345
- EMBEDDED_CALL: embeddedCallExpression,
346
- ARGS: embeddedCallArgs.args,
347
- }, [], { hoistedFragments: upsertFunction ? [upsertFunction.func] : [] });
348
- return {
349
- inputFields: [inputField],
350
- outputFields: [
351
- {
352
- name: localRelationName,
353
- pipeOutputName: outputName,
354
- transformer,
355
- createExpression: `{ create: ${outputName}.data?.create }`,
356
- },
357
- ],
358
- needsExistingItem: embeddedCallArgs.needsExistingItem,
359
- isAsync: true,
360
- needsContext: !!upsertFunction,
361
- };
362
- }
363
- prismaCrudServiceSetup.addTransformer(localRelationName, {
364
- buildTransformer,
365
- });
366
- return {};
367
- },
368
- }),
369
- }),
370
- });
371
- //# sourceMappingURL=embedded-relation-transformer.generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embedded-relation-transformer.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './embedded-relation-transformer.generator.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/embedded-relation-transformer/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './embedded-relation-transformer.generator.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/prisma/embedded-relation-transformer/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './prisma-crud-create.generator.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-create/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './prisma-crud-create.generator.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-create/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -1,48 +0,0 @@
1
- export declare const prismaCrudCreateGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{
2
- name: string;
3
- order: number;
4
- modelName: string;
5
- prismaFields: string[];
6
- transformerNames?: string[] | undefined;
7
- }, {
8
- main: import("@baseplate-dev/sync").GeneratorTask<any, {
9
- prismaOutput: import("@baseplate-dev/sync").ProviderType<import("../prisma/prisma.generator.js").PrismaOutputProvider>;
10
- serviceFile: import("@baseplate-dev/sync").ProviderDependency<import("#src/generators/core/service-file/index.js").ServiceFileProvider>;
11
- crudPrismaService: import("@baseplate-dev/sync").ProviderType<import("../prisma-crud-service/prisma-crud-service.generator.js").PrismaCrudServiceProvider>;
12
- serviceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
13
- createServiceContext: {};
14
- createSystemServiceContext: {};
15
- createTestServiceContext: {};
16
- ServiceContext: {
17
- isTypeOnly: true;
18
- };
19
- }>>;
20
- prismaUtilsImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
21
- applyDataPipeOutput: {};
22
- applyDataPipeOutputToOperations: {};
23
- applyDataPipeOutputWithoutOperation: {};
24
- createOneToManyCreateData: {};
25
- createOneToManyUpsertData: {};
26
- createOneToOneCreateData: {};
27
- createOneToOneUpsertData: {};
28
- createPrismaDisconnectOrConnectData: {};
29
- CreateServiceInput: {
30
- isTypeOnly: true;
31
- };
32
- DataPipeOutput: {
33
- isTypeOnly: true;
34
- };
35
- DeleteServiceInput: {
36
- isTypeOnly: true;
37
- };
38
- mergePipeOperations: {};
39
- UpdateServiceInput: {
40
- isTypeOnly: true;
41
- };
42
- UpsertPayload: {
43
- isTypeOnly: true;
44
- };
45
- }>>;
46
- }, any>;
47
- }>;
48
- //# sourceMappingURL=prisma-crud-create.generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prisma-crud-create.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-create/prisma-crud-create.generator.ts"],"names":[],"mappings":"AA8HA,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEpC,CAAC"}
@@ -1,130 +0,0 @@
1
- import { TsCodeUtils, tsTypeImportBuilder, } from '@baseplate-dev/core-generators';
2
- import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
3
- import { NUMBER_VALIDATORS } from '@baseplate-dev/utils';
4
- import { z } from 'zod';
5
- import { serviceContextImportsProvider } from '#src/generators/core/service-context/index.js';
6
- import { serviceFileProvider } from '#src/generators/core/service-file/index.js';
7
- import { prismaToServiceOutputDto } from '#src/types/service-output.js';
8
- import { getDataInputTypeBlock, getDataMethodContextRequired, getDataMethodDataExpressions, getDataMethodDataType, wrapWithApplyDataPipe, } from '../_shared/crud-method/data-method.js';
9
- import { prismaCrudServiceProvider } from '../prisma-crud-service/index.js';
10
- import { prismaUtilsImportsProvider } from '../prisma-utils/index.js';
11
- import { prismaOutputProvider } from '../prisma/index.js';
12
- const descriptorSchema = z.object({
13
- name: z.string().min(1),
14
- order: NUMBER_VALIDATORS.POSITIVE_INT,
15
- modelName: z.string().min(1),
16
- prismaFields: z.array(z.string().min(1)),
17
- transformerNames: z.array(z.string().min(1)).optional(),
18
- });
19
- function getMethodDefinition(serviceMethodReference, options) {
20
- const { name, modelName, prismaOutput } = options;
21
- const prismaDefinition = prismaOutput.getPrismaModel(modelName);
22
- const dataType = getDataMethodDataType(options);
23
- const hasContext = getDataMethodContextRequired(options);
24
- return {
25
- name,
26
- referenceFragment: serviceMethodReference,
27
- arguments: [
28
- {
29
- type: 'nested',
30
- name: 'input',
31
- nestedType: {
32
- name: 'CreateServiceInput',
33
- fields: [
34
- {
35
- name: 'data',
36
- type: 'nested',
37
- nestedType: dataType,
38
- },
39
- ],
40
- },
41
- },
42
- ],
43
- requiresContext: hasContext,
44
- returnType: prismaToServiceOutputDto(prismaDefinition, (enumName) => prismaOutput.getServiceEnum(enumName)),
45
- };
46
- }
47
- function getMethodBlock(options) {
48
- const { name, modelName, prismaOutput, prismaUtils } = options;
49
- const createInputTypeName = `${modelName}CreateData`;
50
- const typeHeaderBlock = getDataInputTypeBlock(createInputTypeName, options);
51
- const { functionBody, createExpression, dataPipeNames } = getDataMethodDataExpressions(options);
52
- const contextRequired = getDataMethodContextRequired(options);
53
- const modelType = prismaOutput.getModelTypeFragment(modelName);
54
- const operation = TsCodeUtils.formatFragment(`PRISMA_MODEL.create(CREATE_ARGS)`, {
55
- PRISMA_MODEL: prismaOutput.getPrismaModelFragment(modelName),
56
- CREATE_ARGS: TsCodeUtils.mergeFragmentsAsObjectPresorted({
57
- data: createExpression,
58
- '...': 'query',
59
- }),
60
- });
61
- return TsCodeUtils.formatFragment(`
62
- export async function METHOD_NAME({ data, query, EXTRA_ARGS }: CreateServiceInput<CREATE_INPUT_TYPE_NAME, QUERY_ARGS>): Promise<MODEL_TYPE> {
63
- FUNCTION_BODY
64
-
65
- return OPERATION;
66
- }
67
- `.trim(), {
68
- METHOD_NAME: name,
69
- CREATE_INPUT_TYPE_NAME: createInputTypeName,
70
- MODEL_TYPE: modelType,
71
- EXTRA_ARGS: contextRequired ? 'context' : '',
72
- QUERY_ARGS: `Prisma.${modelName}DefaultArgs`,
73
- FUNCTION_BODY: functionBody,
74
- OPERATION: wrapWithApplyDataPipe(operation, dataPipeNames, prismaUtils),
75
- }, [
76
- tsTypeImportBuilder(['Prisma']).from('@prisma/client'),
77
- prismaUtils.CreateServiceInput.typeDeclaration(),
78
- ], { hoistedFragments: [typeHeaderBlock] });
79
- }
80
- export const prismaCrudCreateGenerator = createGenerator({
81
- name: 'prisma/prisma-crud-create',
82
- generatorFileUrl: import.meta.url,
83
- descriptorSchema,
84
- buildTasks: (descriptor) => ({
85
- main: createGeneratorTask({
86
- dependencies: {
87
- prismaOutput: prismaOutputProvider,
88
- serviceFile: serviceFileProvider.dependency(),
89
- crudPrismaService: prismaCrudServiceProvider,
90
- serviceContextImports: serviceContextImportsProvider,
91
- prismaUtilsImports: prismaUtilsImportsProvider,
92
- },
93
- run({ prismaOutput, serviceFile, crudPrismaService, serviceContextImports, prismaUtilsImports, }) {
94
- const { name, modelName, prismaFields, transformerNames } = descriptor;
95
- const methodName = `${name}${modelName}`;
96
- const serviceMethodReference = TsCodeUtils.importFragment(methodName, serviceFile.getServicePath());
97
- const transformerOption = {
98
- operationType: 'create',
99
- };
100
- const transformers = transformerNames?.map((transformerName) => crudPrismaService
101
- .getTransformerByName(transformerName)
102
- .buildTransformer(transformerOption)) ?? [];
103
- return {
104
- build: () => {
105
- const methodOptions = {
106
- name: methodName,
107
- modelName,
108
- prismaFieldNames: prismaFields,
109
- prismaOutput,
110
- operationName: 'create',
111
- isPartial: false,
112
- transformers,
113
- serviceContextImports,
114
- prismaUtils: prismaUtilsImports,
115
- operationType: 'create',
116
- whereUniqueExpression: null,
117
- };
118
- serviceFile.registerMethod({
119
- order: descriptor.order,
120
- name,
121
- fragment: getMethodBlock(methodOptions),
122
- outputMethod: getMethodDefinition(serviceMethodReference, methodOptions),
123
- });
124
- },
125
- };
126
- },
127
- }),
128
- }),
129
- });
130
- //# sourceMappingURL=prisma-crud-create.generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prisma-crud-create.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-create/prisma-crud-create.generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './prisma-crud-delete.generator.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-delete/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './prisma-crud-delete.generator.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-crud-delete/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}