@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
@@ -0,0 +1,261 @@
1
+ import WebinyError from "@webiny/error";
2
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
3
+ import { createTypeName } from "../../../../utils/createTypeName.js";
4
+ import { parseIdentifier } from "@webiny/utils";
5
+ import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
6
+ import { GetModelUseCase } from "../../../contentModel/GetModel/index.js";
7
+ import { GetPublishedEntriesByIdsUseCase } from "../../../contentEntry/GetPublishedEntriesByIds/index.js";
8
+ import { GetLatestEntriesByIdsUseCase } from "../../../contentEntry/GetLatestEntriesByIds/index.js";
9
+ const createUnionTypeName = (model, field) => {
10
+ return `${model.singularApiName}_${createTypeName(field.fieldId)}`;
11
+ };
12
+ const createListFilters = fieldId => {
13
+ return `
14
+ ${fieldId}: RefFieldWhereInput
15
+ `;
16
+ };
17
+ const createFilteringTypeDef = () => {
18
+ return `
19
+ input RefFieldWhereInput {
20
+ id: String
21
+ id_not: String
22
+ id_in: [String!]
23
+ id_not_in: [String]
24
+ entryId: String
25
+ entryId_not: String
26
+ entryId_in: [String!]
27
+ entryId_not_in: [String!]
28
+ modelId: String
29
+ modelId_not: String
30
+ modelId_in: [String!]
31
+ modelId_not_in: [String!]
32
+ }
33
+ `;
34
+ };
35
+ const appendTypename = (entries, typename) => {
36
+ return entries.map(item => {
37
+ return {
38
+ ...item,
39
+ __typename: typename
40
+ };
41
+ });
42
+ };
43
+ const getFieldModels = field => {
44
+ if (!field.settings || Array.isArray(field.settings.models) === false) {
45
+ return [];
46
+ }
47
+ return field.settings.models;
48
+ };
49
+ const modelIdToTypeName = new Map();
50
+ const getModel = params => {
51
+ const {
52
+ models,
53
+ modelId
54
+ } = params;
55
+ const model = models.find(item => item.modelId === modelId);
56
+ if (model) {
57
+ return model;
58
+ }
59
+ throw new WebinyError(`Could not find model with ID "${modelId}" in the list of models.`, "MODEL_NOT_FOUND", {
60
+ modelId
61
+ });
62
+ };
63
+ const getModelSingularApiName = params => {
64
+ return getModel(params).singularApiName;
65
+ };
66
+ class ReadApi {
67
+ createTypeField({
68
+ model,
69
+ field,
70
+ models
71
+ }) {
72
+ const fieldModels = field.settings?.models || [];
73
+ const gqlType = fieldModels.length > 1 ? createUnionTypeName(model, field) : getModelSingularApiName({
74
+ models,
75
+ modelId: fieldModels[0].modelId
76
+ });
77
+ const typeDefs = fieldModels.length > 1 ? `union ${gqlType} = ${getFieldModels(field).map(({
78
+ modelId
79
+ }) => getModelSingularApiName({
80
+ models,
81
+ modelId
82
+ })).join(" | ")}` : "";
83
+ return {
84
+ fields: field.fieldId + `(populate: Boolean = true): ${field.list ? `[${gqlType}!]` : gqlType}`,
85
+ typeDefs
86
+ };
87
+ }
88
+ createListFilters({
89
+ field
90
+ }) {
91
+ return createListFilters(field.fieldId);
92
+ }
93
+ createResolver({
94
+ field,
95
+ models
96
+ }) {
97
+ const fieldModels = field.settings?.models || [];
98
+ for (const item of fieldModels) {
99
+ modelIdToTypeName.set(item.modelId, getModelSingularApiName({
100
+ models,
101
+ modelId: item.modelId
102
+ }));
103
+ }
104
+ const getValue = parent => {
105
+ if (parent.values) {
106
+ return parent.values[field.fieldId];
107
+ }
108
+ return parent[field.fieldId];
109
+ };
110
+
111
+ /* @ts-expect-error Mixed return types for createResolver. */
112
+ return async (parent, args, context) => {
113
+ const {
114
+ cms,
115
+ container
116
+ } = context;
117
+ const getModel = container.resolve(GetModelUseCase);
118
+ const getPublishedByIds = container.resolve(GetPublishedEntriesByIdsUseCase);
119
+ const getLatestByIds = container.resolve(GetLatestEntriesByIdsUseCase);
120
+ const initialValue = getValue(parent);
121
+ if (!initialValue) {
122
+ return null;
123
+ }
124
+ if (args.populate === false) {
125
+ return initialValue;
126
+ }
127
+ if (field.list) {
128
+ const referenceFieldValues = initialValue;
129
+ if (Array.isArray(referenceFieldValues) === false || referenceFieldValues.length === 0) {
130
+ return [];
131
+ }
132
+ const entriesByModel = referenceFieldValues.reduce((collection, ref) => {
133
+ if (!collection[ref.modelId]) {
134
+ collection[ref.modelId] = [];
135
+ } else if (collection[ref.modelId].includes(ref.entryId) === true) {
136
+ return collection;
137
+ }
138
+ collection[ref.modelId].push(ref.entryId);
139
+ return collection;
140
+ }, {});
141
+ const getters = Object.keys(entriesByModel).map(async modelId => {
142
+ const idList = entriesByModel[modelId];
143
+ const modelResult = await getModel.execute(modelId);
144
+ const model = modelResult.value;
145
+ let entries;
146
+ if (cms.READ) {
147
+ const getPublishedResult = await getPublishedByIds.execute(model, idList);
148
+ entries = getPublishedResult.value;
149
+ } else {
150
+ const latestByIsResult = await getLatestByIds.execute(model, idList);
151
+ entries = latestByIsResult.value;
152
+ }
153
+ return appendTypename(entries, modelIdToTypeName.get(modelId));
154
+ });
155
+ const references = await Promise.all(getters).then(results => {
156
+ return results.reduce((result, item) => {
157
+ return result.concat(item);
158
+ }, []);
159
+ });
160
+ return referenceFieldValues.map(v => {
161
+ return references.find(ref => ref.entryId === v.entryId);
162
+ }).filter(Boolean);
163
+ }
164
+ const value = initialValue;
165
+ const modelResult = await getModel.execute(value.modelId);
166
+ const model = modelResult.value;
167
+ let revisions;
168
+ if (cms.READ) {
169
+ const publishedByIdsResult = await getPublishedByIds.execute(model, [value.entryId]);
170
+ revisions = publishedByIdsResult.value;
171
+ } else {
172
+ const latestByIdsResult = await getLatestByIds.execute(model, [value.entryId]);
173
+ revisions = latestByIdsResult.value;
174
+ }
175
+ if (!revisions || revisions.length === 0) {
176
+ return null;
177
+ }
178
+ return {
179
+ ...revisions[0],
180
+ __typename: modelIdToTypeName.get(value.modelId)
181
+ };
182
+ };
183
+ }
184
+ createSchema() {
185
+ return {
186
+ typeDefs: createFilteringTypeDef(),
187
+ resolvers: {}
188
+ };
189
+ }
190
+ }
191
+ class ManageApi {
192
+ createTypeField({
193
+ field
194
+ }) {
195
+ if (field.list) {
196
+ return `${field.fieldId}: [RefField!]`;
197
+ }
198
+ return `${field.fieldId}: RefField`;
199
+ }
200
+ createInputField({
201
+ field
202
+ }) {
203
+ return createGraphQLInputField(field, "RefFieldInput");
204
+ }
205
+ createListFilters({
206
+ field
207
+ }) {
208
+ return createListFilters(field.fieldId);
209
+ }
210
+ createSchema() {
211
+ return {
212
+ typeDefs: /* GraphQL */`
213
+ type RefField {
214
+ modelId: String!
215
+ entryId: ID!
216
+ id: ID!
217
+ }
218
+
219
+ input RefFieldInput {
220
+ modelId: String!
221
+ id: RevisionId!
222
+ }
223
+
224
+ ${createFilteringTypeDef()}
225
+ `,
226
+ resolvers: {
227
+ RefField: {
228
+ entryId: parent => {
229
+ const {
230
+ id
231
+ } = parseIdentifier(parent.entryId || parent.id);
232
+ return id;
233
+ },
234
+ id: parent => {
235
+ return parent.id || parent.entryId;
236
+ }
237
+ }
238
+ }
239
+ };
240
+ }
241
+ }
242
+ class RefToGraphQL {
243
+ read = new ReadApi();
244
+ manage = new ManageApi();
245
+ fieldType = "ref";
246
+ isSearchable = true;
247
+ isSortable = false;
248
+ isFullTextSearchable = false;
249
+ getReadApi() {
250
+ return this.read;
251
+ }
252
+ getManageApi() {
253
+ return this.manage;
254
+ }
255
+ }
256
+ export const RefFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
257
+ implementation: RefToGraphQL,
258
+ dependencies: []
259
+ });
260
+
261
+ //# sourceMappingURL=RefToGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebinyError","CmsModelFieldToGraphQL","createTypeName","parseIdentifier","createGraphQLInputField","GetModelUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","createUnionTypeName","model","field","singularApiName","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","getModel","params","modelId","find","getModelSingularApiName","ReadApi","createTypeField","fieldModels","gqlType","length","typeDefs","join","fields","list","createResolver","set","getValue","parent","values","args","context","cms","container","resolve","getPublishedByIds","getLatestByIds","initialValue","populate","referenceFieldValues","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","modelResult","execute","value","READ","getPublishedResult","latestByIsResult","get","references","Promise","all","then","results","result","concat","v","filter","Boolean","revisions","publishedByIdsResult","latestByIdsResult","createSchema","resolvers","ManageApi","createInputField","RefField","id","RefToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","RefFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["RefToGraphQL.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CmsModelFieldType,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\nimport { createTypeName } from \"~/utils/createTypeName.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst createListFilters = (fieldId: string): string => {\n return `\n ${fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n modelId: String\n modelId_not: String\n modelId_in: [String!]\n modelId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map<string, string>();\n\ninterface GetModelParams {\n models: CmsModel[];\n modelId: string;\n}\n\nconst getModel = (params: GetModelParams): CmsModel => {\n const { models, modelId } = params;\n const model = models.find(item => item.modelId === modelId);\n if (model) {\n return model;\n }\n throw new WebinyError(\n `Could not find model with ID \"${modelId}\" in the list of models.`,\n \"MODEL_NOT_FOUND\",\n { modelId }\n );\n};\n\nconst getModelSingularApiName = (params: GetModelParams): string => {\n return getModel(params).singularApiName;\n};\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({\n model,\n field,\n models\n }: CmsModelFieldToGraphQL.TypeFieldParams): CmsModelFieldDefinition {\n const fieldModels = field.settings?.models || [];\n const gqlType =\n fieldModels.length > 1\n ? createUnionTypeName(model, field)\n : getModelSingularApiName({ models, modelId: fieldModels[0].modelId });\n const typeDefs =\n fieldModels.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) => getModelSingularApiName({ models, modelId }))\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${field.list ? `[${gqlType}!]` : gqlType}`,\n typeDefs\n };\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createResolver({\n field,\n models\n }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver {\n const fieldModels = field.settings?.models || [];\n for (const item of fieldModels) {\n modelIdToTypeName.set(\n item.modelId,\n getModelSingularApiName({ models, modelId: item.modelId })\n );\n }\n\n const getValue = (parent: any): RefFieldValue | RefFieldValue[] => {\n if (parent.values) {\n return parent.values[field.fieldId];\n }\n return parent[field.fieldId];\n };\n\n /* @ts-expect-error Mixed return types for createResolver. */\n return async (parent: CmsEntry, args: any, context: CmsContext) => {\n const { cms, container } = context;\n\n const getModel = container.resolve(GetModelUseCase);\n const getPublishedByIds = container.resolve(GetPublishedEntriesByIdsUseCase);\n const getLatestByIds = container.resolve(GetLatestEntriesByIdsUseCase);\n\n const initialValue = getValue(parent);\n\n if (!initialValue) {\n return null;\n }\n if (args.populate === false) {\n return initialValue;\n }\n\n if (field.list) {\n const referenceFieldValues = initialValue as RefFieldValue[];\n if (\n Array.isArray(referenceFieldValues) === false ||\n referenceFieldValues.length === 0\n ) {\n return [];\n }\n\n const entriesByModel = referenceFieldValues.reduce(\n (collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n collection[ref.modelId].push(ref.entryId);\n return collection;\n },\n {} as Record<string, string[]>\n );\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n const modelResult = await getModel.execute(modelId);\n const model = modelResult.value;\n\n let entries: CmsEntry[];\n if (cms.READ) {\n const getPublishedResult = await getPublishedByIds.execute(model, idList);\n entries = getPublishedResult.value;\n } else {\n const latestByIsResult = await getLatestByIds.execute(model, idList);\n entries = latestByIsResult.value;\n }\n return appendTypename(entries, modelIdToTypeName.get(modelId)!);\n });\n\n const references = await Promise.all(getters).then((results: CmsEntry[][]) => {\n return results.reduce((result, item) => {\n return result.concat(item);\n }, []);\n });\n\n return referenceFieldValues\n .map(v => {\n return references.find(ref => ref.entryId === v.entryId);\n })\n .filter(Boolean);\n }\n\n const value = initialValue as RefFieldValue;\n const modelResult = await getModel.execute(value.modelId);\n const model = modelResult.value;\n\n let revisions: CmsEntry[];\n if (cms.READ) {\n const publishedByIdsResult = await getPublishedByIds.execute(model, [\n value.entryId\n ]);\n revisions = publishedByIdsResult.value;\n } else {\n const latestByIdsResult = await getLatestByIds.execute(model, [value.entryId]);\n revisions = latestByIdsResult.value;\n }\n\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n }\n\n public createSchema(): GraphQLSchemaDefinition<CmsContext> {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"RefFieldInput\");\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createSchema(): GraphQLSchemaDefinition<CmsContext> {\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: RevisionId!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n }\n}\n\nclass RefToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"ref\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = false;\n public readonly isFullTextSearchable: boolean = false;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const RefFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: RefToGraphQL,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import type { CmsModelFieldType } from "../../../../types/modelField.js";
3
+ declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
4
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
5
+ createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
6
+ createResolver({ field }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver;
7
+ }
8
+ declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
9
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
10
+ createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
11
+ }
12
+ declare class RichTextToGraphQL implements CmsModelFieldToGraphQL.Interface {
13
+ readonly read: ReadApi;
14
+ readonly manage: ManageApi;
15
+ readonly fieldType: CmsModelFieldType;
16
+ readonly isSearchable: boolean;
17
+ readonly isSortable: boolean;
18
+ readonly isFullTextSearchable: boolean;
19
+ getReadApi(): CmsModelFieldToGraphQL.ReadApi;
20
+ getManageApi(): CmsModelFieldToGraphQL.ManageApi;
21
+ }
22
+ export declare const RichTextFieldToGraphQL: typeof RichTextToGraphQL & {
23
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
24
+ };
25
+ export {};
@@ -0,0 +1,58 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
3
+ import { createRichTextResolver } from "./richText/richTextResolver.js";
4
+ class ReadApi {
5
+ createTypeField({
6
+ field
7
+ }) {
8
+ if (field.list) {
9
+ return `${field.fieldId}(format: String): [JSON]`;
10
+ }
11
+ return `${field.fieldId}(format: String): JSON`;
12
+ }
13
+ createGetFilters({
14
+ field
15
+ }) {
16
+ return `${field.fieldId}: JSON`;
17
+ }
18
+ createResolver({
19
+ field
20
+ }) {
21
+ return createRichTextResolver(field);
22
+ }
23
+ }
24
+ class ManageApi {
25
+ createTypeField({
26
+ field
27
+ }) {
28
+ if (field.list) {
29
+ return `${field.fieldId}: [JSON]`;
30
+ }
31
+ return `${field.fieldId}: JSON`;
32
+ }
33
+ createInputField({
34
+ field
35
+ }) {
36
+ return createGraphQLInputField(field, "JSON");
37
+ }
38
+ }
39
+ class RichTextToGraphQL {
40
+ read = new ReadApi();
41
+ manage = new ManageApi();
42
+ fieldType = "rich-text";
43
+ isSearchable = false;
44
+ isSortable = false;
45
+ isFullTextSearchable = false;
46
+ getReadApi() {
47
+ return this.read;
48
+ }
49
+ getManageApi() {
50
+ return this.manage;
51
+ }
52
+ }
53
+ export const RichTextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
54
+ implementation: RichTextToGraphQL,
55
+ dependencies: []
56
+ });
57
+
58
+ //# sourceMappingURL=RichTextToGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","createRichTextResolver","ReadApi","createTypeField","field","list","fieldId","createGetFilters","createResolver","ManageApi","createInputField","RichTextToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","RichTextFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["RichTextToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\nimport { createRichTextResolver } from \"./richText/richTextResolver.js\";\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}(format: String): [JSON]`;\n }\n return `${field.fieldId}(format: String): JSON`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createResolver({\n field\n }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver {\n return createRichTextResolver(field);\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"JSON\");\n }\n}\n\nclass RichTextToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"rich-text\";\n public readonly isSearchable: boolean = false;\n public readonly isSortable: boolean = false;\n public readonly isFullTextSearchable: boolean = false;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const RichTextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: RichTextToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,0BAA0B;IACrD;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,wBAAwB;EACnD;EAEOC,gBAAgBA,CAAC;IAAEH;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,cAAcA,CAAC;IAClBJ;EACmC,CAAC,EAAmC;IACvE,OAAOH,sBAAsB,CAACG,KAAK,CAAC;EACxC;AACJ;AAEA,MAAMK,SAAS,CAA6C;EACjDN,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOI,gBAAgBA,CAAC;IAAEN;EAA8C,CAAC,EAAU;IAC/E,OAAOJ,uBAAuB,CAACI,KAAK,EAAE,MAAM,CAAC;EACjD;AACJ;AAEA,MAAMO,iBAAiB,CAA6C;EAChDC,IAAI,GAAG,IAAIV,OAAO,CAAC,CAAC;EACpBW,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,WAAW;EAC1CC,YAAY,GAAY,KAAK;EAC7BC,UAAU,GAAY,KAAK;EAC3BC,oBAAoB,GAAY,KAAK;EAE9CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,sBAAsB,GAAGrB,sBAAsB,CAACsB,oBAAoB,CAAC;EAC9EC,cAAc,EAAEX,iBAAiB;EACjCY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import type { CmsModelFieldType } from "../../../../types/modelField.js";
3
+ declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
4
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
5
+ createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
6
+ createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
7
+ }
8
+ declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
9
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
10
+ createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
11
+ createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
12
+ }
13
+ declare class SearchableJsonToGraphQL implements CmsModelFieldToGraphQL.Interface {
14
+ readonly read: ReadApi;
15
+ readonly manage: ManageApi;
16
+ readonly fieldType: CmsModelFieldType;
17
+ readonly isSearchable: boolean;
18
+ readonly isSortable: boolean;
19
+ readonly isFullTextSearchable: boolean;
20
+ getReadApi(): CmsModelFieldToGraphQL.ReadApi;
21
+ getManageApi(): CmsModelFieldToGraphQL.ManageApi;
22
+ }
23
+ export declare const SearchableJsonFieldToGraphQL: typeof SearchableJsonToGraphQL & {
24
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
25
+ };
26
+ export {};
@@ -0,0 +1,62 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
3
+ class ReadApi {
4
+ createTypeField({
5
+ field
6
+ }) {
7
+ if (field.list) {
8
+ return `${field.fieldId}: [JSON]`;
9
+ }
10
+ return `${field.fieldId}: JSON`;
11
+ }
12
+ createGetFilters({
13
+ field
14
+ }) {
15
+ return `${field.fieldId}: JSON`;
16
+ }
17
+ createListFilters({
18
+ field
19
+ }) {
20
+ return `${field.fieldId}: JSON`;
21
+ }
22
+ }
23
+ class ManageApi {
24
+ createTypeField({
25
+ field
26
+ }) {
27
+ if (field.list) {
28
+ return `${field.fieldId}: [JSON]`;
29
+ }
30
+ return `${field.fieldId}: JSON`;
31
+ }
32
+ createListFilters({
33
+ field
34
+ }) {
35
+ return `${field.fieldId}: JSON`;
36
+ }
37
+ createInputField({
38
+ field
39
+ }) {
40
+ return createGraphQLInputField(field, "JSON");
41
+ }
42
+ }
43
+ class SearchableJsonToGraphQL {
44
+ read = new ReadApi();
45
+ manage = new ManageApi();
46
+ fieldType = "searchable-json";
47
+ isSearchable = true;
48
+ isSortable = true;
49
+ isFullTextSearchable = true;
50
+ getReadApi() {
51
+ return this.read;
52
+ }
53
+ getManageApi() {
54
+ return this.manage;
55
+ }
56
+ }
57
+ export const SearchableJsonFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
58
+ implementation: SearchableJsonToGraphQL,
59
+ dependencies: []
60
+ });
61
+
62
+ //# sourceMappingURL=SearchableJsonToGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","ReadApi","createTypeField","field","list","fieldId","createGetFilters","createListFilters","ManageApi","createInputField","SearchableJsonToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","SearchableJsonFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["SearchableJsonToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"JSON\");\n }\n}\n\nclass SearchableJsonToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"searchable-json\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = true;\n public readonly isFullTextSearchable: boolean = true;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const SearchableJsonFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: SearchableJsonToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAEhC,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOC,gBAAgBA,CAAC;IAAEH;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,iBAAiBA,CAAC;IAAEJ;EAAgD,CAAC,EAAU;IAClF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;AACJ;AAEA,MAAMG,SAAS,CAA6C;EACjDN,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,iBAAiBA,CAAC;IAAEJ;EAAgD,CAAC,EAAU;IAClF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOI,gBAAgBA,CAAC;IAAEN;EAA8C,CAAC,EAAU;IAC/E,OAAOH,uBAAuB,CAACG,KAAK,EAAE,MAAM,CAAC;EACjD;AACJ;AAEA,MAAMO,uBAAuB,CAA6C;EACtDC,IAAI,GAAG,IAAIV,OAAO,CAAC,CAAC;EACpBW,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,iBAAiB;EAChDC,YAAY,GAAY,IAAI;EAC5BC,UAAU,GAAY,IAAI;EAC1BC,oBAAoB,GAAY,IAAI;EAE7CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,4BAA4B,GAAGpB,sBAAsB,CAACqB,oBAAoB,CAAC;EACpFC,cAAc,EAAEX,uBAAuB;EACvCY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import type { CmsModelFieldType } from "../../../../types/modelField.js";
3
+ declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
4
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
5
+ createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
6
+ createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
7
+ }
8
+ declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
9
+ createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
10
+ createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
11
+ createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
12
+ }
13
+ declare class TextToGraphQL implements CmsModelFieldToGraphQL.Interface {
14
+ readonly read: ReadApi;
15
+ readonly manage: ManageApi;
16
+ readonly fieldType: CmsModelFieldType;
17
+ readonly isSearchable: boolean;
18
+ readonly isSortable: boolean;
19
+ readonly isFullTextSearchable: boolean;
20
+ getReadApi(): CmsModelFieldToGraphQL.ReadApi;
21
+ getManageApi(): CmsModelFieldToGraphQL.ManageApi;
22
+ }
23
+ export declare const TextFieldToGraphQL: typeof TextToGraphQL & {
24
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
25
+ };
26
+ export {};
@@ -0,0 +1,74 @@
1
+ import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
2
+ import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
3
+ const createListFilters = fieldId => {
4
+ return `
5
+ ${fieldId}: String
6
+ ${fieldId}_not: String
7
+ ${fieldId}_in: [String]
8
+ ${fieldId}_not_in: [String]
9
+ ${fieldId}_contains: String
10
+ ${fieldId}_not_contains: String
11
+ ${fieldId}_startsWith: String
12
+ ${fieldId}_not_startsWith: String
13
+ `;
14
+ };
15
+ class ReadApi {
16
+ createTypeField({
17
+ field
18
+ }) {
19
+ if (field.list) {
20
+ return `${field.fieldId}: [String]`;
21
+ }
22
+ return `${field.fieldId}: String`;
23
+ }
24
+ createGetFilters({
25
+ field
26
+ }) {
27
+ return `${field.fieldId}: String`;
28
+ }
29
+ createListFilters({
30
+ field
31
+ }) {
32
+ return createListFilters(field.fieldId);
33
+ }
34
+ }
35
+ class ManageApi {
36
+ createTypeField({
37
+ field
38
+ }) {
39
+ if (field.list) {
40
+ return `${field.fieldId}: [String]`;
41
+ }
42
+ return `${field.fieldId}: String`;
43
+ }
44
+ createListFilters({
45
+ field
46
+ }) {
47
+ return createListFilters(field.fieldId);
48
+ }
49
+ createInputField({
50
+ field
51
+ }) {
52
+ return createGraphQLInputField(field, "String");
53
+ }
54
+ }
55
+ class TextToGraphQL {
56
+ read = new ReadApi();
57
+ manage = new ManageApi();
58
+ fieldType = "text";
59
+ isSearchable = true;
60
+ isSortable = true;
61
+ isFullTextSearchable = true;
62
+ getReadApi() {
63
+ return this.read;
64
+ }
65
+ getManageApi() {
66
+ return this.manage;
67
+ }
68
+ }
69
+ export const TextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
70
+ implementation: TextToGraphQL,
71
+ dependencies: []
72
+ });
73
+
74
+ //# sourceMappingURL=TextToGraphQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","createListFilters","fieldId","ReadApi","createTypeField","field","list","createGetFilters","ManageApi","createInputField","TextToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","TextFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["TextToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\n\nconst createListFilters = (fieldId: string): string => {\n return `\n ${fieldId}: String\n ${fieldId}_not: String\n ${fieldId}_in: [String]\n ${fieldId}_not_in: [String]\n ${fieldId}_contains: String\n ${fieldId}_not_contains: String\n ${fieldId}_startsWith: String\n ${fieldId}_not_startsWith: String\n `;\n};\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: String`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"String\");\n }\n}\n\nclass TextToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"text\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = true;\n public readonly isFullTextSearchable: boolean = true;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const TextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: TextToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAEhC,MAAMC,iBAAiB,GAAIC,OAAe,IAAa;EACnD,OAAO;AACX,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,KAAK;AACL,CAAC;AAED,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACH,OAAO,YAAY;IACvC;IACA,OAAO,GAAGG,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOK,gBAAgBA,CAAC;IAAEF;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOD,iBAAiBA,CAAC;IAAEI;EAAgD,CAAC,EAAU;IAClF,OAAOJ,iBAAiB,CAACI,KAAK,CAACH,OAAO,CAAC;EAC3C;AACJ;AAEA,MAAMM,SAAS,CAA6C;EACjDJ,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACH,OAAO,YAAY;IACvC;IACA,OAAO,GAAGG,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOD,iBAAiBA,CAAC;IAAEI;EAAgD,CAAC,EAAU;IAClF,OAAOJ,iBAAiB,CAACI,KAAK,CAACH,OAAO,CAAC;EAC3C;EAEOO,gBAAgBA,CAAC;IAAEJ;EAA8C,CAAC,EAAU;IAC/E,OAAOL,uBAAuB,CAACK,KAAK,EAAE,QAAQ,CAAC;EACnD;AACJ;AAEA,MAAMK,aAAa,CAA6C;EAC5CC,IAAI,GAAG,IAAIR,OAAO,CAAC,CAAC;EACpBS,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,MAAM;EACrCC,YAAY,GAAY,IAAI;EAC5BC,UAAU,GAAY,IAAI;EAC1BC,oBAAoB,GAAY,IAAI;EAE7CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,kBAAkB,GAAGpB,sBAAsB,CAACqB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEX,aAAa;EAC7BY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { ApiEndpoint, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from "../../../../../types/index.js";
2
+ import type { CmsModelFieldToGraphQLRegistry } from "../../../../../features/graphql/index.js";
3
+ interface CreateTypeDefsForTemplatesParams {
4
+ models: CmsModel[];
5
+ model: CmsModel;
6
+ field: CmsModelField;
7
+ type: ApiEndpoint;
8
+ typeOfType: "type" | "input";
9
+ templates: CmsDynamicZoneTemplate[];
10
+ fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
11
+ }
12
+ export declare const createTypeDefsForTemplates: ({ models, model, field, type, templates, typeOfType, fieldRegistry }: CreateTypeDefsForTemplatesParams) => {
13
+ typeDefs: string[];
14
+ templateTypes: string[];
15
+ };
16
+ export {};
@@ -0,0 +1,37 @@
1
+ import { createTypeName } from "../../../../../utils/createTypeName.js";
2
+ import { createTypeFromFields } from "../../../../../utils/createTypeFromFields.js";
3
+ export const createTypeDefsForTemplates = ({
4
+ models,
5
+ model,
6
+ field,
7
+ type,
8
+ templates,
9
+ typeOfType,
10
+ fieldRegistry
11
+ }) => {
12
+ const typeDefs = [];
13
+ const templateTypes = [];
14
+ templates.forEach(template => {
15
+ const typeName = [model.singularApiName, createTypeName(field.fieldId), template.gqlTypeName].join("_");
16
+ const result = createTypeFromFields({
17
+ models,
18
+ typeOfType,
19
+ model,
20
+ type,
21
+ typeNamePrefix: typeName,
22
+ fields: template.fields,
23
+ fieldRegistry
24
+ });
25
+ if (!result) {
26
+ return;
27
+ }
28
+ typeDefs.push(result.typeDefs);
29
+ templateTypes.push(result.fieldType);
30
+ });
31
+ return {
32
+ typeDefs,
33
+ templateTypes
34
+ };
35
+ };
36
+
37
+ //# sourceMappingURL=createTypeDefsForTemplates.js.map