@webiny/api-headless-cms 6.1.0 → 6.2.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,7 +1,8 @@
1
- import type { ApiEndpoint, CmsContext, CmsFieldTypePlugins, CmsModel } from "../types/index.js";
1
+ import type { ApiEndpoint, CmsContext, CmsModel } from "../types/index.js";
2
2
  import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
3
3
  import type { IGraphQLSchemaPlugin } from "@webiny/handler-graphql";
4
4
  import type { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types.js";
5
+ import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
5
6
  interface CreatePluginCallableParams {
6
7
  schema: GraphQLSchemaDefinition<CmsContext>;
7
8
  type: "manage" | "preview" | "read";
@@ -12,7 +13,7 @@ interface CreatePluginCallable {
12
13
  }
13
14
  interface Params {
14
15
  models: CmsModel[];
15
- fieldTypePlugins: CmsFieldTypePlugins;
16
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
16
17
  type: ApiEndpoint;
17
18
  createPlugin?: CreatePluginCallable;
18
19
  }
@@ -16,28 +16,24 @@ const defaultCreatePlugin = ({
16
16
  export const createGraphQLSchemaPluginFromFieldPlugins = params => {
17
17
  const {
18
18
  models,
19
- fieldTypePlugins,
19
+ fieldRegistry,
20
20
  type,
21
21
  createPlugin = defaultCreatePlugin
22
22
  } = params;
23
23
  const apiType = TYPE_MAP[type];
24
24
  const plugins = [];
25
- for (const key in fieldTypePlugins) {
26
- const fieldTypePlugin = fieldTypePlugins[key];
27
- if (!apiType || !fieldTypePlugin[apiType]) {
25
+ for (const fieldTypePlugin of fieldRegistry.getAll()) {
26
+ const api = apiType === "manage" ? fieldTypePlugin.manage : fieldTypePlugin.read;
27
+ if (!apiType || !api) {
28
28
  continue;
29
29
  }
30
- const createSchema = fieldTypePlugin[apiType].createSchema;
31
- // Render gql types generated by field type plugins
30
+ const createSchema = api.createSchema;
32
31
  if (!createSchema) {
33
32
  continue;
34
33
  }
35
34
  const schema = createSchema({
36
35
  models
37
36
  });
38
-
39
- // const plugin = createCmsGraphQLSchemaPlugin(schema);
40
- // plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldTypePlugin.fieldType}`;
41
37
  const plugin = createPlugin({
42
38
  schema,
43
39
  type,
@@ -1 +1 @@
1
- {"version":3,"names":["createCmsGraphQLSchemaPlugin","TYPE_MAP","preview","read","manage","defaultCreatePlugin","schema","type","fieldType","plugin","name","createGraphQLSchemaPluginFromFieldPlugins","params","models","fieldTypePlugins","createPlugin","apiType","plugins","key","fieldTypePlugin","createSchema","push"],"sources":["getSchemaFromFieldPlugins.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext, CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { IGraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\n\nconst TYPE_MAP: Record<string, \"manage\" | \"read\"> = {\n preview: \"read\",\n read: \"read\",\n manage: \"manage\"\n};\n\ninterface CreatePluginCallableParams {\n schema: GraphQLSchemaDefinition<CmsContext>;\n type: \"manage\" | \"preview\" | \"read\";\n fieldType: string;\n}\n\ninterface CreatePluginCallable {\n (params: CreatePluginCallableParams): IGraphQLSchemaPlugin<CmsContext>;\n}\n\nconst defaultCreatePlugin: CreatePluginCallable = ({ schema, type, fieldType }) => {\n const plugin = createCmsGraphQLSchemaPlugin(schema);\n plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldType}`;\n return plugin;\n};\n\ninterface Params {\n models: CmsModel[];\n fieldTypePlugins: CmsFieldTypePlugins;\n type: ApiEndpoint;\n createPlugin?: CreatePluginCallable;\n}\nexport const createGraphQLSchemaPluginFromFieldPlugins = (params: Params) => {\n const { models, fieldTypePlugins, type, createPlugin = defaultCreatePlugin } = params;\n\n const apiType = TYPE_MAP[type];\n\n const plugins: ICmsGraphQLSchemaPlugin[] = [];\n for (const key in fieldTypePlugins) {\n const fieldTypePlugin = fieldTypePlugins[key];\n if (!apiType || !fieldTypePlugin[apiType]) {\n continue;\n }\n const createSchema = fieldTypePlugin[apiType].createSchema;\n // Render gql types generated by field type plugins\n if (!createSchema) {\n continue;\n }\n const schema = createSchema({ models });\n\n // const plugin = createCmsGraphQLSchemaPlugin(schema);\n // plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldTypePlugin.fieldType}`;\n const plugin = createPlugin({\n schema,\n type,\n fieldType: fieldTypePlugin.fieldType\n });\n plugins.push(plugin);\n }\n return plugins;\n};\n"],"mappings":"AAEA,SAASA,4BAA4B;AAIrC,MAAMC,QAA2C,GAAG;EAChDC,OAAO,EAAE,MAAM;EACfC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC;AAYD,MAAMC,mBAAyC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAU,CAAC,KAAK;EAC/E,MAAMC,MAAM,GAAGT,4BAA4B,CAACM,MAAM,CAAC;EACnDG,MAAM,CAACC,IAAI,GAAG,+BAA+BH,IAAI,UAAUC,SAAS,EAAE;EACtE,OAAOC,MAAM;AACjB,CAAC;AAQD,OAAO,MAAME,yCAAyC,GAAIC,MAAc,IAAK;EACzE,MAAM;IAAEC,MAAM;IAAEC,gBAAgB;IAAEP,IAAI;IAAEQ,YAAY,GAAGV;EAAoB,CAAC,GAAGO,MAAM;EAErF,MAAMI,OAAO,GAAGf,QAAQ,CAACM,IAAI,CAAC;EAE9B,MAAMU,OAAkC,GAAG,EAAE;EAC7C,KAAK,MAAMC,GAAG,IAAIJ,gBAAgB,EAAE;IAChC,MAAMK,eAAe,GAAGL,gBAAgB,CAACI,GAAG,CAAC;IAC7C,IAAI,CAACF,OAAO,IAAI,CAACG,eAAe,CAACH,OAAO,CAAC,EAAE;MACvC;IACJ;IACA,MAAMI,YAAY,GAAGD,eAAe,CAACH,OAAO,CAAC,CAACI,YAAY;IAC1D;IACA,IAAI,CAACA,YAAY,EAAE;MACf;IACJ;IACA,MAAMd,MAAM,GAAGc,YAAY,CAAC;MAAEP;IAAO,CAAC,CAAC;;IAEvC;IACA;IACA,MAAMJ,MAAM,GAAGM,YAAY,CAAC;MACxBT,MAAM;MACNC,IAAI;MACJC,SAAS,EAAEW,eAAe,CAACX;IAC/B,CAAC,CAAC;IACFS,OAAO,CAACI,IAAI,CAACZ,MAAM,CAAC;EACxB;EACA,OAAOQ,OAAO;AAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createCmsGraphQLSchemaPlugin","TYPE_MAP","preview","read","manage","defaultCreatePlugin","schema","type","fieldType","plugin","name","createGraphQLSchemaPluginFromFieldPlugins","params","models","fieldRegistry","createPlugin","apiType","plugins","fieldTypePlugin","getAll","api","createSchema","push"],"sources":["getSchemaFromFieldPlugins.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext, CmsModel } from \"~/types/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { IGraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\nconst TYPE_MAP: Record<string, \"manage\" | \"read\"> = {\n preview: \"read\",\n read: \"read\",\n manage: \"manage\"\n};\n\ninterface CreatePluginCallableParams {\n schema: GraphQLSchemaDefinition<CmsContext>;\n type: \"manage\" | \"preview\" | \"read\";\n fieldType: string;\n}\n\ninterface CreatePluginCallable {\n (params: CreatePluginCallableParams): IGraphQLSchemaPlugin<CmsContext>;\n}\n\nconst defaultCreatePlugin: CreatePluginCallable = ({ schema, type, fieldType }) => {\n const plugin = createCmsGraphQLSchemaPlugin(schema);\n plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldType}`;\n return plugin;\n};\n\ninterface Params {\n models: CmsModel[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n createPlugin?: CreatePluginCallable;\n}\nexport const createGraphQLSchemaPluginFromFieldPlugins = (params: Params) => {\n const { models, fieldRegistry, type, createPlugin = defaultCreatePlugin } = params;\n\n const apiType = TYPE_MAP[type];\n\n const plugins: ICmsGraphQLSchemaPlugin[] = [];\n for (const fieldTypePlugin of fieldRegistry.getAll()) {\n const api = apiType === \"manage\" ? fieldTypePlugin.manage : fieldTypePlugin.read;\n if (!apiType || !api) {\n continue;\n }\n const createSchema = api.createSchema;\n if (!createSchema) {\n continue;\n }\n const schema = createSchema({ models });\n\n const plugin = createPlugin({\n schema,\n type,\n fieldType: fieldTypePlugin.fieldType\n });\n plugins.push(plugin);\n }\n return plugins;\n};\n"],"mappings":"AAEA,SAASA,4BAA4B;AAKrC,MAAMC,QAA2C,GAAG;EAChDC,OAAO,EAAE,MAAM;EACfC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC;AAYD,MAAMC,mBAAyC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAU,CAAC,KAAK;EAC/E,MAAMC,MAAM,GAAGT,4BAA4B,CAACM,MAAM,CAAC;EACnDG,MAAM,CAACC,IAAI,GAAG,+BAA+BH,IAAI,UAAUC,SAAS,EAAE;EACtE,OAAOC,MAAM;AACjB,CAAC;AAQD,OAAO,MAAME,yCAAyC,GAAIC,MAAc,IAAK;EACzE,MAAM;IAAEC,MAAM;IAAEC,aAAa;IAAEP,IAAI;IAAEQ,YAAY,GAAGV;EAAoB,CAAC,GAAGO,MAAM;EAElF,MAAMI,OAAO,GAAGf,QAAQ,CAACM,IAAI,CAAC;EAE9B,MAAMU,OAAkC,GAAG,EAAE;EAC7C,KAAK,MAAMC,eAAe,IAAIJ,aAAa,CAACK,MAAM,CAAC,CAAC,EAAE;IAClD,MAAMC,GAAG,GAAGJ,OAAO,KAAK,QAAQ,GAAGE,eAAe,CAACd,MAAM,GAAGc,eAAe,CAACf,IAAI;IAChF,IAAI,CAACa,OAAO,IAAI,CAACI,GAAG,EAAE;MAClB;IACJ;IACA,MAAMC,YAAY,GAAGD,GAAG,CAACC,YAAY;IACrC,IAAI,CAACA,YAAY,EAAE;MACf;IACJ;IACA,MAAMf,MAAM,GAAGe,YAAY,CAAC;MAAER;IAAO,CAAC,CAAC;IAEvC,MAAMJ,MAAM,GAAGM,YAAY,CAAC;MACxBT,MAAM;MACNC,IAAI;MACJC,SAAS,EAAEU,eAAe,CAACV;IAC/B,CAAC,CAAC;IACFS,OAAO,CAACK,IAAI,CAACb,MAAM,CAAC;EACxB;EACA,OAAOQ,OAAO;AAClB,CAAC","ignoreList":[]}
@@ -1,10 +1,11 @@
1
- import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
1
+ import type { ApiEndpoint, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
2
3
  interface RenderFieldsParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
6
  fields: CmsModelField[];
6
7
  type: ApiEndpoint;
7
- fieldTypePlugins: CmsFieldTypePlugins;
8
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
8
9
  }
9
10
  interface RenderFields {
10
11
  (params: RenderFieldsParams): CmsModelFieldDefinition[];
@@ -13,5 +14,5 @@ export declare const renderFields: RenderFields;
13
14
  interface RenderFieldParams extends Omit<RenderFieldsParams, "fields"> {
14
15
  field: CmsModelField;
15
16
  }
16
- export declare const renderField: ({ models, model, type, field, fieldTypePlugins }: RenderFieldParams) => CmsModelFieldDefinition | null;
17
+ export declare const renderField: ({ models, model, type, field, fieldRegistry }: RenderFieldParams) => CmsModelFieldDefinition | null;
17
18
  export {};
@@ -1,17 +1,24 @@
1
1
  import { getBaseFieldType } from "./getBaseFieldType.js";
2
+ const getFieldApi = (field, type) => {
3
+ if (type === "manage") {
4
+ return field.manage;
5
+ }
6
+ /* "read" and "preview" both use the read API. */
7
+ return field.read;
8
+ };
2
9
  export const renderFields = ({
3
10
  models,
4
11
  model,
5
12
  fields,
6
13
  type,
7
- fieldTypePlugins
14
+ fieldRegistry
8
15
  }) => {
9
16
  return fields.map(field => renderField({
10
17
  models,
11
18
  model,
12
19
  type,
13
20
  field,
14
- fieldTypePlugins
21
+ fieldRegistry
15
22
  })).filter(Boolean);
16
23
  };
17
24
  export const renderField = ({
@@ -19,23 +26,21 @@ export const renderField = ({
19
26
  model,
20
27
  type,
21
28
  field,
22
- fieldTypePlugins
29
+ fieldRegistry
23
30
  }) => {
24
- const plugin = fieldTypePlugins[getBaseFieldType(field)];
31
+ const plugin = fieldRegistry.get(getBaseFieldType(field));
25
32
  if (!plugin) {
26
- // Let's not render the field if it does not exist in the field plugins.
27
33
  return null;
28
- } else if (!plugin[type]) {
29
- throw new Error(`Missing "${type}" plugin for field type "${field.type}".`);
30
34
  }
35
+ const api = getFieldApi(plugin, type);
31
36
  const {
32
37
  createTypeField
33
- } = plugin[type];
38
+ } = api;
34
39
  const defs = createTypeField({
35
40
  models,
36
41
  model,
37
42
  field,
38
- fieldTypePlugins
43
+ fieldRegistry
39
44
  });
40
45
  if (!defs) {
41
46
  return null;
@@ -1 +1 @@
1
- {"version":3,"names":["getBaseFieldType","renderFields","models","model","fields","type","fieldTypePlugins","map","field","renderField","filter","Boolean","plugin","Error","createTypeField","defs"],"sources":["renderFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\ninterface RenderFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n models,\n model,\n fields,\n type,\n fieldTypePlugins\n}): CmsModelFieldDefinition[] => {\n return fields\n .map(field => renderField({ models, model, type, field, fieldTypePlugins }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends Omit<RenderFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n models,\n model,\n type,\n field,\n fieldTypePlugins\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n if (!plugin) {\n // Let's not render the field if it does not exist in the field plugins.\n return null;\n } else if (!plugin[type]) {\n throw new Error(`Missing \"${type}\" plugin for field type \"${field.type}\".`);\n }\n const { createTypeField } = plugin[type] as CmsModelFieldToGraphQLPlugin[\"manage\"];\n const defs = createTypeField({\n models,\n model,\n field,\n fieldTypePlugins\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"],"mappings":"AAQA,SAASA,gBAAgB;AAczB,OAAO,MAAMC,YAA0B,GAAGA,CAAC;EACvCC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC,IAAI;EACJC;AACJ,CAAC,KAAgC;EAC7B,OAAOF,MAAM,CACRG,GAAG,CAACC,KAAK,IAAIC,WAAW,CAAC;IAAEP,MAAM;IAAEC,KAAK;IAAEE,IAAI;IAAEG,KAAK;IAAEF;EAAiB,CAAC,CAAC,CAAC,CAC3EI,MAAM,CAACC,OAAO,CAAC;AACxB,CAAC;AAMD,OAAO,MAAMF,WAAW,GAAGA,CAAC;EACxBP,MAAM;EACNC,KAAK;EACLE,IAAI;EACJG,KAAK;EACLF;AACe,CAAC,KAAqC;EACrD,MAAMM,MAAM,GAAGN,gBAAgB,CAACN,gBAAgB,CAACQ,KAAK,CAAC,CAAC;EACxD,IAAI,CAACI,MAAM,EAAE;IACT;IACA,OAAO,IAAI;EACf,CAAC,MAAM,IAAI,CAACA,MAAM,CAACP,IAAI,CAAC,EAAE;IACtB,MAAM,IAAIQ,KAAK,CAAC,YAAYR,IAAI,4BAA4BG,KAAK,CAACH,IAAI,IAAI,CAAC;EAC/E;EACA,MAAM;IAAES;EAAgB,CAAC,GAAGF,MAAM,CAACP,IAAI,CAA2C;EAClF,MAAMU,IAAI,GAAGD,eAAe,CAAC;IACzBZ,MAAM;IACNC,KAAK;IACLK,KAAK;IACLF;EACJ,CAAC,CAAC;EAEF,IAAI,CAACS,IAAI,EAAE;IACP,OAAO,IAAI;EACf,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACjC,OAAO;MACHX,MAAM,EAAEW;IACZ,CAAC;EACL;EAEA,OAAOA,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBaseFieldType","getFieldApi","field","type","manage","read","renderFields","models","model","fields","fieldRegistry","map","renderField","filter","Boolean","plugin","get","api","createTypeField","defs"],"sources":["renderFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\nconst getFieldApi = (\n field: CmsModelFieldToGraphQL.Interface,\n type: ApiEndpoint\n): CmsModelFieldToGraphQL.ManageApi => {\n if (type === \"manage\") {\n return field.manage;\n }\n /* \"read\" and \"preview\" both use the read API. */\n return field.read as CmsModelFieldToGraphQL.ManageApi;\n};\n\ninterface RenderFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n models,\n model,\n fields,\n type,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields\n .map(field => renderField({ models, model, type, field, fieldRegistry }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends Omit<RenderFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n models,\n model,\n type,\n field,\n fieldRegistry\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin) {\n return null;\n }\n const api = getFieldApi(plugin, type);\n const { createTypeField } = api;\n const defs = createTypeField({\n models,\n model,\n field,\n fieldRegistry\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"],"mappings":"AAMA,SAASA,gBAAgB;AAMzB,MAAMC,WAAW,GAAGA,CAChBC,KAAuC,EACvCC,IAAiB,KACkB;EACnC,IAAIA,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOD,KAAK,CAACE,MAAM;EACvB;EACA;EACA,OAAOF,KAAK,CAACG,IAAI;AACrB,CAAC;AAcD,OAAO,MAAMC,YAA0B,GAAGA,CAAC;EACvCC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNN,IAAI;EACJO;AACJ,CAAC,KAAgC;EAC7B,OAAOD,MAAM,CACRE,GAAG,CAACT,KAAK,IAAIU,WAAW,CAAC;IAAEL,MAAM;IAAEC,KAAK;IAAEL,IAAI;IAAED,KAAK;IAAEQ;EAAc,CAAC,CAAC,CAAC,CACxEG,MAAM,CAACC,OAAO,CAAC;AACxB,CAAC;AAMD,OAAO,MAAMF,WAAW,GAAGA,CAAC;EACxBL,MAAM;EACNC,KAAK;EACLL,IAAI;EACJD,KAAK;EACLQ;AACe,CAAC,KAAqC;EACrD,MAAMK,MAAM,GAAGL,aAAa,CAACM,GAAG,CAAChB,gBAAgB,CAACE,KAAK,CAAC,CAAC;EACzD,IAAI,CAACa,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EACA,MAAME,GAAG,GAAGhB,WAAW,CAACc,MAAM,EAAEZ,IAAI,CAAC;EACrC,MAAM;IAAEe;EAAgB,CAAC,GAAGD,GAAG;EAC/B,MAAME,IAAI,GAAGD,eAAe,CAAC;IACzBX,MAAM;IACNC,KAAK;IACLN,KAAK;IACLQ;EACJ,CAAC,CAAC;EAEF,IAAI,CAACS,IAAI,EAAE;IACP,OAAO,IAAI;EACf,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACjC,OAAO;MACHV,MAAM,EAAEU;IACZ,CAAC;EACL;EAEA,OAAOA,IAAI;AACf,CAAC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
- import type { CmsFieldTypePlugins, CmsModelField } from "../types/index.js";
1
+ import type { CmsModelField } from "../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
2
3
  interface RenderGetFilterFieldsParams {
3
4
  fields: CmsModelField[];
4
- fieldTypePlugins: CmsFieldTypePlugins;
5
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
5
6
  }
6
7
  interface RenderGetFilterFieldsResponse {
7
8
  baseFilters: string[];
@@ -1,7 +1,7 @@
1
1
  import { getBaseFieldType } from "./getBaseFieldType.js";
2
2
  export const renderGetFilterFields = ({
3
3
  fields,
4
- fieldTypePlugins
4
+ fieldRegistry
5
5
  }) => {
6
6
  const baseFilters = ["id: ID", "entryId: String"];
7
7
  const fieldFilters = [];
@@ -12,7 +12,7 @@ export const renderGetFilterFields = ({
12
12
  // that contains a field, for which we don't have a plugin registered on the backend. For example, user
13
13
  // could've just removed the plugin from the backend.
14
14
  const baseType = getBaseFieldType(field);
15
- const plugin = fieldTypePlugins[baseType];
15
+ const plugin = fieldRegistry.get(baseType);
16
16
  if (!plugin?.isSearchable) {
17
17
  continue;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getBaseFieldType","renderGetFilterFields","fields","fieldTypePlugins","baseFilters","fieldFilters","field","baseType","plugin","isSearchable","createGetFilters","read","push","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderGetFilterFields.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\ninterface RenderGetFilterFieldsParams {\n fields: CmsModelField[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface RenderGetFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderGetFilterFields {\n (params: RenderGetFilterFieldsParams): RenderGetFilterFieldsResponse;\n}\n\nexport const renderGetFilterFields: RenderGetFilterFields = ({\n fields,\n fieldTypePlugins\n}): RenderGetFilterFieldsResponse => {\n const baseFilters: string[] = [\"id: ID\", \"entryId: String\"];\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const plugin = fieldTypePlugins[baseType];\n if (!plugin?.isSearchable) {\n continue;\n }\n const createGetFilters = plugin.read?.createGetFilters;\n if (typeof createGetFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createGetFilters({ field }));\n }\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAkBzB,OAAO,MAAMC,qBAA4C,GAAGA,CAAC;EACzDC,MAAM;EACNC;AACJ,CAAC,KAAoC;EACjC,MAAMC,WAAqB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC;EAE3D,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMC,KAAK,IAAIJ,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMK,QAAQ,GAAGP,gBAAgB,CAACM,KAAK,CAAC;IACxC,MAAME,MAAM,GAAGL,gBAAgB,CAACI,QAAQ,CAAC;IACzC,IAAI,CAACC,MAAM,EAAEC,YAAY,EAAE;MACvB;IACJ;IACA,MAAMC,gBAAgB,GAAGF,MAAM,CAACG,IAAI,EAAED,gBAAgB;IACtD,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;MACxC;IACJ;IACAL,YAAY,CAACO,IAAI,CAACF,gBAAgB,CAAC;MAAEJ;IAAM,CAAC,CAAC,CAAC;EAClD;EACA,OAAO;IACHF,WAAW;IACXC,YAAY;IACZQ,mBAAmBA,CAAA,EAAG;MAClB,OAAOT,WAAW,CAACU,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAOV,YAAY,CAACS,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGZ,WAAW,EAAE,GAAGC,YAAY,CAAC,CAACS,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBaseFieldType","renderGetFilterFields","fields","fieldRegistry","baseFilters","fieldFilters","field","baseType","plugin","get","isSearchable","createGetFilters","read","push","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderGetFilterFields.ts"],"sourcesContent":["import type { CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface RenderGetFilterFieldsParams {\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\ninterface RenderGetFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderGetFilterFields {\n (params: RenderGetFilterFieldsParams): RenderGetFilterFieldsResponse;\n}\n\nexport const renderGetFilterFields: RenderGetFilterFields = ({\n fields,\n fieldRegistry\n}): RenderGetFilterFieldsResponse => {\n const baseFilters: string[] = [\"id: ID\", \"entryId: String\"];\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const plugin = fieldRegistry.get(baseType);\n if (!plugin?.isSearchable) {\n continue;\n }\n const createGetFilters = plugin.read?.createGetFilters;\n if (typeof createGetFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createGetFilters({ field }));\n }\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAmBzB,OAAO,MAAMC,qBAA4C,GAAGA,CAAC;EACzDC,MAAM;EACNC;AACJ,CAAC,KAAoC;EACjC,MAAMC,WAAqB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC;EAE3D,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMC,KAAK,IAAIJ,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMK,QAAQ,GAAGP,gBAAgB,CAACM,KAAK,CAAC;IACxC,MAAME,MAAM,GAAGL,aAAa,CAACM,GAAG,CAACF,QAAQ,CAAC;IAC1C,IAAI,CAACC,MAAM,EAAEE,YAAY,EAAE;MACvB;IACJ;IACA,MAAMC,gBAAgB,GAAGH,MAAM,CAACI,IAAI,EAAED,gBAAgB;IACtD,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;MACxC;IACJ;IACAN,YAAY,CAACQ,IAAI,CAACF,gBAAgB,CAAC;MAAEL;IAAM,CAAC,CAAC,CAAC;EAClD;EACA,OAAO;IACHF,WAAW;IACXC,YAAY;IACZS,mBAAmBA,CAAA,EAAG;MAClB,OAAOV,WAAW,CAACW,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAOX,YAAY,CAACU,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGb,WAAW,EAAE,GAAGC,YAAY,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import type { CmsFieldTypePlugins, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
1
+ import type { CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
2
3
  interface RenderInputFieldsParams {
3
4
  models: CmsModel[];
4
5
  model: CmsModel;
5
6
  fields: CmsModelField[];
6
- fieldTypePlugins: CmsFieldTypePlugins;
7
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
8
  }
8
9
  interface RenderInputFieldParams extends Omit<RenderInputFieldsParams, "fields"> {
9
10
  field: CmsModelField;
@@ -12,5 +13,5 @@ interface RenderInputFields {
12
13
  (params: RenderInputFieldsParams): CmsModelFieldDefinition[];
13
14
  }
14
15
  export declare const renderInputFields: RenderInputFields;
15
- export declare const renderInputField: ({ models, model, field, fieldTypePlugins }: RenderInputFieldParams) => CmsModelFieldDefinition | null;
16
+ export declare const renderInputField: ({ models, model, field, fieldRegistry }: RenderInputFieldParams) => CmsModelFieldDefinition | null;
16
17
  export {};
@@ -3,14 +3,14 @@ export const renderInputFields = ({
3
3
  models,
4
4
  model,
5
5
  fields,
6
- fieldTypePlugins
6
+ fieldRegistry
7
7
  }) => {
8
8
  return fields.reduce((result, field) => {
9
9
  const input = renderInputField({
10
10
  models,
11
11
  model,
12
12
  field,
13
- fieldTypePlugins
13
+ fieldRegistry
14
14
  });
15
15
  if (!input) {
16
16
  return result;
@@ -23,23 +23,17 @@ export const renderInputField = ({
23
23
  models,
24
24
  model,
25
25
  field,
26
- fieldTypePlugins
26
+ fieldRegistry
27
27
  }) => {
28
- // Every time a client updates content model's fields, we check the type of each field. If a field plugin
29
- // for a particular "field.type" doesn't exist on the backend yet, we throw an error. But still, we also
30
- // want to be careful when accessing the field plugin here too. It is still possible to have a content model
31
- // that contains a field, for which we don't have a plugin registered on the backend. For example, user
32
- // could've just removed the plugin from the backend.
33
- const plugin = fieldTypePlugins[getBaseFieldType(field)];
28
+ const plugin = fieldRegistry.get(getBaseFieldType(field));
34
29
  if (!plugin) {
35
- // Let's not render the field if it does not exist in the field plugins.
36
30
  return null;
37
31
  }
38
32
  const def = plugin.manage.createInputField({
39
33
  models,
40
34
  model,
41
35
  field,
42
- fieldTypePlugins
36
+ fieldRegistry
43
37
  });
44
38
  if (typeof def === "string") {
45
39
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["getBaseFieldType","renderInputFields","models","model","fields","fieldTypePlugins","reduce","result","field","input","renderInputField","push","plugin","def","manage","createInputField"],"sources":["renderInputFields.ts"],"sourcesContent":["import type {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\n\ninterface RenderInputFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface RenderInputFieldParams extends Omit<RenderInputFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\ninterface RenderInputFields {\n (params: RenderInputFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderInputFields: RenderInputFields = ({\n models,\n model,\n fields,\n fieldTypePlugins\n}): CmsModelFieldDefinition[] => {\n return fields.reduce<CmsModelFieldDefinition[]>((result, field) => {\n const input = renderInputField({ models, model, field, fieldTypePlugins });\n if (!input) {\n return result;\n }\n result.push(input);\n return result;\n }, []);\n};\n\nexport const renderInputField = ({\n models,\n model,\n field,\n fieldTypePlugins\n}: RenderInputFieldParams): CmsModelFieldDefinition | null => {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n\n if (!plugin) {\n // Let's not render the field if it does not exist in the field plugins.\n return null;\n }\n\n const def = plugin.manage.createInputField({\n models,\n model,\n field,\n fieldTypePlugins\n });\n if (typeof def === \"string\") {\n return {\n fields: def\n };\n }\n\n return def;\n};\n"],"mappings":"AAMA,SAASA,gBAAgB;AAiBzB,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC;AACJ,CAAC,KAAgC;EAC7B,OAAOD,MAAM,CAACE,MAAM,CAA4B,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC/D,MAAMC,KAAK,GAAGC,gBAAgB,CAAC;MAAER,MAAM;MAAEC,KAAK;MAAEK,KAAK;MAAEH;IAAiB,CAAC,CAAC;IAC1E,IAAI,CAACI,KAAK,EAAE;MACR,OAAOF,MAAM;IACjB;IACAA,MAAM,CAACI,IAAI,CAACF,KAAK,CAAC;IAClB,OAAOF,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAED,OAAO,MAAMG,gBAAgB,GAAGA,CAAC;EAC7BR,MAAM;EACNC,KAAK;EACLK,KAAK;EACLH;AACoB,CAAC,KAAqC;EAC1D;EACA;EACA;EACA;EACA;EACA,MAAMO,MAAM,GAAGP,gBAAgB,CAACL,gBAAgB,CAACQ,KAAK,CAAC,CAAC;EAExD,IAAI,CAACI,MAAM,EAAE;IACT;IACA,OAAO,IAAI;EACf;EAEA,MAAMC,GAAG,GAAGD,MAAM,CAACE,MAAM,CAACC,gBAAgB,CAAC;IACvCb,MAAM;IACNC,KAAK;IACLK,KAAK;IACLH;EACJ,CAAC,CAAC;EACF,IAAI,OAAOQ,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO;MACHT,MAAM,EAAES;IACZ,CAAC;EACL;EAEA,OAAOA,GAAG;AACd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBaseFieldType","renderInputFields","models","model","fields","fieldRegistry","reduce","result","field","input","renderInputField","push","plugin","get","def","manage","createInputField"],"sources":["renderInputFields.ts"],"sourcesContent":["import type { CmsModel, CmsModelField, CmsModelFieldDefinition } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface RenderInputFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderInputFieldParams extends Omit<RenderInputFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\ninterface RenderInputFields {\n (params: RenderInputFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderInputFields: RenderInputFields = ({\n models,\n model,\n fields,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields.reduce<CmsModelFieldDefinition[]>((result, field) => {\n const input = renderInputField({ models, model, field, fieldRegistry });\n if (!input) {\n return result;\n }\n result.push(input);\n return result;\n }, []);\n};\n\nexport const renderInputField = ({\n models,\n model,\n field,\n fieldRegistry\n}: RenderInputFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n\n if (!plugin) {\n return null;\n }\n\n const def = plugin.manage.createInputField({\n models,\n model,\n field,\n fieldRegistry\n });\n if (typeof def === \"string\") {\n return {\n fields: def\n };\n }\n\n return def;\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAkBzB,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC;AACJ,CAAC,KAAgC;EAC7B,OAAOD,MAAM,CAACE,MAAM,CAA4B,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC/D,MAAMC,KAAK,GAAGC,gBAAgB,CAAC;MAAER,MAAM;MAAEC,KAAK;MAAEK,KAAK;MAAEH;IAAc,CAAC,CAAC;IACvE,IAAI,CAACI,KAAK,EAAE;MACR,OAAOF,MAAM;IACjB;IACAA,MAAM,CAACI,IAAI,CAACF,KAAK,CAAC;IAClB,OAAOF,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAED,OAAO,MAAMG,gBAAgB,GAAGA,CAAC;EAC7BR,MAAM;EACNC,KAAK;EACLK,KAAK;EACLH;AACoB,CAAC,KAAqC;EAC1D,MAAMO,MAAM,GAAGP,aAAa,CAACQ,GAAG,CAACb,gBAAgB,CAACQ,KAAK,CAAC,CAAC;EAEzD,IAAI,CAACI,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,MAAME,GAAG,GAAGF,MAAM,CAACG,MAAM,CAACC,gBAAgB,CAAC;IACvCd,MAAM;IACNC,KAAK;IACLK,KAAK;IACLH;EACJ,CAAC,CAAC;EACF,IAAI,OAAOS,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO;MACHV,MAAM,EAAEU;IACZ,CAAC;EACL;EAEA,OAAOA,GAAG;AACd,CAAC","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import type { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../types/index.js";
1
+ import type { ApiEndpoint, CmsModel, CmsModelField } from "../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
2
3
  interface RenderListFilterFieldsParams {
3
4
  model: CmsModel;
4
5
  fields: CmsModelField[];
5
6
  type: ApiEndpoint;
6
- fieldTypePlugins: CmsFieldTypePlugins;
7
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
8
  excludeFields?: string[];
8
9
  }
9
10
  interface RenderListFilterFieldsResponse {
@@ -5,7 +5,7 @@ export const renderListFilterFields = params => {
5
5
  model,
6
6
  fields,
7
7
  type,
8
- fieldTypePlugins,
8
+ fieldRegistry,
9
9
  excludeFields = []
10
10
  } = params;
11
11
  const baseFilters = ["id: ID", "id_not: ID", "id_in: [ID!]", "id_not_in: [ID!]", ...(excludeFields.includes("entryId") ? [] : ["entryId: String", "entryId_not: String", "entryId_in: [String!]", "entryId_not_in: [String!]"]), ...ENTRY_META_FIELDS.map(field => {
@@ -32,14 +32,16 @@ export const renderListFilterFields = params => {
32
32
  // that contains a field, for which we don't have a plugin registered on the backend. For example, user
33
33
  // could've just removed the plugin from the backend.
34
34
  const baseType = getBaseFieldType(field);
35
- const createListFilters = fieldTypePlugins[baseType]?.[type]?.createListFilters;
35
+ const fieldImpl = fieldRegistry.get(baseType);
36
+ const api = fieldImpl ? type === "manage" ? fieldImpl.manage : fieldImpl.read : undefined;
37
+ const createListFilters = api?.createListFilters;
36
38
  if (typeof createListFilters !== "function") {
37
39
  continue;
38
40
  }
39
41
  fieldFilters.push(createListFilters({
40
42
  model,
41
43
  field,
42
- plugins: fieldTypePlugins
44
+ fieldRegistry
43
45
  }));
44
46
  }
45
47
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderListFilterFields","params","model","fields","type","fieldTypePlugins","excludeFields","baseFilters","includes","map","field","flat","filter","some","excl","startsWith","push","fieldFilters","baseType","createListFilters","plugins","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderListFilterFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface RenderListFilterFieldsParams {\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldTypePlugins: CmsFieldTypePlugins;\n excludeFields?: string[];\n}\n\ninterface RenderListFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderListFilterFields {\n (params: RenderListFilterFieldsParams): RenderListFilterFieldsResponse;\n}\n\ntype CreateListFiltersType =\n | CmsModelFieldToGraphQLPlugin[\"read\"][\"createListFilters\"]\n | CmsModelFieldToGraphQLPlugin[\"manage\"][\"createListFilters\"];\n\nexport const renderListFilterFields: RenderListFilterFields = (\n params\n): RenderListFilterFieldsResponse => {\n const { model, fields, type, fieldTypePlugins, excludeFields = [] } = params;\n const baseFilters: string[] = [\n \"id: ID\",\n \"id_not: ID\",\n \"id_in: [ID!]\",\n \"id_not_in: [ID!]\",\n ...(excludeFields.includes(\"entryId\")\n ? []\n : [\n \"entryId: String\",\n \"entryId_not: String\",\n \"entryId_in: [String!]\",\n \"entryId_not_in: [String!]\"\n ]),\n\n ...ENTRY_META_FIELDS.map(field => {\n if (isDateTimeEntryMetaField(field)) {\n return [\n `${field}: DateTime`,\n `${field}_gt: DateTime`,\n `${field}_gte: DateTime`,\n `${field}_lt: DateTime`,\n `${field}_lte: DateTime`,\n `${field}_between: [DateTime!]`,\n `${field}_not_between: [DateTime!]`\n ];\n }\n\n return [\n `${field}: ID`,\n `${field}_not: ID`,\n `${field}_in: [ID!]`,\n `${field}_not_in: [ID!]`\n ];\n })\n .flat()\n .filter(field => {\n return !excludeFields.some(excl => {\n return field.startsWith(`${excl}_`) || field.startsWith(`${excl}: `);\n });\n })\n ];\n /**\n * We can find different statuses only in the manage API endpoint.\n */\n if (type === \"manage\" && excludeFields.includes(\"status\") === false) {\n baseFilters.push(\n \"status: String\",\n \"status_not: String\",\n \"status_in: [String!]\",\n \"status_not_in: [String!]\"\n );\n }\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const createListFilters: CreateListFiltersType | undefined =\n fieldTypePlugins[baseType]?.[type]?.createListFilters;\n if (typeof createListFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createListFilters({ model, field, plugins: fieldTypePlugins }));\n }\n\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AAOA,SAASA,gBAAgB;AACzB,SAASC,iBAAiB,EAAEC,wBAAwB;AA0BpD,OAAO,MAAMC,sBAA8C,GACvDC,MAAM,IAC2B;EACjC,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,gBAAgB;IAAEC,aAAa,GAAG;EAAG,CAAC,GAAGL,MAAM;EAC5E,MAAMM,WAAqB,GAAG,CAC1B,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,IAAID,aAAa,CAACE,QAAQ,CAAC,SAAS,CAAC,GAC/B,EAAE,GACF,CACI,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,CAC9B,CAAC,EAER,GAAGV,iBAAiB,CAACW,GAAG,CAACC,KAAK,IAAI;IAC9B,IAAIX,wBAAwB,CAACW,KAAK,CAAC,EAAE;MACjC,OAAO,CACH,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,uBAAuB,EAC/B,GAAGA,KAAK,2BAA2B,CACtC;IACL;IAEA,OAAO,CACH,GAAGA,KAAK,MAAM,EACd,GAAGA,KAAK,UAAU,EAClB,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,gBAAgB,CAC3B;EACL,CAAC,CAAC,CACGC,IAAI,CAAC,CAAC,CACNC,MAAM,CAACF,KAAK,IAAI;IACb,OAAO,CAACJ,aAAa,CAACO,IAAI,CAACC,IAAI,IAAI;MAC/B,OAAOJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,GAAG,CAAC,IAAIJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,IAAI,CAAC;IACxE,CAAC,CAAC;EACN,CAAC,CAAC,CACT;EACD;AACJ;AACA;EACI,IAAIV,IAAI,KAAK,QAAQ,IAAIE,aAAa,CAACE,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;IACjED,WAAW,CAACS,IAAI,CACZ,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BACJ,CAAC;EACL;EAEA,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMP,KAAK,IAAIP,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMe,QAAQ,GAAGrB,gBAAgB,CAACa,KAAK,CAAC;IACxC,MAAMS,iBAAoD,GACtDd,gBAAgB,CAACa,QAAQ,CAAC,GAAGd,IAAI,CAAC,EAAEe,iBAAiB;IACzD,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE;MACzC;IACJ;IACAF,YAAY,CAACD,IAAI,CAACG,iBAAiB,CAAC;MAAEjB,KAAK;MAAEQ,KAAK;MAAEU,OAAO,EAAEf;IAAiB,CAAC,CAAC,CAAC;EACrF;EAEA,OAAO;IACHE,WAAW;IACXU,YAAY;IACZI,mBAAmBA,CAAA,EAAG;MAClB,OAAOd,WAAW,CAACe,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAON,YAAY,CAACK,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGjB,WAAW,EAAE,GAAGU,YAAY,CAAC,CAACK,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderListFilterFields","params","model","fields","type","fieldRegistry","excludeFields","baseFilters","includes","map","field","flat","filter","some","excl","startsWith","push","fieldFilters","baseType","fieldImpl","get","api","manage","read","undefined","createListFilters","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderListFilterFields.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface RenderListFilterFieldsParams {\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n excludeFields?: string[];\n}\n\ninterface RenderListFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderListFilterFields {\n (params: RenderListFilterFieldsParams): RenderListFilterFieldsResponse;\n}\n\ntype CreateListFiltersType = CmsModelFieldToGraphQL.ReadApi[\"createListFilters\"];\n\nexport const renderListFilterFields: RenderListFilterFields = (\n params\n): RenderListFilterFieldsResponse => {\n const { model, fields, type, fieldRegistry, excludeFields = [] } = params;\n const baseFilters: string[] = [\n \"id: ID\",\n \"id_not: ID\",\n \"id_in: [ID!]\",\n \"id_not_in: [ID!]\",\n ...(excludeFields.includes(\"entryId\")\n ? []\n : [\n \"entryId: String\",\n \"entryId_not: String\",\n \"entryId_in: [String!]\",\n \"entryId_not_in: [String!]\"\n ]),\n\n ...ENTRY_META_FIELDS.map(field => {\n if (isDateTimeEntryMetaField(field)) {\n return [\n `${field}: DateTime`,\n `${field}_gt: DateTime`,\n `${field}_gte: DateTime`,\n `${field}_lt: DateTime`,\n `${field}_lte: DateTime`,\n `${field}_between: [DateTime!]`,\n `${field}_not_between: [DateTime!]`\n ];\n }\n\n return [\n `${field}: ID`,\n `${field}_not: ID`,\n `${field}_in: [ID!]`,\n `${field}_not_in: [ID!]`\n ];\n })\n .flat()\n .filter(field => {\n return !excludeFields.some(excl => {\n return field.startsWith(`${excl}_`) || field.startsWith(`${excl}: `);\n });\n })\n ];\n /**\n * We can find different statuses only in the manage API endpoint.\n */\n if (type === \"manage\" && excludeFields.includes(\"status\") === false) {\n baseFilters.push(\n \"status: String\",\n \"status_not: String\",\n \"status_in: [String!]\",\n \"status_not_in: [String!]\"\n );\n }\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const fieldImpl = fieldRegistry.get(baseType);\n const api = fieldImpl ? (type === \"manage\" ? fieldImpl.manage : fieldImpl.read) : undefined;\n const createListFilters: CreateListFiltersType | undefined = api?.createListFilters;\n if (typeof createListFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createListFilters({ model, field, fieldRegistry }));\n }\n\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,iBAAiB,EAAEC,wBAAwB;AA4BpD,OAAO,MAAMC,sBAA8C,GACvDC,MAAM,IAC2B;EACjC,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,aAAa;IAAEC,aAAa,GAAG;EAAG,CAAC,GAAGL,MAAM;EACzE,MAAMM,WAAqB,GAAG,CAC1B,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,IAAID,aAAa,CAACE,QAAQ,CAAC,SAAS,CAAC,GAC/B,EAAE,GACF,CACI,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,CAC9B,CAAC,EAER,GAAGV,iBAAiB,CAACW,GAAG,CAACC,KAAK,IAAI;IAC9B,IAAIX,wBAAwB,CAACW,KAAK,CAAC,EAAE;MACjC,OAAO,CACH,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,uBAAuB,EAC/B,GAAGA,KAAK,2BAA2B,CACtC;IACL;IAEA,OAAO,CACH,GAAGA,KAAK,MAAM,EACd,GAAGA,KAAK,UAAU,EAClB,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,gBAAgB,CAC3B;EACL,CAAC,CAAC,CACGC,IAAI,CAAC,CAAC,CACNC,MAAM,CAACF,KAAK,IAAI;IACb,OAAO,CAACJ,aAAa,CAACO,IAAI,CAACC,IAAI,IAAI;MAC/B,OAAOJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,GAAG,CAAC,IAAIJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,IAAI,CAAC;IACxE,CAAC,CAAC;EACN,CAAC,CAAC,CACT;EACD;AACJ;AACA;EACI,IAAIV,IAAI,KAAK,QAAQ,IAAIE,aAAa,CAACE,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;IACjED,WAAW,CAACS,IAAI,CACZ,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BACJ,CAAC;EACL;EAEA,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMP,KAAK,IAAIP,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMe,QAAQ,GAAGrB,gBAAgB,CAACa,KAAK,CAAC;IACxC,MAAMS,SAAS,GAAGd,aAAa,CAACe,GAAG,CAACF,QAAQ,CAAC;IAC7C,MAAMG,GAAG,GAAGF,SAAS,GAAIf,IAAI,KAAK,QAAQ,GAAGe,SAAS,CAACG,MAAM,GAAGH,SAAS,CAACI,IAAI,GAAIC,SAAS;IAC3F,MAAMC,iBAAoD,GAAGJ,GAAG,EAAEI,iBAAiB;IACnF,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE;MACzC;IACJ;IACAR,YAAY,CAACD,IAAI,CAACS,iBAAiB,CAAC;MAAEvB,KAAK;MAAEQ,KAAK;MAAEL;IAAc,CAAC,CAAC,CAAC;EACzE;EAEA,OAAO;IACHE,WAAW;IACXU,YAAY;IACZS,mBAAmBA,CAAA,EAAG;MAClB,OAAOnB,WAAW,CAACoB,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAOX,YAAY,CAACU,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGtB,WAAW,EAAE,GAAGU,YAAY,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import type { CmsFieldTypePlugins, CmsModel, CmsModelField } from "../types/index.js";
2
- import type { CmsGraphQLSchemaSorterPlugin } from "../plugins/CmsGraphQLSchemaSorterPlugin.js";
1
+ import type { CmsModel, CmsModelField } from "../types/index.js";
2
+ import { CmsGraphQLSchemaSorter, type CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
3
3
  interface RenderSortEnumParams {
4
4
  model: CmsModel;
5
5
  fields: CmsModelField[];
6
- fieldTypePlugins: CmsFieldTypePlugins;
7
- sorterPlugins?: CmsGraphQLSchemaSorterPlugin[];
6
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
7
+ sorters: CmsGraphQLSchemaSorter.Interface[];
8
8
  }
9
9
  interface RenderSortEnum {
10
10
  (params: RenderSortEnumParams): string;
@@ -3,27 +3,27 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../constants.js";
3
3
  export const renderSortEnum = ({
4
4
  model,
5
5
  fields,
6
- fieldTypePlugins,
7
- sorterPlugins
6
+ fieldRegistry,
7
+ sorters
8
8
  }) => {
9
- const sorters = [`id_ASC`, `id_DESC`, ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).map(field => [`${field}_ASC`, `${field}_DESC`]).flat()];
9
+ const results = [`id_ASC`, `id_DESC`, ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).map(field => [`${field}_ASC`, `${field}_DESC`]).flat()];
10
10
  for (const field of fields) {
11
- const plugin = fieldTypePlugins[getBaseFieldType(field)];
11
+ const plugin = fieldRegistry.get(getBaseFieldType(field));
12
12
  if (!plugin?.isSortable) {
13
13
  continue;
14
14
  }
15
- sorters.push(`values_${field.fieldId}_ASC`);
16
- sorters.push(`values_${field.fieldId}_DESC`);
15
+ results.push(`values_${field.fieldId}_ASC`);
16
+ results.push(`values_${field.fieldId}_DESC`);
17
17
  }
18
- if (!sorterPlugins) {
19
- return sorters.join("\n");
18
+ if (sorters.length === 0) {
19
+ return results.join("\n");
20
20
  }
21
- return sorterPlugins.reduce((result, plugin) => {
22
- return plugin.createSorter({
21
+ return sorters.reduce((result, sorter) => {
22
+ return sorter.execute({
23
23
  model,
24
24
  sorters: result
25
25
  });
26
- }, sorters).join("\n");
26
+ }, results).join("\n");
27
27
  };
28
28
 
29
29
  //# sourceMappingURL=renderSortEnum.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderSortEnum","model","fields","fieldTypePlugins","sorterPlugins","sorters","filter","map","field","flat","plugin","isSortable","push","fieldId","join","reduce","result","createSorter"],"sources":["renderSortEnum.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsGraphQLSchemaSorterPlugin } from \"~/plugins/CmsGraphQLSchemaSorterPlugin.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface RenderSortEnumParams {\n model: CmsModel;\n fields: CmsModelField[];\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins?: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface RenderSortEnum {\n (params: RenderSortEnumParams): string;\n}\n\nexport const renderSortEnum: RenderSortEnum = ({\n model,\n fields,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const sorters: string[] = [\n `id_ASC`,\n `id_DESC`,\n\n ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField)\n .map(field => [`${field}_ASC`, `${field}_DESC`])\n .flat()\n ];\n\n for (const field of fields) {\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n if (!plugin?.isSortable) {\n continue;\n }\n sorters.push(`values_${field.fieldId}_ASC`);\n sorters.push(`values_${field.fieldId}_DESC`);\n }\n if (!sorterPlugins) {\n return sorters.join(\"\\n\");\n }\n\n return sorterPlugins\n .reduce((result, plugin) => {\n return plugin.createSorter({\n model,\n sorters: result\n });\n }, sorters)\n .join(\"\\n\");\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAEzB,SAASC,iBAAiB,EAAEC,wBAAwB;AAapD,OAAO,MAAMC,cAA8B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,MAAM;EACNC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,OAAiB,GAAG,CACtB,QAAQ,EACR,SAAS,EAET,GAAGP,iBAAiB,CAACQ,MAAM,CAACP,wBAAwB,CAAC,CAChDQ,GAAG,CAACC,KAAK,IAAI,CAAC,GAAGA,KAAK,MAAM,EAAE,GAAGA,KAAK,OAAO,CAAC,CAAC,CAC/CC,IAAI,CAAC,CAAC,CACd;EAED,KAAK,MAAMD,KAAK,IAAIN,MAAM,EAAE;IACxB,MAAMQ,MAAM,GAAGP,gBAAgB,CAACN,gBAAgB,CAACW,KAAK,CAAC,CAAC;IACxD,IAAI,CAACE,MAAM,EAAEC,UAAU,EAAE;MACrB;IACJ;IACAN,OAAO,CAACO,IAAI,CAAC,UAAUJ,KAAK,CAACK,OAAO,MAAM,CAAC;IAC3CR,OAAO,CAACO,IAAI,CAAC,UAAUJ,KAAK,CAACK,OAAO,OAAO,CAAC;EAChD;EACA,IAAI,CAACT,aAAa,EAAE;IAChB,OAAOC,OAAO,CAACS,IAAI,CAAC,IAAI,CAAC;EAC7B;EAEA,OAAOV,aAAa,CACfW,MAAM,CAAC,CAACC,MAAM,EAAEN,MAAM,KAAK;IACxB,OAAOA,MAAM,CAACO,YAAY,CAAC;MACvBhB,KAAK;MACLI,OAAO,EAAEW;IACb,CAAC,CAAC;EACN,CAAC,EAAEX,OAAO,CAAC,CACVS,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderSortEnum","model","fields","fieldRegistry","sorters","results","filter","map","field","flat","plugin","get","isSortable","push","fieldId","length","join","reduce","result","sorter","execute"],"sources":["renderSortEnum.ts"],"sourcesContent":["import type { CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface RenderSortEnumParams {\n model: CmsModel;\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface RenderSortEnum {\n (params: RenderSortEnumParams): string;\n}\n\nexport const renderSortEnum: RenderSortEnum = ({\n model,\n fields,\n fieldRegistry,\n sorters\n}): string => {\n const results: string[] = [\n `id_ASC`,\n `id_DESC`,\n\n ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField)\n .map(field => [`${field}_ASC`, `${field}_DESC`])\n .flat()\n ];\n\n for (const field of fields) {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin?.isSortable) {\n continue;\n }\n results.push(`values_${field.fieldId}_ASC`);\n results.push(`values_${field.fieldId}_DESC`);\n }\n if (sorters.length === 0) {\n return results.join(\"\\n\");\n }\n\n return sorters\n .reduce((result, sorter) => {\n return sorter.execute({\n model,\n sorters: result\n });\n }, results)\n .join(\"\\n\");\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,iBAAiB,EAAEC,wBAAwB;AAiBpD,OAAO,MAAMC,cAA8B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,OAAiB,GAAG,CACtB,QAAQ,EACR,SAAS,EAET,GAAGP,iBAAiB,CAACQ,MAAM,CAACP,wBAAwB,CAAC,CAChDQ,GAAG,CAACC,KAAK,IAAI,CAAC,GAAGA,KAAK,MAAM,EAAE,GAAGA,KAAK,OAAO,CAAC,CAAC,CAC/CC,IAAI,CAAC,CAAC,CACd;EAED,KAAK,MAAMD,KAAK,IAAIN,MAAM,EAAE;IACxB,MAAMQ,MAAM,GAAGP,aAAa,CAACQ,GAAG,CAACd,gBAAgB,CAACW,KAAK,CAAC,CAAC;IACzD,IAAI,CAACE,MAAM,EAAEE,UAAU,EAAE;MACrB;IACJ;IACAP,OAAO,CAACQ,IAAI,CAAC,UAAUL,KAAK,CAACM,OAAO,MAAM,CAAC;IAC3CT,OAAO,CAACQ,IAAI,CAAC,UAAUL,KAAK,CAACM,OAAO,OAAO,CAAC;EAChD;EACA,IAAIV,OAAO,CAACW,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOV,OAAO,CAACW,IAAI,CAAC,IAAI,CAAC;EAC7B;EAEA,OAAOZ,OAAO,CACTa,MAAM,CAAC,CAACC,MAAM,EAAEC,MAAM,KAAK;IACxB,OAAOA,MAAM,CAACC,OAAO,CAAC;MAClBnB,KAAK;MACLG,OAAO,EAAEc;IACb,CAAC,CAAC;EACN,CAAC,EAAEb,OAAO,CAAC,CACVW,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import type { CmsFieldTypePlugins } from "../../types/index.js";
2
- import type { PluginsContainer } from "@webiny/plugins";
3
- export declare const createFieldTypePluginRecords: (plugins: PluginsContainer) => CmsFieldTypePlugins;
@@ -1,8 +0,0 @@
1
- export const createFieldTypePluginRecords = plugins => {
2
- return plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
3
- acc[pl.fieldType] = pl;
4
- return acc;
5
- }, {});
6
- };
7
-
8
- //# sourceMappingURL=createFieldTypePluginRecords.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createFieldTypePluginRecords","plugins","byType","reduce","acc","pl","fieldType"],"sources":["createFieldTypePluginRecords.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\nexport const createFieldTypePluginRecords = (plugins: PluginsContainer) => {\n return plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n};\n"],"mappings":"AAGA,OAAO,MAAMA,4BAA4B,GAAIC,OAAyB,IAAK;EACvE,OAAOA,OAAO,CACTC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import type { CmsModelFieldToGraphQLPlugin } from "../types/index.js";
2
- export declare const createBooleanField: () => CmsModelFieldToGraphQLPlugin;
@@ -1,52 +0,0 @@
1
- import { createGraphQLInputField } from "./helpers.js";
2
- const createListFilters = ({
3
- field
4
- }) => {
5
- return `
6
- ${field.fieldId}: Boolean
7
- ${field.fieldId}_not: Boolean
8
- `;
9
- };
10
- export const createBooleanField = () => {
11
- return {
12
- name: "cms-model-field-to-graphql-boolean",
13
- type: "cms-model-field-to-graphql",
14
- fieldType: "boolean",
15
- isSortable: true,
16
- isSearchable: true,
17
- read: {
18
- createListFilters,
19
- createGetFilters({
20
- field
21
- }) {
22
- return `${field.fieldId}: Boolean`;
23
- },
24
- createTypeField({
25
- field
26
- }) {
27
- if (field.list) {
28
- return `${field.fieldId}: [Boolean]`;
29
- }
30
- return `${field.fieldId}: Boolean`;
31
- }
32
- },
33
- manage: {
34
- createListFilters,
35
- createTypeField({
36
- field
37
- }) {
38
- if (field.list) {
39
- return field.fieldId + ": [Boolean]";
40
- }
41
- return field.fieldId + ": Boolean";
42
- },
43
- createInputField({
44
- field
45
- }) {
46
- return createGraphQLInputField(field, "Boolean");
47
- }
48
- }
49
- };
50
- };
51
-
52
- //# sourceMappingURL=boolean.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createGraphQLInputField","createListFilters","field","fieldId","createBooleanField","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","list","manage","createInputField"],"sources":["boolean.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport { createGraphQLInputField } from \"./helpers.js\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nexport const createBooleanField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.list) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.list) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n };\n};\n"],"mappings":"AACA,SAASA,uBAAuB;AAKhC,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAO;AACX,UAAUA,KAAK,CAACC,OAAO;AACvB,UAAUD,KAAK,CAACC,OAAO;AACvB,KAAK;AACL,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAoC;EAClE,OAAO;IACHC,IAAI,EAAE,oCAAoC;IAC1CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,SAAS;IACpBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFT,iBAAiB;MACjBU,gBAAgBA,CAAC;QAAET;MAAM,CAAC,EAAE;QACxB,OAAO,GAAGA,KAAK,CAACC,OAAO,WAAW;MACtC,CAAC;MACDS,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,IAAI,EAAE;UACZ,OAAO,GAAGX,KAAK,CAACC,OAAO,aAAa;QACxC;QAEA,OAAO,GAAGD,KAAK,CAACC,OAAO,WAAW;MACtC;IACJ,CAAC;IACDW,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,IAAI,EAAE;UACZ,OAAOX,KAAK,CAACC,OAAO,GAAG,aAAa;QACxC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,WAAW;MACtC,CAAC;MACDY,gBAAgBA,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAOF,uBAAuB,CAACE,KAAK,EAAE,SAAS,CAAC;MACpD;IACJ;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import type { CmsModelFieldToGraphQLPlugin } from "../types/index.js";
2
- export declare const createDateTimeField: () => CmsModelFieldToGraphQLPlugin;