@webiny/api-headless-cms 6.1.0 → 6.2.0-beta.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 (577) hide show
  1. package/context.d.ts +2 -5
  2. package/context.js +16 -7
  3. package/context.js.map +1 -1
  4. package/crud/AccessControl/AccessControl.d.ts +18 -28
  5. package/crud/AccessControl/AccessControl.js.map +1 -1
  6. package/crud/contentEntry/entryDataFactories/createEntryData.js +17 -6
  7. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  8. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +9 -3
  9. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  11. package/crud/contentEntry/entryDataValidation.js +16 -13
  12. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  13. package/crud/contentEntry/searchableFields.d.ts +2 -3
  14. package/crud/contentEntry/searchableFields.js +10 -18
  15. package/crud/contentEntry/searchableFields.js.map +1 -1
  16. package/crud/contentModel.crud.js +2 -1
  17. package/crud/contentModel.crud.js.map +1 -1
  18. package/domain/contentModel/validation/modelFields.js +15 -20
  19. package/domain/contentModel/validation/modelFields.js.map +1 -1
  20. package/exports/api/cms/graphql.d.ts +1 -0
  21. package/exports/api/cms/graphql.js +3 -0
  22. package/exports/api/cms/graphql.js.map +1 -0
  23. package/exports/api/cms/storage.d.ts +3 -0
  24. package/exports/api/cms/storage.js +5 -0
  25. package/exports/api/cms/storage.js.map +1 -0
  26. package/exports/api/cms/validation.d.ts +4 -0
  27. package/exports/api/cms/validation.js +6 -0
  28. package/exports/api/cms/validation.js.map +1 -0
  29. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  30. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  31. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  32. package/features/contentEntry/CreateEntry/events.d.ts +2 -2
  33. package/features/contentEntry/CreateEntry/events.js +1 -1
  34. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  35. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  36. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  37. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  38. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -2
  39. package/features/contentEntry/CreateEntryRevisionFrom/events.js +1 -1
  40. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  41. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  42. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  43. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  44. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  45. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  46. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  47. package/features/contentEntry/DeleteEntry/events.d.ts +2 -2
  48. package/features/contentEntry/DeleteEntry/events.js +1 -1
  49. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  50. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  51. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  52. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  53. package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -2
  54. package/features/contentEntry/DeleteEntryRevision/events.js +1 -1
  55. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  56. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  57. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  58. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  59. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -2
  60. package/features/contentEntry/DeleteMultipleEntries/events.js +1 -1
  61. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  62. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +6 -11
  63. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  64. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  65. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  66. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  67. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  68. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  69. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  70. package/features/contentEntry/MoveEntry/events.d.ts +2 -2
  71. package/features/contentEntry/MoveEntry/events.js +1 -1
  72. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  73. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  74. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  75. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  76. package/features/contentEntry/PublishEntry/events.d.ts +2 -2
  77. package/features/contentEntry/PublishEntry/events.js +1 -1
  78. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  79. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  80. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  81. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  82. package/features/contentEntry/RepublishEntry/events.d.ts +2 -2
  83. package/features/contentEntry/RepublishEntry/events.js +1 -1
  84. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  85. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  86. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  87. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  88. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -2
  89. package/features/contentEntry/RestoreEntryFromBin/events.js +1 -1
  90. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  91. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  92. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  93. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  94. package/features/contentEntry/UnpublishEntry/events.d.ts +2 -2
  95. package/features/contentEntry/UnpublishEntry/events.js +1 -1
  96. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  97. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  98. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  99. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  100. package/features/contentEntry/UpdateEntry/events.d.ts +2 -2
  101. package/features/contentEntry/UpdateEntry/events.js +1 -1
  102. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  103. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +1 -1
  104. package/features/contentModel/CreateModel/CreateModelRepository.js +1 -1
  105. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  106. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  107. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  108. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  109. package/features/contentModel/CreateModel/events.d.ts +2 -2
  110. package/features/contentModel/CreateModel/events.js +1 -1
  111. package/features/contentModel/CreateModel/events.js.map +1 -1
  112. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +1 -1
  113. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +1 -1
  114. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  115. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  116. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  117. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  118. package/features/contentModel/CreateModelFrom/events.d.ts +2 -2
  119. package/features/contentModel/CreateModelFrom/events.js +1 -1
  120. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  121. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  122. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  123. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  124. package/features/contentModel/DeleteModel/events.d.ts +2 -2
  125. package/features/contentModel/DeleteModel/events.js +1 -1
  126. package/features/contentModel/DeleteModel/events.js.map +1 -1
  127. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  128. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  129. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  130. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  131. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  132. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  133. package/features/contentModel/UpdateModel/events.d.ts +2 -2
  134. package/features/contentModel/UpdateModel/events.js +1 -1
  135. package/features/contentModel/UpdateModel/events.js.map +1 -1
  136. package/features/contentModel/shared/ModelsFetcher.d.ts +1 -1
  137. package/features/contentModel/shared/ModelsFetcher.js +1 -1
  138. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  139. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  140. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  141. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  142. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  143. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  144. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  145. package/features/contentModelGroup/CreateGroup/events.d.ts +2 -2
  146. package/features/contentModelGroup/CreateGroup/events.js +1 -1
  147. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  148. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  149. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  150. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  151. package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -2
  152. package/features/contentModelGroup/DeleteGroup/events.js +1 -1
  153. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  154. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  155. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  156. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  157. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  158. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  159. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  160. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  161. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  162. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  163. package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -2
  164. package/features/contentModelGroup/UpdateGroup/events.js +1 -1
  165. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  166. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  167. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  168. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  169. package/features/graphql/feature.d.ts +1 -0
  170. package/features/graphql/feature.js +34 -0
  171. package/features/graphql/feature.js.map +1 -0
  172. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  173. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  174. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  175. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  176. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  177. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  178. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  179. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  180. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  181. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  182. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  183. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  184. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  185. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  186. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  187. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  188. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  189. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  190. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  191. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  192. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  193. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  194. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  195. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  196. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  197. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  198. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  199. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  200. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  201. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  202. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  203. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  204. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  205. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  206. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  207. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  208. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  209. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  210. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  211. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  212. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  213. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  214. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  215. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  216. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  217. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  218. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  219. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  220. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  221. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  222. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  223. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  224. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +2 -2
  225. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  226. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  227. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  228. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  229. package/features/graphql/index.d.ts +4 -0
  230. package/features/graphql/index.js +6 -0
  231. package/features/graphql/index.js.map +1 -0
  232. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  233. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  234. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  235. package/features/installer/CmsInstaller.d.ts +1 -1
  236. package/features/installer/CmsInstaller.js +1 -1
  237. package/features/installer/CmsInstaller.js.map +1 -1
  238. package/features/shared/abstractions.d.ts +9 -2
  239. package/features/shared/abstractions.js +1 -0
  240. package/features/shared/abstractions.js.map +1 -1
  241. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  242. package/features/storage/StorageTransformRegistry.js +27 -0
  243. package/features/storage/StorageTransformRegistry.js.map +1 -0
  244. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  245. package/features/storage/abstractions/StorageTransform.js +4 -0
  246. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  247. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  248. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  249. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  250. package/features/storage/feature.d.ts +1 -0
  251. package/features/storage/feature.js +24 -0
  252. package/features/storage/feature.js.map +1 -0
  253. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  254. package/features/storage/fields/DateStorageTransform.js +110 -0
  255. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  256. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  257. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  258. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  259. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  260. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  261. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  262. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  263. package/features/storage/fields/JsonStorageTransform.js +31 -0
  264. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  265. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  266. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  267. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  268. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  269. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  270. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  271. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  272. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  273. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  274. package/features/storage/index.d.ts +3 -0
  275. package/features/storage/index.js +5 -0
  276. package/features/storage/index.js.map +1 -0
  277. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  278. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  279. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  280. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  281. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  282. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  283. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  284. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  285. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  286. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  287. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  288. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  289. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  290. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  291. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  292. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  293. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  294. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  295. package/features/validation/feature.d.ts +1 -0
  296. package/features/validation/feature.js +48 -0
  297. package/features/validation/feature.js.map +1 -0
  298. package/features/validation/index.d.ts +5 -0
  299. package/features/validation/index.js +7 -0
  300. package/features/validation/index.js.map +1 -0
  301. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  302. package/features/validation/validators/DateGteValidator.js +26 -0
  303. package/features/validation/validators/DateGteValidator.js.map +1 -0
  304. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  305. package/features/validation/validators/DateLteValidator.js +26 -0
  306. package/features/validation/validators/DateLteValidator.js.map +1 -0
  307. package/features/validation/validators/GteValidator.d.ts +10 -0
  308. package/features/validation/validators/GteValidator.js +21 -0
  309. package/features/validation/validators/GteValidator.js.map +1 -0
  310. package/features/validation/validators/InValidator.d.ts +10 -0
  311. package/features/validation/validators/InValidator.js +21 -0
  312. package/features/validation/validators/InValidator.js.map +1 -0
  313. package/features/validation/validators/LteValidator.d.ts +10 -0
  314. package/features/validation/validators/LteValidator.js +21 -0
  315. package/features/validation/validators/LteValidator.js.map +1 -0
  316. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  317. package/features/validation/validators/MaxLengthValidator.js +21 -0
  318. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  319. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  320. package/features/validation/validators/MinLengthValidator.js +21 -0
  321. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  322. package/features/validation/validators/PatternValidator.d.ts +13 -0
  323. package/features/validation/validators/PatternValidator.js +38 -0
  324. package/features/validation/validators/PatternValidator.js.map +1 -0
  325. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  326. package/features/validation/validators/RequiredValidator.js +16 -0
  327. package/features/validation/validators/RequiredValidator.js.map +1 -0
  328. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  329. package/features/validation/validators/TimeGteValidator.js +21 -0
  330. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  331. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  332. package/features/validation/validators/TimeLteValidator.js +21 -0
  333. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  334. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  335. package/features/validation/validators/UniqueValidator.js +47 -0
  336. package/features/validation/validators/UniqueValidator.js.map +1 -0
  337. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  338. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  339. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  340. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  341. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  342. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  343. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  344. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  345. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  346. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  347. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  348. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  349. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  350. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  351. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  352. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  353. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  354. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  355. package/graphql/getSchema/generateCacheKey.js +1 -1
  356. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  357. package/graphql/schema/baseSchema.d.ts +2 -1
  358. package/graphql/schema/baseSchema.js +11 -9
  359. package/graphql/schema/baseSchema.js.map +1 -1
  360. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  361. package/graphql/schema/createFieldResolvers.js +5 -4
  362. package/graphql/schema/createFieldResolvers.js.map +1 -1
  363. package/graphql/schema/createManageResolvers.d.ts +3 -2
  364. package/graphql/schema/createManageResolvers.js +3 -3
  365. package/graphql/schema/createManageResolvers.js.map +1 -1
  366. package/graphql/schema/createManageSDL.d.ts +4 -4
  367. package/graphql/schema/createManageSDL.js +8 -8
  368. package/graphql/schema/createManageSDL.js.map +1 -1
  369. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  370. package/graphql/schema/createPreviewResolvers.js +4 -4
  371. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  372. package/graphql/schema/createReadResolvers.d.ts +3 -2
  373. package/graphql/schema/createReadResolvers.js +4 -4
  374. package/graphql/schema/createReadResolvers.js.map +1 -1
  375. package/graphql/schema/createReadSDL.d.ts +4 -4
  376. package/graphql/schema/createReadSDL.js +7 -7
  377. package/graphql/schema/createReadSDL.js.map +1 -1
  378. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  379. package/graphql/schema/createSingularResolvers.js +3 -3
  380. package/graphql/schema/createSingularResolvers.js.map +1 -1
  381. package/graphql/schema/createSingularSDL.d.ts +3 -2
  382. package/graphql/schema/createSingularSDL.js +3 -3
  383. package/graphql/schema/createSingularSDL.js.map +1 -1
  384. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +6 -7
  385. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  386. package/graphql/schema/schemaPlugins.js +14 -17
  387. package/graphql/schema/schemaPlugins.js.map +1 -1
  388. package/index.d.ts +1 -4
  389. package/index.js +2 -6
  390. package/index.js.map +1 -1
  391. package/package.json +25 -25
  392. package/plugins/index.d.ts +0 -2
  393. package/plugins/index.js +0 -2
  394. package/plugins/index.js.map +1 -1
  395. package/types/modelField.d.ts +1 -1
  396. package/types/modelField.js.map +1 -1
  397. package/types/plugins.d.ts +1 -305
  398. package/types/plugins.js.map +1 -1
  399. package/types/types.d.ts +4 -44
  400. package/types/types.js +0 -4
  401. package/types/types.js.map +1 -1
  402. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  403. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  404. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  405. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  406. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  407. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  408. package/utils/converters/ConverterCollection.d.ts +2 -0
  409. package/utils/converters/ConverterCollection.js +3 -2
  410. package/utils/converters/ConverterCollection.js.map +1 -1
  411. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  412. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  413. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  414. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  415. package/utils/converters/valueKeyStorageConverter.js +7 -3
  416. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  417. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  418. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  419. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  420. package/utils/createTypeFromFields.d.ts +3 -2
  421. package/utils/createTypeFromFields.js +3 -3
  422. package/utils/createTypeFromFields.js.map +1 -1
  423. package/utils/entryStorage.d.ts +8 -15
  424. package/utils/entryStorage.js +31 -59
  425. package/utils/entryStorage.js.map +1 -1
  426. package/utils/getBaseFieldType.js +3 -0
  427. package/utils/getBaseFieldType.js.map +1 -1
  428. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  429. package/utils/getSchemaFromFieldPlugins.js +5 -9
  430. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  431. package/utils/renderFields.d.ts +4 -3
  432. package/utils/renderFields.js +14 -9
  433. package/utils/renderFields.js.map +1 -1
  434. package/utils/renderGetFilterFields.d.ts +3 -2
  435. package/utils/renderGetFilterFields.js +2 -2
  436. package/utils/renderGetFilterFields.js.map +1 -1
  437. package/utils/renderInputFields.d.ts +4 -3
  438. package/utils/renderInputFields.js +5 -11
  439. package/utils/renderInputFields.js.map +1 -1
  440. package/utils/renderListFilterFields.d.ts +3 -2
  441. package/utils/renderListFilterFields.js +5 -3
  442. package/utils/renderListFilterFields.js.map +1 -1
  443. package/utils/renderSortEnum.d.ts +4 -4
  444. package/utils/renderSortEnum.js +11 -11
  445. package/utils/renderSortEnum.js.map +1 -1
  446. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  447. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  448. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  449. package/graphqlFields/boolean.d.ts +0 -2
  450. package/graphqlFields/boolean.js +0 -52
  451. package/graphqlFields/boolean.js.map +0 -1
  452. package/graphqlFields/datetime.d.ts +0 -2
  453. package/graphqlFields/datetime.js +0 -71
  454. package/graphqlFields/datetime.js.map +0 -1
  455. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  456. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  457. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  458. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  459. package/graphqlFields/dynamicZone/index.js +0 -3
  460. package/graphqlFields/dynamicZone/index.js.map +0 -1
  461. package/graphqlFields/file.d.ts +0 -2
  462. package/graphqlFields/file.js +0 -37
  463. package/graphqlFields/file.js.map +0 -1
  464. package/graphqlFields/helpers.js +0 -20
  465. package/graphqlFields/helpers.js.map +0 -1
  466. package/graphqlFields/index.d.ts +0 -2
  467. package/graphqlFields/index.js +0 -15
  468. package/graphqlFields/index.js.map +0 -1
  469. package/graphqlFields/json.d.ts +0 -2
  470. package/graphqlFields/json.js +0 -42
  471. package/graphqlFields/json.js.map +0 -1
  472. package/graphqlFields/longText.d.ts +0 -2
  473. package/graphqlFields/longText.js +0 -57
  474. package/graphqlFields/longText.js.map +0 -1
  475. package/graphqlFields/number.d.ts +0 -2
  476. package/graphqlFields/number.js +0 -63
  477. package/graphqlFields/number.js.map +0 -1
  478. package/graphqlFields/object.d.ts +0 -2
  479. package/graphqlFields/object.js +0 -245
  480. package/graphqlFields/object.js.map +0 -1
  481. package/graphqlFields/ref.d.ts +0 -2
  482. package/graphqlFields/ref.js +0 -286
  483. package/graphqlFields/ref.js.map +0 -1
  484. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  485. package/graphqlFields/richText.d.ts +0 -2
  486. package/graphqlFields/richText.js +0 -48
  487. package/graphqlFields/richText.js.map +0 -1
  488. package/graphqlFields/searchableJson.d.ts +0 -2
  489. package/graphqlFields/searchableJson.js +0 -53
  490. package/graphqlFields/searchableJson.js.map +0 -1
  491. package/graphqlFields/text.d.ts +0 -2
  492. package/graphqlFields/text.js +0 -59
  493. package/graphqlFields/text.js.map +0 -1
  494. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  495. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  496. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  497. package/plugins/StorageTransformPlugin.d.ts +0 -35
  498. package/plugins/StorageTransformPlugin.js +0 -26
  499. package/plugins/StorageTransformPlugin.js.map +0 -1
  500. package/storage/date.d.ts +0 -3
  501. package/storage/date.js +0 -110
  502. package/storage/date.js.map +0 -1
  503. package/storage/default.d.ts +0 -2
  504. package/storage/default.js +0 -19
  505. package/storage/default.js.map +0 -1
  506. package/storage/dynamicZone.d.ts +0 -2
  507. package/storage/dynamicZone.js +0 -149
  508. package/storage/dynamicZone.js.map +0 -1
  509. package/storage/index.d.ts +0 -1
  510. package/storage/index.js +0 -13
  511. package/storage/index.js.map +0 -1
  512. package/storage/json.d.ts +0 -2
  513. package/storage/json.js +0 -49
  514. package/storage/json.js.map +0 -1
  515. package/storage/object.d.ts +0 -2
  516. package/storage/object.js +0 -104
  517. package/storage/object.js.map +0 -1
  518. package/validators/dateGte.d.ts +0 -2
  519. package/validators/dateGte.js +0 -25
  520. package/validators/dateGte.js.map +0 -1
  521. package/validators/dateLte.d.ts +0 -2
  522. package/validators/dateLte.js +0 -25
  523. package/validators/dateLte.js.map +0 -1
  524. package/validators/gte.d.ts +0 -2
  525. package/validators/gte.js +0 -22
  526. package/validators/gte.js.map +0 -1
  527. package/validators/in.d.ts +0 -2
  528. package/validators/in.js +0 -22
  529. package/validators/in.js.map +0 -1
  530. package/validators/index.d.ts +0 -1
  531. package/validators/index.js +0 -16
  532. package/validators/index.js.map +0 -1
  533. package/validators/lte.d.ts +0 -2
  534. package/validators/lte.js +0 -22
  535. package/validators/lte.js.map +0 -1
  536. package/validators/maxLength.d.ts +0 -2
  537. package/validators/maxLength.js +0 -22
  538. package/validators/maxLength.js.map +0 -1
  539. package/validators/minLength.d.ts +0 -2
  540. package/validators/minLength.js +0 -22
  541. package/validators/minLength.js.map +0 -1
  542. package/validators/pattern.d.ts +0 -2
  543. package/validators/pattern.js +0 -36
  544. package/validators/pattern.js.map +0 -1
  545. package/validators/patternPlugins/email.d.ts +0 -2
  546. package/validators/patternPlugins/email.js +0 -13
  547. package/validators/patternPlugins/email.js.map +0 -1
  548. package/validators/patternPlugins/index.d.ts +0 -2
  549. package/validators/patternPlugins/index.js +0 -11
  550. package/validators/patternPlugins/index.js.map +0 -1
  551. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  552. package/validators/patternPlugins/lowerCase.js +0 -13
  553. package/validators/patternPlugins/lowerCase.js.map +0 -1
  554. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  555. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  556. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  557. package/validators/patternPlugins/upperCase.d.ts +0 -2
  558. package/validators/patternPlugins/upperCase.js +0 -13
  559. package/validators/patternPlugins/upperCase.js.map +0 -1
  560. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  561. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  562. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  563. package/validators/patternPlugins/url.d.ts +0 -2
  564. package/validators/patternPlugins/url.js +0 -13
  565. package/validators/patternPlugins/url.js.map +0 -1
  566. package/validators/required.d.ts +0 -2
  567. package/validators/required.js +0 -17
  568. package/validators/required.js.map +0 -1
  569. package/validators/timeGte.d.ts +0 -2
  570. package/validators/timeGte.js +0 -20
  571. package/validators/timeGte.js.map +0 -1
  572. package/validators/timeLte.d.ts +0 -2
  573. package/validators/timeLte.js +0 -20
  574. package/validators/timeLte.js.map +0 -1
  575. package/validators/unique.d.ts +0 -6
  576. package/validators/unique.js +0 -57
  577. package/validators/unique.js.map +0 -1
@@ -1,10 +1,10 @@
1
- import type { CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
2
- import type { CmsGraphQLSchemaSorterPlugin } from "../../plugins/index.js";
1
+ import type { CmsModel } from "../../types/index.js";
2
+ import { CmsGraphQLSchemaSorter, type CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
3
3
  interface CreateManageSDLParams {
4
4
  models: CmsModel[];
5
5
  model: CmsModel;
6
- fieldTypePlugins: CmsFieldTypePlugins;
7
- sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ sorters: CmsGraphQLSchemaSorter.Interface[];
8
8
  }
9
9
  interface CreateManageSDL {
10
10
  (params: CreateManageSDLParams): string;
@@ -7,37 +7,37 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
7
7
  export const createManageSDL = ({
8
8
  models,
9
9
  model,
10
- fieldTypePlugins,
11
- sorterPlugins
10
+ fieldRegistry,
11
+ sorters
12
12
  }) => {
13
13
  const inputFields = renderInputFields({
14
14
  models,
15
15
  model,
16
16
  fields: model.fields,
17
- fieldTypePlugins
17
+ fieldRegistry
18
18
  });
19
19
  const listFilterFieldsRender = renderListFilterFields({
20
20
  model,
21
21
  fields: model.fields,
22
22
  type: "manage",
23
- fieldTypePlugins
23
+ fieldRegistry
24
24
  });
25
25
  const sortEnumRender = renderSortEnum({
26
26
  model,
27
27
  fields: model.fields,
28
- fieldTypePlugins,
29
- sorterPlugins
28
+ fieldRegistry,
29
+ sorters
30
30
  });
31
31
  const getFilterFieldsRender = renderGetFilterFields({
32
32
  fields: model.fields,
33
- fieldTypePlugins
33
+ fieldRegistry
34
34
  });
35
35
  const fields = renderFields({
36
36
  models,
37
37
  model,
38
38
  fields: model.fields,
39
39
  type: "manage",
40
- fieldTypePlugins
40
+ fieldRegistry
41
41
  });
42
42
  const {
43
43
  singularApiName: singularName,
@@ -1 +1 @@
1
- {"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldTypePlugins","sorterPlugins","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport type { CmsGraphQLSchemaSorterPlugin } from \"~/plugins/index.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldRegistry","sorters","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import type { CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
1
+ import type { CmsModel } from "../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
2
3
  interface CreateReadResolversParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
- fieldTypePlugins: CmsFieldTypePlugins;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
6
7
  }
7
8
  export interface CreateReadResolvers {
8
9
  (params: CreateReadResolversParams): any;
@@ -4,13 +4,13 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
4
4
  export const createPreviewResolvers = ({
5
5
  models,
6
6
  model,
7
- fieldTypePlugins
7
+ fieldRegistry
8
8
  }) => {
9
9
  const createFieldResolvers = createFieldResolversFactory({
10
10
  endpointType: "read",
11
11
  models,
12
12
  model,
13
- fieldTypePlugins
13
+ fieldRegistry
14
14
  });
15
15
  const fieldResolvers = createFieldResolvers({
16
16
  graphQLType: model.singularApiName,
@@ -21,11 +21,11 @@ export const createPreviewResolvers = ({
21
21
  Query: {
22
22
  [`get${model.singularApiName}`]: resolveGet({
23
23
  model,
24
- fieldTypePlugins
24
+ fieldRegistry
25
25
  }),
26
26
  [`list${model.pluralApiName}`]: resolveList({
27
27
  model,
28
- fieldTypePlugins
28
+ fieldRegistry
29
29
  })
30
30
  },
31
31
  ...fieldResolvers
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createPreviewResolvers","models","model","fieldTypePlugins","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","Query","pluralApiName"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet.js\";\nimport { resolveList } from \"./resolvers/preview/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldTypePlugins }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldTypePlugins })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAapC,OAAO,MAAMC,sBAA2C,GAAGA,CAAC;EACxDC,MAAM;EACNC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMT,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAiB,CAAC,CAAC;MACxE,CAAC,OAAOD,KAAK,CAACU,aAAa,EAAE,GAAGd,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAiB,CAAC;IAC3E,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createPreviewResolvers","models","model","fieldRegistry","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","Query","pluralApiName"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet.js\";\nimport { resolveList } from \"./resolvers/preview/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({ models, model, fieldRegistry }) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldRegistry }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldRegistry })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,sBAA2C,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EAC7F,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMT,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAc,CAAC,CAAC;MACrE,CAAC,OAAOD,KAAK,CAACU,aAAa,EAAE,GAAGd,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAc,CAAC;IACxE,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import type { CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
1
+ import type { CmsModel } from "../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
2
3
  interface CreateReadResolversParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
- fieldTypePlugins: CmsFieldTypePlugins;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
6
7
  }
7
8
  export interface CreateReadResolvers {
8
9
  (params: CreateReadResolversParams): any;
@@ -4,13 +4,13 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
4
4
  export const createReadResolvers = ({
5
5
  models,
6
6
  model,
7
- fieldTypePlugins
7
+ fieldRegistry
8
8
  }) => {
9
9
  const createFieldResolvers = createFieldResolversFactory({
10
10
  endpointType: "read",
11
11
  models,
12
12
  model,
13
- fieldTypePlugins
13
+ fieldRegistry
14
14
  });
15
15
  const fieldResolvers = createFieldResolvers({
16
16
  graphQLType: model.singularApiName,
@@ -29,11 +29,11 @@ export const createReadResolvers = ({
29
29
  Query: {
30
30
  [`get${model.singularApiName}`]: resolveGet({
31
31
  model,
32
- fieldTypePlugins
32
+ fieldRegistry
33
33
  }),
34
34
  [`list${model.pluralApiName}`]: resolveList({
35
35
  model,
36
- fieldTypePlugins
36
+ fieldRegistry
37
37
  })
38
38
  },
39
39
  ...fieldResolvers
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createReadResolvers","models","model","fieldTypePlugins","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","key","modelId","Query","pluralApiName"],"sources":["createReadResolvers.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/read/resolveGet.js\";\nimport { resolveList } from \"./resolvers/read/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const key = model.singularApiName as keyof typeof fieldResolvers;\n // @ts-expect-error\n if (!fieldResolvers[key].modelId) {\n // @ts-expect-error\n fieldResolvers[key].modelId = () => {\n return model.modelId;\n };\n }\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldTypePlugins }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldTypePlugins })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAapC,OAAO,MAAMC,mBAAwC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EAC7F,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,GAAG,GAAGT,KAAK,CAACM,eAA8C;EAChE;EACA,IAAI,CAACF,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,EAAE;IAC9B;IACAN,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,GAAG,MAAM;MAChC,OAAOV,KAAK,CAACU,OAAO;IACxB,CAAC;EACL;EAEA,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMX,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAiB,CAAC,CAAC;MACxE,CAAC,OAAOD,KAAK,CAACY,aAAa,EAAE,GAAGhB,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAiB,CAAC;IAC3E,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createReadResolvers","models","model","fieldRegistry","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","key","modelId","Query","pluralApiName"],"sources":["createReadResolvers.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/read/resolveGet.js\";\nimport { resolveList } from \"./resolvers/read/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldRegistry }) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const key = model.singularApiName as keyof typeof fieldResolvers;\n // @ts-expect-error\n if (!fieldResolvers[key].modelId) {\n // @ts-expect-error\n fieldResolvers[key].modelId = () => {\n return model.modelId;\n };\n }\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldRegistry }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldRegistry })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,mBAAwC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EAC1F,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,GAAG,GAAGT,KAAK,CAACM,eAA8C;EAChE;EACA,IAAI,CAACF,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,EAAE;IAC9B;IACAN,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,GAAG,MAAM;MAChC,OAAOV,KAAK,CAACU,OAAO;IACxB,CAAC;EACL;EAEA,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMX,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAc,CAAC,CAAC;MACrE,CAAC,OAAOD,KAAK,CAACY,aAAa,EAAE,GAAGhB,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAc,CAAC;IACxE,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import type { CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
2
- import type { CmsGraphQLSchemaSorterPlugin } from "../../plugins/index.js";
1
+ import type { CmsModel } from "../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry, CmsGraphQLSchemaSorter } from "../../features/graphql/index.js";
3
3
  interface CreateReadSDLParams {
4
4
  models: CmsModel[];
5
5
  model: CmsModel;
6
- fieldTypePlugins: CmsFieldTypePlugins;
7
- sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ sorters: CmsGraphQLSchemaSorter.Interface[];
8
8
  }
9
9
  interface CreateReadSDL {
10
10
  (params: CreateReadSDLParams): string;
@@ -6,8 +6,8 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
6
6
  export const createReadSDL = ({
7
7
  models,
8
8
  model,
9
- fieldTypePlugins,
10
- sorterPlugins
9
+ fieldRegistry,
10
+ sorters
11
11
  }) => {
12
12
  const type = "read";
13
13
  const fieldsRender = renderFields({
@@ -15,23 +15,23 @@ export const createReadSDL = ({
15
15
  model,
16
16
  fields: model.fields,
17
17
  type,
18
- fieldTypePlugins
18
+ fieldRegistry
19
19
  });
20
20
  const listFilterFieldsRender = renderListFilterFields({
21
21
  model,
22
22
  fields: model.fields,
23
23
  type,
24
- fieldTypePlugins
24
+ fieldRegistry
25
25
  });
26
26
  const sortEnumRender = renderSortEnum({
27
27
  model,
28
28
  fields: model.fields,
29
- fieldTypePlugins,
30
- sorterPlugins
29
+ fieldRegistry,
30
+ sorters
31
31
  });
32
32
  const getFilterFieldsRender = renderGetFilterFields({
33
33
  fields: model.fields,
34
- fieldTypePlugins
34
+ fieldRegistry
35
35
  });
36
36
  const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
37
37
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["renderListFilterFields","renderSortEnum","renderFields","renderGetFilterFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createReadSDL","models","model","fieldTypePlugins","sorterPlugins","type","fieldsRender","fields","listFilterFieldsRender","sortEnumRender","getFilterFieldsRender","hasModelIdField","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","onByMetaGqlFields","map","field","fieldType","join","description","typeDefs","filter","Boolean","fieldFiltersAsString","baseFiltersAsString"],"sources":["createReadSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport type { CmsGraphQLSchemaSorterPlugin } from \"~/plugins/index.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const type: ApiEndpoint = \"read\";\n\n const fieldsRender = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName}Values {\n ${fieldsRender.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n \n \n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["renderListFilterFields","renderSortEnum","renderFields","renderGetFilterFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createReadSDL","models","model","fieldRegistry","sorters","type","fieldsRender","fields","listFilterFieldsRender","sortEnumRender","getFilterFieldsRender","hasModelIdField","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","onByMetaGqlFields","map","field","fieldType","join","description","typeDefs","filter","Boolean","fieldFiltersAsString","baseFiltersAsString"],"sources":["createReadSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type {\n CmsModelFieldToGraphQLRegistry,\n CmsGraphQLSchemaSorter\n} from \"~/features/graphql/index.js\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ models, model, fieldRegistry, sorters }): string => {\n const type: ApiEndpoint = \"read\";\n\n const fieldsRender = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName}Values {\n ${fieldsRender.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n \n \n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
1
+ import type { ApiEndpoint, CmsModel } from "../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
2
3
  interface CreateSingularResolversParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
- fieldTypePlugins: CmsFieldTypePlugins;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
6
7
  type: ApiEndpoint;
7
8
  }
8
9
  interface CreateSingularResolvers {
@@ -5,7 +5,7 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
5
5
  export const createSingularResolvers = ({
6
6
  models,
7
7
  model,
8
- fieldTypePlugins,
8
+ fieldRegistry,
9
9
  type
10
10
  }) => {
11
11
  if (model.fields.length === 0) {
@@ -18,7 +18,7 @@ export const createSingularResolvers = ({
18
18
  endpointType: type,
19
19
  models,
20
20
  model,
21
- fieldTypePlugins
21
+ fieldRegistry
22
22
  });
23
23
  const fieldResolvers = createFieldResolvers({
24
24
  graphQLType: model.singularApiName,
@@ -27,7 +27,7 @@ export const createSingularResolvers = ({
27
27
  });
28
28
  const resolverFactoryParams = {
29
29
  model,
30
- fieldTypePlugins
30
+ fieldRegistry
31
31
  };
32
32
  const result = {
33
33
  Query: {
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","resolveUpdate","normalizeGraphQlInput","createFieldResolversFactory","createSingularResolvers","models","model","fieldTypePlugins","type","fields","length","Query","Mutation","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolverFactoryParams","result"],"sources":["createSingularResolvers.ts"],"sourcesContent":["import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/singular/resolveGet.js\";\nimport { resolveUpdate } from \"./resolvers/singular/resolveUpdate.js\";\nimport { normalizeGraphQlInput } from \"./resolvers/manage/normalizeGraphQlInput.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\n\ninterface CreateSingularResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateSingularResolversParams): any;\n}\n\nexport const createSingularResolvers: CreateSingularResolvers = ({\n models,\n model,\n fieldTypePlugins,\n type\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: type,\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const resolverFactoryParams = { model, fieldTypePlugins };\n\n const result = {\n Query: {\n [`get${model.singularApiName}`]: resolveGet(resolverFactoryParams)\n },\n ...fieldResolvers\n };\n if (type !== \"manage\") {\n return result;\n }\n return {\n ...result,\n Mutation: {\n [`update${model.singularApiName}`]:\n normalizeGraphQlInput(resolveUpdate)(resolverFactoryParams)\n }\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,uBAAgD,GAAGA,CAAC;EAC7DC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAK;EACF,IAAIF,KAAK,CAACG,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACf,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAGV,2BAA2B,CAAC;IACrDW,YAAY,EAAEN,IAAI;IAClBH,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMQ,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEV,KAAK,CAACW,eAAe;IAClCR,MAAM,EAAEH,KAAK,CAACG,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAG;IAAEb,KAAK;IAAEC;EAAiB,CAAC;EAEzD,MAAMa,MAAM,GAAG;IACXT,KAAK,EAAE;MACH,CAAC,MAAML,KAAK,CAACW,eAAe,EAAE,GAAGjB,UAAU,CAACmB,qBAAqB;IACrE,CAAC;IACD,GAAGJ;EACP,CAAC;EACD,IAAIP,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOY,MAAM;EACjB;EACA,OAAO;IACH,GAAGA,MAAM;IACTR,QAAQ,EAAE;MACN,CAAC,SAASN,KAAK,CAACW,eAAe,EAAE,GAC7Bf,qBAAqB,CAACD,aAAa,CAAC,CAACkB,qBAAqB;IAClE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["resolveGet","resolveUpdate","normalizeGraphQlInput","createFieldResolversFactory","createSingularResolvers","models","model","fieldRegistry","type","fields","length","Query","Mutation","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolverFactoryParams","result"],"sources":["createSingularResolvers.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/singular/resolveGet.js\";\nimport { resolveUpdate } from \"./resolvers/singular/resolveUpdate.js\";\nimport { normalizeGraphQlInput } from \"./resolvers/manage/normalizeGraphQlInput.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateSingularResolversParams): any;\n}\n\nexport const createSingularResolvers: CreateSingularResolvers = ({\n models,\n model,\n fieldRegistry,\n type\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: type,\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const resolverFactoryParams = { model, fieldRegistry };\n\n const result = {\n Query: {\n [`get${model.singularApiName}`]: resolveGet(resolverFactoryParams)\n },\n ...fieldResolvers\n };\n if (type !== \"manage\") {\n return result;\n }\n return {\n ...result,\n Mutation: {\n [`update${model.singularApiName}`]:\n normalizeGraphQlInput(resolveUpdate)(resolverFactoryParams)\n }\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,2BAA2B;AAepC,OAAO,MAAMC,uBAAgD,GAAGA,CAAC;EAC7DC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAK;EACF,IAAIF,KAAK,CAACG,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACf,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAGV,2BAA2B,CAAC;IACrDW,YAAY,EAAEN,IAAI;IAClBH,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMQ,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEV,KAAK,CAACW,eAAe;IAClCR,MAAM,EAAEH,KAAK,CAACG,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAG;IAAEb,KAAK;IAAEC;EAAc,CAAC;EAEtD,MAAMa,MAAM,GAAG;IACXT,KAAK,EAAE;MACH,CAAC,MAAML,KAAK,CAACW,eAAe,EAAE,GAAGjB,UAAU,CAACmB,qBAAqB;IACrE,CAAC;IACD,GAAGJ;EACP,CAAC;EACD,IAAIP,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOY,MAAM;EACjB;EACA,OAAO;IACH,GAAGA,MAAM;IACTR,QAAQ,EAAE;MACN,CAAC,SAASN,KAAK,CAACW,eAAe,EAAE,GAC7Bf,qBAAqB,CAACD,aAAa,CAAC,CAACkB,qBAAqB;IAClE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from "../../types/index.js";
1
+ import type { ApiEndpoint, CmsModel } from "../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
2
3
  interface CreateSingularSDLParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
- fieldTypePlugins: CmsFieldTypePlugins;
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
6
7
  type: ApiEndpoint;
7
8
  }
8
9
  interface CreateSingularSDL {
@@ -4,14 +4,14 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
4
4
  export const createSingularSDL = ({
5
5
  models,
6
6
  model,
7
- fieldTypePlugins,
7
+ fieldRegistry,
8
8
  type
9
9
  }) => {
10
10
  const inputFields = renderInputFields({
11
11
  models,
12
12
  model,
13
13
  fields: model.fields,
14
- fieldTypePlugins
14
+ fieldRegistry
15
15
  });
16
16
  if (inputFields.length === 0) {
17
17
  return "";
@@ -21,7 +21,7 @@ export const createSingularSDL = ({
21
21
  model,
22
22
  fields: model.fields,
23
23
  type,
24
- fieldTypePlugins
24
+ fieldRegistry
25
25
  });
26
26
  const {
27
27
  singularApiName: singularName
@@ -1 +1 @@
1
- {"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","fieldTypePlugins","type","inputFields","fields","length","singularApiName","singularName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","read","description","typeDefs"],"sources":["createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldTypePlugins,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,iBAAiB,EAAEC,wBAAwB;AAapD,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,WAAW,GAAGT,iBAAiB,CAAC;IAClCK,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBH;EACJ,CAAC,CAAC;EACF,IAAIE,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACb;EAEA,MAAMD,MAAM,GAAGT,YAAY,CAAC;IACxBI,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBF,IAAI;IACJD;EACJ,CAAC,CAAC;EAEF,MAAM;IAAEK,eAAe,EAAEC;EAAa,CAAC,GAAGP,KAAK;EAE/C,MAAMQ,cAAc,GAAGL,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAEhE,MAAMC,sBAAsB,GAAGhB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IAC1D,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,kBAAkB;IAEnF,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;EAEb,MAAMI,iBAAiB,GAAGnB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IACrD,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa;IAE9E,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACA,MAAMK,IAAI,GAAG;AACjB,aAAahB,KAAK,CAACiB,WAAW,IAAIV,YAAY;AAC9C;AACA,eAAeA,YAAY;AAC3B,cAAcH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;AACtE;AACA;AACA,eAAeJ,YAAY;AAC3B;AACA;AACA;AACA,cAAcQ,iBAAiB;AAC/B,sBAAsBR,YAAY;AAClC;AACA;AACA;AACA,UAAUH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,gBAAgBJ,YAAY;AAC5B;AACA;AACA;AACA,eAAeA,YAAY;AAC3B,oBAAoBA,YAAY;AAChC;AACA;AACA;AACA;AACA,iBAAiBA,YAAY,KAAKA,YAAY;AAC9C;AACA;AACA,KAAK;EACD,IAAIL,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOc,IAAI;EACf;EACA,OAAO;AACX,UAAUA,IAAI;AACd;AACA,UAAUb,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AACrD;AACA,gBAAgBJ,YAAY;AAC5B,cAAcC,cAAc,IAAI,gBAAgB;AAChD;AACA;AACA,gBAAgBD,YAAY;AAC5B,cAAcK,sBAAsB;AACpC,sBAAsBL,YAAY;AAClC;AACA;AACA;AACA,oBAAoBA,YAAY,UAAUA,YAAY,iDAAiDA,YAAY;AACnH;AACA,KAAK;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","fieldRegistry","type","inputFields","fields","length","singularApiName","singularName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","read","description","typeDefs"],"sources":["createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,iBAAiB,EAAEC,wBAAwB;AAcpD,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,WAAW,GAAGT,iBAAiB,CAAC;IAClCK,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBH;EACJ,CAAC,CAAC;EACF,IAAIE,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACb;EAEA,MAAMD,MAAM,GAAGT,YAAY,CAAC;IACxBI,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBF,IAAI;IACJD;EACJ,CAAC,CAAC;EAEF,MAAM;IAAEK,eAAe,EAAEC;EAAa,CAAC,GAAGP,KAAK;EAE/C,MAAMQ,cAAc,GAAGL,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAEhE,MAAMC,sBAAsB,GAAGhB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IAC1D,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,kBAAkB;IAEnF,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;EAEb,MAAMI,iBAAiB,GAAGnB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IACrD,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa;IAE9E,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACA,MAAMK,IAAI,GAAG;AACjB,aAAahB,KAAK,CAACiB,WAAW,IAAIV,YAAY;AAC9C;AACA,eAAeA,YAAY;AAC3B,cAAcH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;AACtE;AACA;AACA,eAAeJ,YAAY;AAC3B;AACA;AACA;AACA,cAAcQ,iBAAiB;AAC/B,sBAAsBR,YAAY;AAClC;AACA;AACA;AACA,UAAUH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,gBAAgBJ,YAAY;AAC5B;AACA;AACA;AACA,eAAeA,YAAY;AAC3B,oBAAoBA,YAAY;AAChC;AACA;AACA;AACA;AACA,iBAAiBA,YAAY,KAAKA,YAAY;AAC9C;AACA;AACA,KAAK;EACD,IAAIL,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOc,IAAI;EACf;EACA,OAAO;AACX,UAAUA,IAAI;AACd;AACA,UAAUb,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AACrD;AACA,gBAAgBJ,YAAY;AAC5B,cAAcC,cAAc,IAAI,gBAAgB;AAChD;AACA;AACA,gBAAgBD,YAAY;AAC5B,cAAcK,sBAAsB;AACpC,sBAAsBL,YAAY;AAClC;AACA;AACA;AACA,oBAAoBA,YAAY,UAAUA,YAAY,iDAAiDA,YAAY;AACnH;AACA,KAAK;AACL,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import set from "lodash/set.js";
2
2
  import { ContentEntryTraverserProvider } from "../../../../features/contentEntry/ContentEntryTraverser/index.js";
3
-
4
3
  /**
5
4
  * This decorates a resolver factory, and normalizes `args.data`.
6
5
  * This is necessary to separate GraphQL related hacks (like lack of support for union input type)
@@ -16,7 +15,7 @@ export const normalizeGraphQlInput = resolverFactory => {
16
15
  }
17
16
  const traverserProvider = context.container.resolve(ContentEntryTraverserProvider);
18
17
  const traverser = await traverserProvider.getTraverser(params.model.modelId);
19
- const normalizer = new GraphQlInputNormalizer(traverser, params.fieldTypePlugins);
18
+ const normalizer = new GraphQlInputNormalizer(traverser, params.fieldRegistry);
20
19
  const normalizedInput = await normalizer.normalize(params.model, input);
21
20
  return resolver(parent, {
22
21
  ...args,
@@ -26,9 +25,9 @@ export const normalizeGraphQlInput = resolverFactory => {
26
25
  };
27
26
  };
28
27
  class GraphQlInputNormalizer {
29
- constructor(traverser, fieldTypePlugins) {
28
+ constructor(traverser, fieldRegistry) {
30
29
  this.traverser = traverser;
31
- this.fieldTypePlugins = fieldTypePlugins;
30
+ this.fieldRegistry = fieldRegistry;
32
31
  }
33
32
  async normalize(model, data) {
34
33
  const values = structuredClone(data.values || {});
@@ -37,9 +36,9 @@ class GraphQlInputNormalizer {
37
36
  value,
38
37
  field
39
38
  }) => {
40
- const fieldPlugin = this.fieldTypePlugins[field.type];
41
- if (fieldPlugin && typeof fieldPlugin.manage.normalizeInput === "function") {
42
- const normalizedValue = await fieldPlugin.manage.normalizeInput({
39
+ const fieldImpl = this.fieldRegistry.get(field.type);
40
+ if (fieldImpl && typeof fieldImpl.manage.normalizeInput === "function") {
41
+ const normalizedValue = await fieldImpl.manage.normalizeInput({
43
42
  model,
44
43
  field,
45
44
  input: value
@@ -1 +1 @@
1
- {"version":3,"names":["set","ContentEntryTraverserProvider","normalizeGraphQlInput","resolverFactory","params","resolver","parent","args","context","info","input","data","traverserProvider","container","resolve","traverser","getTraverser","model","modelId","normalizer","GraphQlInputNormalizer","fieldTypePlugins","normalizedInput","normalize","constructor","values","structuredClone","traverse","path","value","field","fieldPlugin","type","manage","normalizeInput","normalizedValue"],"sources":["normalizeGraphQlInput.ts"],"sourcesContent":["import set from \"lodash/set.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { CmsEntryResolverFactory, CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport type { IContentEntryTraverser } from \"~/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js\";\nimport { ContentEntryTraverserProvider } from \"~/features/contentEntry/ContentEntryTraverser/index.js\";\n\n/**\n * This decorates a resolver factory, and normalizes `args.data`.\n * This is necessary to separate GraphQL related hacks (like lack of support for union input type)\n * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.\n */\nexport const normalizeGraphQlInput = (\n resolverFactory: CmsEntryResolverFactory\n): CmsEntryResolverFactory => {\n return params => {\n const resolver = resolverFactory(params);\n\n return async (parent, args, context, info) => {\n const input = args.data;\n\n if (!input) {\n return resolver(parent, args, context, info);\n }\n\n const traverserProvider = context.container.resolve(ContentEntryTraverserProvider);\n const traverser = await traverserProvider.getTraverser(params.model.modelId);\n const normalizer = new GraphQlInputNormalizer(traverser, params.fieldTypePlugins);\n const normalizedInput = await normalizer.normalize(params.model, input);\n\n return resolver(parent, { ...args, data: normalizedInput }, context, info);\n };\n };\n};\n\nclass GraphQlInputNormalizer {\n private readonly traverser: IContentEntryTraverser;\n private readonly fieldTypePlugins: CmsFieldTypePlugins;\n\n constructor(traverser: IContentEntryTraverser, fieldTypePlugins: CmsFieldTypePlugins) {\n this.traverser = traverser;\n this.fieldTypePlugins = fieldTypePlugins;\n }\n\n async normalize(model: CmsModel, data: GenericRecord<string>) {\n const values = structuredClone(data.values || {});\n\n await this.traverser.traverse(values, async ({ path, value, field }) => {\n const fieldPlugin = this.fieldTypePlugins[field.type];\n if (fieldPlugin && typeof fieldPlugin.manage.normalizeInput === \"function\") {\n const normalizedValue = await fieldPlugin.manage.normalizeInput({\n model,\n field,\n input: value\n });\n\n set(values, path, normalizedValue);\n }\n });\n\n return { ...data, values };\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAI/B,SAASC,6BAA6B;;AAEtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAC9BC,eAAwC,IACd;EAC1B,OAAOC,MAAM,IAAI;IACb,MAAMC,QAAQ,GAAGF,eAAe,CAACC,MAAM,CAAC;IAExC,OAAO,OAAOE,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,KAAK;MAC1C,MAAMC,KAAK,GAAGH,IAAI,CAACI,IAAI;MAEvB,IAAI,CAACD,KAAK,EAAE;QACR,OAAOL,QAAQ,CAACC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,CAAC;MAChD;MAEA,MAAMG,iBAAiB,GAAGJ,OAAO,CAACK,SAAS,CAACC,OAAO,CAACb,6BAA6B,CAAC;MAClF,MAAMc,SAAS,GAAG,MAAMH,iBAAiB,CAACI,YAAY,CAACZ,MAAM,CAACa,KAAK,CAACC,OAAO,CAAC;MAC5E,MAAMC,UAAU,GAAG,IAAIC,sBAAsB,CAACL,SAAS,EAAEX,MAAM,CAACiB,gBAAgB,CAAC;MACjF,MAAMC,eAAe,GAAG,MAAMH,UAAU,CAACI,SAAS,CAACnB,MAAM,CAACa,KAAK,EAAEP,KAAK,CAAC;MAEvE,OAAOL,QAAQ,CAACC,MAAM,EAAE;QAAE,GAAGC,IAAI;QAAEI,IAAI,EAAEW;MAAgB,CAAC,EAAEd,OAAO,EAAEC,IAAI,CAAC;IAC9E,CAAC;EACL,CAAC;AACL,CAAC;AAED,MAAMW,sBAAsB,CAAC;EAIzBI,WAAWA,CAACT,SAAiC,EAAEM,gBAAqC,EAAE;IAClF,IAAI,CAACN,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACM,gBAAgB,GAAGA,gBAAgB;EAC5C;EAEA,MAAME,SAASA,CAACN,KAAe,EAAEN,IAA2B,EAAE;IAC1D,MAAMc,MAAM,GAAGC,eAAe,CAACf,IAAI,CAACc,MAAM,IAAI,CAAC,CAAC,CAAC;IAEjD,MAAM,IAAI,CAACV,SAAS,CAACY,QAAQ,CAACF,MAAM,EAAE,OAAO;MAAEG,IAAI;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MACpE,MAAMC,WAAW,GAAG,IAAI,CAACV,gBAAgB,CAACS,KAAK,CAACE,IAAI,CAAC;MACrD,IAAID,WAAW,IAAI,OAAOA,WAAW,CAACE,MAAM,CAACC,cAAc,KAAK,UAAU,EAAE;QACxE,MAAMC,eAAe,GAAG,MAAMJ,WAAW,CAACE,MAAM,CAACC,cAAc,CAAC;UAC5DjB,KAAK;UACLa,KAAK;UACLpB,KAAK,EAAEmB;QACX,CAAC,CAAC;QAEF7B,GAAG,CAACyB,MAAM,EAAEG,IAAI,EAAEO,eAAe,CAAC;MACtC;IACJ,CAAC,CAAC;IAEF,OAAO;MAAE,GAAGxB,IAAI;MAAEc;IAAO,CAAC;EAC9B;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["set","ContentEntryTraverserProvider","normalizeGraphQlInput","resolverFactory","params","resolver","parent","args","context","info","input","data","traverserProvider","container","resolve","traverser","getTraverser","model","modelId","normalizer","GraphQlInputNormalizer","fieldRegistry","normalizedInput","normalize","constructor","values","structuredClone","traverse","path","value","field","fieldImpl","get","type","manage","normalizeInput","normalizedValue"],"sources":["normalizeGraphQlInput.ts"],"sourcesContent":["import set from \"lodash/set.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { CmsEntryResolverFactory, CmsModel } from \"~/types/index.js\";\nimport type { IContentEntryTraverser } from \"~/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js\";\nimport { ContentEntryTraverserProvider } from \"~/features/contentEntry/ContentEntryTraverser/index.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\n/**\n * This decorates a resolver factory, and normalizes `args.data`.\n * This is necessary to separate GraphQL related hacks (like lack of support for union input type)\n * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.\n */\nexport const normalizeGraphQlInput = (\n resolverFactory: CmsEntryResolverFactory\n): CmsEntryResolverFactory => {\n return params => {\n const resolver = resolverFactory(params);\n\n return async (parent, args, context, info) => {\n const input = args.data;\n\n if (!input) {\n return resolver(parent, args, context, info);\n }\n\n const traverserProvider = context.container.resolve(ContentEntryTraverserProvider);\n const traverser = await traverserProvider.getTraverser(params.model.modelId);\n const normalizer = new GraphQlInputNormalizer(traverser, params.fieldRegistry);\n const normalizedInput = await normalizer.normalize(params.model, input);\n\n return resolver(parent, { ...args, data: normalizedInput }, context, info);\n };\n };\n};\n\nclass GraphQlInputNormalizer {\n private readonly traverser: IContentEntryTraverser;\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n\n constructor(\n traverser: IContentEntryTraverser,\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface\n ) {\n this.traverser = traverser;\n this.fieldRegistry = fieldRegistry;\n }\n\n async normalize(model: CmsModel, data: GenericRecord<string>) {\n const values = structuredClone(data.values || {});\n\n await this.traverser.traverse(values, async ({ path, value, field }) => {\n const fieldImpl = this.fieldRegistry.get(field.type);\n if (fieldImpl && typeof fieldImpl.manage.normalizeInput === \"function\") {\n const normalizedValue = await fieldImpl.manage.normalizeInput({\n model,\n field,\n input: value\n });\n\n set(values, path, normalizedValue);\n }\n });\n\n return { ...data, values };\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAI/B,SAASC,6BAA6B;AAGtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAC9BC,eAAwC,IACd;EAC1B,OAAOC,MAAM,IAAI;IACb,MAAMC,QAAQ,GAAGF,eAAe,CAACC,MAAM,CAAC;IAExC,OAAO,OAAOE,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,KAAK;MAC1C,MAAMC,KAAK,GAAGH,IAAI,CAACI,IAAI;MAEvB,IAAI,CAACD,KAAK,EAAE;QACR,OAAOL,QAAQ,CAACC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,CAAC;MAChD;MAEA,MAAMG,iBAAiB,GAAGJ,OAAO,CAACK,SAAS,CAACC,OAAO,CAACb,6BAA6B,CAAC;MAClF,MAAMc,SAAS,GAAG,MAAMH,iBAAiB,CAACI,YAAY,CAACZ,MAAM,CAACa,KAAK,CAACC,OAAO,CAAC;MAC5E,MAAMC,UAAU,GAAG,IAAIC,sBAAsB,CAACL,SAAS,EAAEX,MAAM,CAACiB,aAAa,CAAC;MAC9E,MAAMC,eAAe,GAAG,MAAMH,UAAU,CAACI,SAAS,CAACnB,MAAM,CAACa,KAAK,EAAEP,KAAK,CAAC;MAEvE,OAAOL,QAAQ,CAACC,MAAM,EAAE;QAAE,GAAGC,IAAI;QAAEI,IAAI,EAAEW;MAAgB,CAAC,EAAEd,OAAO,EAAEC,IAAI,CAAC;IAC9E,CAAC;EACL,CAAC;AACL,CAAC;AAED,MAAMW,sBAAsB,CAAC;EAIzBI,WAAWA,CACPT,SAAiC,EACjCM,aAAuD,EACzD;IACE,IAAI,CAACN,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACM,aAAa,GAAGA,aAAa;EACtC;EAEA,MAAME,SAASA,CAACN,KAAe,EAAEN,IAA2B,EAAE;IAC1D,MAAMc,MAAM,GAAGC,eAAe,CAACf,IAAI,CAACc,MAAM,IAAI,CAAC,CAAC,CAAC;IAEjD,MAAM,IAAI,CAACV,SAAS,CAACY,QAAQ,CAACF,MAAM,EAAE,OAAO;MAAEG,IAAI;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MACpE,MAAMC,SAAS,GAAG,IAAI,CAACV,aAAa,CAACW,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC;MACpD,IAAIF,SAAS,IAAI,OAAOA,SAAS,CAACG,MAAM,CAACC,cAAc,KAAK,UAAU,EAAE;QACpE,MAAMC,eAAe,GAAG,MAAML,SAAS,CAACG,MAAM,CAACC,cAAc,CAAC;UAC1DlB,KAAK;UACLa,KAAK;UACLpB,KAAK,EAAEmB;QACX,CAAC,CAAC;QAEF7B,GAAG,CAACyB,MAAM,EAAEG,IAAI,EAAEQ,eAAe,CAAC;MACtC;IACJ,CAAC,CAAC;IAEF,OAAO;MAAE,GAAGzB,IAAI;MAAEc;IAAO,CAAC;EAC9B;AACJ","ignoreList":[]}