@webiny/api-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.606fc9c866

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 (442) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +63 -29
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.d.ts +2 -2
  5. package/crud/contentEntry/afterDelete.js +2 -7
  6. package/crud/contentEntry/afterDelete.js.map +1 -1
  7. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  8. package/crud/contentEntry/beforeCreate.js +2 -5
  9. package/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  11. package/crud/contentEntry/beforeUpdate.js +2 -5
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataValidation.js +4 -47
  14. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  15. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  16. package/crud/contentEntry/markLockedFields.js +25 -39
  17. package/crud/contentEntry/markLockedFields.js.map +1 -1
  18. package/crud/contentEntry/referenceFieldsMapping.js +48 -77
  19. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  20. package/crud/contentEntry/searchableFields.d.ts +9 -0
  21. package/crud/contentEntry/searchableFields.js +72 -0
  22. package/crud/contentEntry/searchableFields.js.map +1 -0
  23. package/crud/contentEntry.crud.d.ts +8 -7
  24. package/crud/contentEntry.crud.js +1002 -1022
  25. package/crud/contentEntry.crud.js.map +1 -1
  26. package/crud/contentModel/afterCreate.d.ts +3 -3
  27. package/crud/contentModel/afterCreate.js +5 -7
  28. package/crud/contentModel/afterCreate.js.map +1 -1
  29. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  30. package/crud/contentModel/afterCreateFrom.js +5 -7
  31. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  32. package/crud/contentModel/afterDelete.d.ts +3 -3
  33. package/crud/contentModel/afterDelete.js +5 -7
  34. package/crud/contentModel/afterDelete.js.map +1 -1
  35. package/crud/contentModel/afterUpdate.d.ts +3 -3
  36. package/crud/contentModel/afterUpdate.js +5 -7
  37. package/crud/contentModel/afterUpdate.js.map +1 -1
  38. package/crud/contentModel/beforeCreate.d.ts +5 -6
  39. package/crud/contentModel/beforeCreate.js +53 -119
  40. package/crud/contentModel/beforeCreate.js.map +1 -1
  41. package/crud/contentModel/beforeDelete.d.ts +3 -3
  42. package/crud/contentModel/beforeDelete.js +7 -21
  43. package/crud/contentModel/beforeDelete.js.map +1 -1
  44. package/crud/contentModel/beforeUpdate.d.ts +4 -6
  45. package/crud/contentModel/beforeUpdate.js +38 -15
  46. package/crud/contentModel/beforeUpdate.js.map +1 -1
  47. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  48. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  49. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  50. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  51. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  52. package/crud/contentModel/createFieldStorageId.js +4 -3
  53. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  54. package/crud/contentModel/defaultFields.d.ts +5 -0
  55. package/crud/contentModel/defaultFields.js +58 -0
  56. package/crud/contentModel/defaultFields.js.map +1 -0
  57. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  58. package/crud/contentModel/fields/descriptionField.js +42 -0
  59. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  60. package/crud/contentModel/fields/imageField.d.ts +2 -0
  61. package/crud/contentModel/fields/imageField.js +46 -0
  62. package/crud/contentModel/fields/imageField.js.map +1 -0
  63. package/crud/contentModel/fields/titleField.d.ts +2 -0
  64. package/crud/contentModel/fields/titleField.js +58 -0
  65. package/crud/contentModel/fields/titleField.js.map +1 -0
  66. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  67. package/crud/contentModel/validate/endingAllowed.js +26 -0
  68. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  69. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  70. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  71. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  72. package/crud/contentModel/validate/modelId.d.ts +11 -0
  73. package/crud/contentModel/validate/modelId.js +36 -0
  74. package/crud/contentModel/validate/modelId.js.map +1 -0
  75. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  76. package/crud/contentModel/validate/pluralApiName.js +24 -0
  77. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  78. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  79. package/crud/contentModel/validate/singularApiName.js +24 -0
  80. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  81. package/crud/contentModel/validateLayout.js +0 -8
  82. package/crud/contentModel/validateLayout.js.map +1 -1
  83. package/crud/contentModel/validateModel.d.ts +4 -4
  84. package/crud/contentModel/validateModel.js +7 -12
  85. package/crud/contentModel/validateModel.js.map +1 -1
  86. package/crud/contentModel/validateModelFields.d.ts +4 -4
  87. package/crud/contentModel/validateModelFields.js +133 -154
  88. package/crud/contentModel/validateModelFields.js.map +1 -1
  89. package/crud/contentModel/validation.d.ts +551 -0
  90. package/crud/contentModel/validation.js +145 -0
  91. package/crud/contentModel/validation.js.map +1 -0
  92. package/crud/contentModel.crud.js +410 -375
  93. package/crud/contentModel.crud.js.map +1 -1
  94. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  95. package/crud/contentModelGroup/beforeCreate.js +3 -15
  96. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  97. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  98. package/crud/contentModelGroup/beforeDelete.js +3 -11
  99. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  100. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  101. package/crud/contentModelGroup/beforeUpdate.js +2 -7
  102. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  103. package/crud/contentModelGroup/validation.d.ts +30 -0
  104. package/crud/contentModelGroup/validation.js +34 -0
  105. package/crud/contentModelGroup/validation.js.map +1 -0
  106. package/crud/contentModelGroup.crud.js +227 -221
  107. package/crud/contentModelGroup.crud.js.map +1 -1
  108. package/crud/settings.crud.d.ts +1 -1
  109. package/crud/settings.crud.js +8 -30
  110. package/crud/settings.crud.js.map +1 -1
  111. package/crud/system.crud.js +55 -138
  112. package/crud/system.crud.js.map +1 -1
  113. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -14
  114. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  115. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  116. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  117. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  118. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +16 -71
  119. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  120. package/fieldConverters/index.d.ts +2 -1
  121. package/fieldConverters/index.js +2 -5
  122. package/fieldConverters/index.js.map +1 -1
  123. package/graphql/buildSchemaPlugins.d.ts +8 -3
  124. package/graphql/buildSchemaPlugins.js +6 -14
  125. package/graphql/buildSchemaPlugins.js.map +1 -1
  126. package/graphql/checkEndpointAccess.d.ts +2 -0
  127. package/graphql/checkEndpointAccess.js +18 -0
  128. package/graphql/checkEndpointAccess.js.map +1 -0
  129. package/graphql/createExecutableSchema.d.ts +6 -0
  130. package/graphql/createExecutableSchema.js +29 -0
  131. package/graphql/createExecutableSchema.js.map +1 -0
  132. package/graphql/createRequestBody.d.ts +2 -0
  133. package/graphql/createRequestBody.js +14 -0
  134. package/graphql/createRequestBody.js.map +1 -0
  135. package/graphql/formatErrorPayload.d.ts +1 -0
  136. package/graphql/formatErrorPayload.js +25 -0
  137. package/graphql/formatErrorPayload.js.map +1 -0
  138. package/graphql/generateSchema.d.ts +8 -0
  139. package/graphql/generateSchema.js +31 -0
  140. package/graphql/generateSchema.js.map +1 -0
  141. package/graphql/getSchema.d.ts +17 -0
  142. package/graphql/getSchema.js +102 -0
  143. package/graphql/getSchema.js.map +1 -0
  144. package/graphql/graphQLHandlerFactory.js +7 -130
  145. package/graphql/graphQLHandlerFactory.js.map +1 -1
  146. package/graphql/handleRequest.d.ts +11 -0
  147. package/graphql/handleRequest.js +81 -0
  148. package/graphql/handleRequest.js.map +1 -0
  149. package/graphql/index.d.ts +1 -3
  150. package/graphql/index.js +2 -46
  151. package/graphql/index.js.map +1 -1
  152. package/graphql/schema/baseContentSchema.d.ts +6 -2
  153. package/graphql/schema/baseContentSchema.js +15 -29
  154. package/graphql/schema/baseContentSchema.js.map +1 -1
  155. package/graphql/schema/baseSchema.d.ts +3 -0
  156. package/graphql/schema/baseSchema.js +53 -0
  157. package/graphql/schema/baseSchema.js.map +1 -0
  158. package/graphql/schema/contentEntries.d.ts +6 -2
  159. package/graphql/schema/contentEntries.js +119 -108
  160. package/graphql/schema/contentEntries.js.map +1 -1
  161. package/graphql/schema/contentModelGroups.d.ts +6 -2
  162. package/graphql/schema/contentModelGroups.js +16 -29
  163. package/graphql/schema/contentModelGroups.js.map +1 -1
  164. package/graphql/schema/contentModels.d.ts +6 -2
  165. package/graphql/schema/contentModels.js +77 -22
  166. package/graphql/schema/contentModels.js.map +1 -1
  167. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  168. package/graphql/schema/createFieldResolvers.js +26 -38
  169. package/graphql/schema/createFieldResolvers.js.map +1 -1
  170. package/graphql/schema/createManageResolvers.d.ts +1 -1
  171. package/graphql/schema/createManageResolvers.js +42 -60
  172. package/graphql/schema/createManageResolvers.js.map +1 -1
  173. package/graphql/schema/createManageSDL.d.ts +3 -0
  174. package/graphql/schema/createManageSDL.js +66 -73
  175. package/graphql/schema/createManageSDL.js.map +1 -1
  176. package/graphql/schema/createPreviewResolvers.js +6 -24
  177. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  178. package/graphql/schema/createReadResolvers.js +11 -24
  179. package/graphql/schema/createReadResolvers.js.map +1 -1
  180. package/graphql/schema/createReadSDL.d.ts +3 -0
  181. package/graphql/schema/createReadSDL.js +33 -35
  182. package/graphql/schema/createReadSDL.js.map +1 -1
  183. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  184. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  185. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  186. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  187. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  188. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  189. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  190. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  191. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  192. package/graphql/schema/resolvers/manage/resolveGet.js +5 -25
  193. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  194. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  195. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  196. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  197. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  198. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  199. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  200. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  201. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  202. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  203. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  204. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  205. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  206. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  207. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  208. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  209. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  210. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  211. package/graphql/schema/resolvers/preview/resolveGet.js +3 -15
  212. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  213. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  214. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  215. package/graphql/schema/resolvers/read/resolveGet.js +3 -15
  216. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  217. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  218. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  219. package/graphql/schema/schemaPlugins.d.ts +8 -3
  220. package/graphql/schema/schemaPlugins.js +64 -66
  221. package/graphql/schema/schemaPlugins.js.map +1 -1
  222. package/graphql/system.js +55 -87
  223. package/graphql/system.js.map +1 -1
  224. package/graphqlFields/boolean.js +0 -12
  225. package/graphqlFields/boolean.js.map +1 -1
  226. package/graphqlFields/datetime.js +0 -17
  227. package/graphqlFields/datetime.js.map +1 -1
  228. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  229. package/graphqlFields/dynamicZone/dynamicZoneField.js +243 -0
  230. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  231. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  232. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  233. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  234. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  235. package/graphqlFields/dynamicZone/index.js +19 -0
  236. package/graphqlFields/dynamicZone/index.js.map +1 -0
  237. package/graphqlFields/file.js +0 -8
  238. package/graphqlFields/file.js.map +1 -1
  239. package/graphqlFields/helpers.js +0 -10
  240. package/graphqlFields/helpers.js.map +1 -1
  241. package/graphqlFields/index.d.ts +1 -1
  242. package/graphqlFields/index.js +2 -12
  243. package/graphqlFields/index.js.map +1 -1
  244. package/graphqlFields/longText.js +0 -10
  245. package/graphqlFields/longText.js.map +1 -1
  246. package/graphqlFields/number.js +4 -12
  247. package/graphqlFields/number.js.map +1 -1
  248. package/graphqlFields/object.js +132 -99
  249. package/graphqlFields/object.js.map +1 -1
  250. package/graphqlFields/ref.js +90 -114
  251. package/graphqlFields/ref.js.map +1 -1
  252. package/graphqlFields/richText.js +0 -9
  253. package/graphqlFields/richText.js.map +1 -1
  254. package/graphqlFields/text.js +0 -11
  255. package/graphqlFields/text.js.map +1 -1
  256. package/index.d.ts +5 -3
  257. package/index.js +27 -27
  258. package/index.js.map +1 -1
  259. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  260. package/modelManager/DefaultCmsModelManager.js +1 -17
  261. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  262. package/modelManager/index.js +0 -4
  263. package/modelManager/index.js.map +1 -1
  264. package/package.json +30 -32
  265. package/parameters/context.js +0 -4
  266. package/parameters/context.js.map +1 -1
  267. package/parameters/header.js +1 -12
  268. package/parameters/header.js.map +1 -1
  269. package/parameters/index.js +0 -8
  270. package/parameters/index.js.map +1 -1
  271. package/parameters/manual.js +7 -15
  272. package/parameters/manual.js.map +1 -1
  273. package/parameters/path.js +1 -12
  274. package/parameters/path.js.map +1 -1
  275. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  276. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  277. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  278. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  279. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  280. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  281. package/plugins/CmsGroupPlugin.js +1 -9
  282. package/plugins/CmsGroupPlugin.js.map +1 -1
  283. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  284. package/plugins/CmsModelFieldConverterPlugin.js +1 -6
  285. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  286. package/plugins/CmsModelPlugin.d.ts +27 -5
  287. package/plugins/CmsModelPlugin.js +46 -51
  288. package/plugins/CmsModelPlugin.js.map +1 -1
  289. package/plugins/CmsParametersPlugin.js +1 -8
  290. package/plugins/CmsParametersPlugin.js.map +1 -1
  291. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  292. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  293. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  294. package/plugins/StorageTransformPlugin.d.ts +11 -11
  295. package/plugins/StorageTransformPlugin.js +1 -10
  296. package/plugins/StorageTransformPlugin.js.map +1 -1
  297. package/plugins/index.d.ts +3 -0
  298. package/plugins/index.js +33 -10
  299. package/plugins/index.js.map +1 -1
  300. package/storage/default.js +0 -3
  301. package/storage/default.js.map +1 -1
  302. package/storage/object.js +7 -27
  303. package/storage/object.js.map +1 -1
  304. package/types.d.ts +642 -239
  305. package/types.js +67 -72
  306. package/types.js.map +1 -1
  307. package/utils/access.js +11 -25
  308. package/utils/access.js.map +1 -1
  309. package/utils/converters/Converter.js +1 -14
  310. package/utils/converters/Converter.js.map +1 -1
  311. package/utils/converters/ConverterCollection.d.ts +7 -0
  312. package/utils/converters/ConverterCollection.js +36 -32
  313. package/utils/converters/ConverterCollection.js.map +1 -1
  314. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  315. package/utils/converters/valueKeyStorageConverter.js +23 -50
  316. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  317. package/utils/createTypeFromFields.d.ts +16 -0
  318. package/utils/createTypeFromFields.js +66 -0
  319. package/utils/createTypeFromFields.js.map +1 -0
  320. package/utils/createTypeName.d.ts +0 -2
  321. package/utils/createTypeName.js +5 -20
  322. package/utils/createTypeName.js.map +1 -1
  323. package/utils/entryStorage.js +25 -42
  324. package/utils/entryStorage.js.map +1 -1
  325. package/utils/filterAsync.js +0 -5
  326. package/utils/filterAsync.js.map +1 -1
  327. package/utils/getBaseFieldType.d.ts +4 -0
  328. package/utils/getBaseFieldType.js +10 -0
  329. package/utils/getBaseFieldType.js.map +1 -0
  330. package/utils/getEntryDescription.d.ts +2 -0
  331. package/utils/getEntryDescription.js +17 -0
  332. package/utils/getEntryDescription.js.map +1 -0
  333. package/utils/getEntryImage.d.ts +2 -0
  334. package/utils/getEntryImage.js +17 -0
  335. package/utils/getEntryImage.js.map +1 -0
  336. package/utils/getEntryTitle.js +0 -9
  337. package/utils/getEntryTitle.js.map +1 -1
  338. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  339. package/utils/getSchemaFromFieldPlugins.js +23 -19
  340. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  341. package/utils/incrementEntryIdVersion.d.ts +5 -0
  342. package/utils/incrementEntryIdVersion.js +29 -0
  343. package/utils/incrementEntryIdVersion.js.map +1 -0
  344. package/utils/ownership.d.ts +3 -3
  345. package/utils/ownership.js +0 -8
  346. package/utils/ownership.js.map +1 -1
  347. package/utils/permissions.js +7 -26
  348. package/utils/permissions.js.map +1 -1
  349. package/utils/renderFields.d.ts +2 -1
  350. package/utils/renderFields.js +10 -10
  351. package/utils/renderFields.js.map +1 -1
  352. package/utils/renderGetFilterFields.js +6 -14
  353. package/utils/renderGetFilterFields.js.map +1 -1
  354. package/utils/renderInputFields.d.ts +2 -1
  355. package/utils/renderInputFields.js +6 -9
  356. package/utils/renderInputFields.js.map +1 -1
  357. package/utils/renderListFilterFields.js +10 -9
  358. package/utils/renderListFilterFields.js.map +1 -1
  359. package/utils/renderSortEnum.d.ts +7 -4
  360. package/utils/renderSortEnum.js +21 -11
  361. package/utils/renderSortEnum.js.map +1 -1
  362. package/utils/toSlug.js +1 -5
  363. package/utils/toSlug.js.map +1 -1
  364. package/validators/dateGte.js +0 -7
  365. package/validators/dateGte.js.map +1 -1
  366. package/validators/dateLte.js +0 -7
  367. package/validators/dateLte.js.map +1 -1
  368. package/validators/dynamicZone.d.ts +2 -0
  369. package/validators/dynamicZone.js +20 -0
  370. package/validators/dynamicZone.js.map +1 -0
  371. package/validators/gte.js +0 -8
  372. package/validators/gte.js.map +1 -1
  373. package/validators/in.js +0 -8
  374. package/validators/in.js.map +1 -1
  375. package/validators/index.js +2 -16
  376. package/validators/index.js.map +1 -1
  377. package/validators/lte.js +0 -8
  378. package/validators/lte.js.map +1 -1
  379. package/validators/maxLength.js +0 -8
  380. package/validators/maxLength.js.map +1 -1
  381. package/validators/minLength.js +0 -8
  382. package/validators/minLength.js.map +1 -1
  383. package/validators/pattern.js +0 -9
  384. package/validators/pattern.js.map +1 -1
  385. package/validators/patternPlugins/email.js +0 -2
  386. package/validators/patternPlugins/email.js.map +1 -1
  387. package/validators/patternPlugins/index.js +0 -8
  388. package/validators/patternPlugins/index.js.map +1 -1
  389. package/validators/patternPlugins/lowerCase.js +0 -2
  390. package/validators/patternPlugins/lowerCase.js.map +1 -1
  391. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  392. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  393. package/validators/patternPlugins/upperCase.js +0 -2
  394. package/validators/patternPlugins/upperCase.js.map +1 -1
  395. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  396. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  397. package/validators/patternPlugins/url.js +0 -2
  398. package/validators/patternPlugins/url.js.map +1 -1
  399. package/validators/required.js +0 -5
  400. package/validators/required.js.map +1 -1
  401. package/validators/timeGte.js +0 -8
  402. package/validators/timeGte.js.map +1 -1
  403. package/validators/timeLte.js +0 -8
  404. package/validators/timeLte.js.map +1 -1
  405. package/validators/unique.js +1 -8
  406. package/validators/unique.js.map +1 -1
  407. package/crud/contentModel/createFieldModels.d.ts +0 -2
  408. package/crud/contentModel/createFieldModels.js +0 -26
  409. package/crud/contentModel/createFieldModels.js.map +0 -1
  410. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  411. package/crud/contentModel/fieldIdValidation.js +0 -25
  412. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  413. package/crud/contentModel/idValidation.d.ts +0 -1
  414. package/crud/contentModel/idValidation.js +0 -22
  415. package/crud/contentModel/idValidation.js.map +0 -1
  416. package/crud/contentModel/models.d.ts +0 -4
  417. package/crud/contentModel/models.js +0 -180
  418. package/crud/contentModel/models.js.map +0 -1
  419. package/crud/contentModel/systemFields.d.ts +0 -1
  420. package/crud/contentModel/systemFields.js +0 -8
  421. package/crud/contentModel/systemFields.js.map +0 -1
  422. package/crud/index.d.ts +0 -6
  423. package/crud/index.js +0 -89
  424. package/crud/index.js.map +0 -1
  425. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  426. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  427. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  428. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  429. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  430. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  431. package/upgrades/5.33.0/index.d.ts +0 -3
  432. package/upgrades/5.33.0/index.js +0 -186
  433. package/upgrades/5.33.0/index.js.map +0 -1
  434. package/upgrades/index.d.ts +0 -1
  435. package/upgrades/index.js +0 -12
  436. package/upgrades/index.js.map +0 -1
  437. package/utils/filterModelFields.d.ts +0 -16
  438. package/utils/filterModelFields.js +0 -81
  439. package/utils/filterModelFields.js.map +0 -1
  440. package/utils/pluralizedTypeName.d.ts +0 -1
  441. package/utils/pluralizedTypeName.js +0 -26
  442. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1,88 +1,75 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createObjectField = void 0;
9
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
10
  var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
11
-
12
- var _renderFields = require("../utils/renderFields");
13
-
14
- var _renderInputFields = require("../utils/renderInputFields");
15
-
16
- var _createTypeName = require("../utils/createTypeName");
17
-
18
11
  var _helpers = require("./helpers");
19
-
20
- const typeFromField = params => {
21
- var _field$settings;
22
-
12
+ var _createTypeFromFields = require("../utils/createTypeFromFields");
13
+ const createChildTypeDefs = params => {
14
+ var _field$settings, _field$settings2;
23
15
  const {
24
- typeOfType,
25
- model,
26
- type,
27
16
  field,
28
- fieldTypePlugins
17
+ plugins,
18
+ model,
19
+ endpointType
29
20
  } = params;
30
- const typeSuffix = typeOfType === "input" ? "Input" : "";
31
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
32
- const mTypeName = (0, _createTypeName.createManageTypeName)(typeName); // `field` is an "object" field
33
-
34
21
  const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
35
- const fieldTypeName = `${mTypeName}_${(0, _upperFirst.default)(field.fieldId)}`;
36
- const typeFields = [];
37
- const nestedTypes = []; // Once the loop below starts, we'll be executing a recursive "object" type generation.
38
- // The main trick here is that nested objects don't know who the parent is, and will generate
39
- // type names using the "model", as if they're at the top level:
40
- // Every time the types are returned, we need to replace the model name in the generated type name
41
- // with the actual prefix which includes parent field name type.
42
-
43
- const replace = new RegExp(`${mTypeName}_`, "g");
44
-
45
- for (const f of fields) {
46
- const result = typeOfType === "type" ? (0, _renderFields.renderField)({
47
- field: f,
48
- type,
49
- model,
50
- fieldTypePlugins
51
- }) : (0, _renderInputFields.renderInputField)({
52
- field: f,
22
+ const typeName = createTypeName({
23
+ model,
24
+ field,
25
+ parents: (_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.parents
26
+ });
27
+ const filters = fields.map(child => {
28
+ var _child$settings;
29
+ const createListFilters = plugins[child.type][endpointType].createListFilters;
30
+ if (!createListFilters) {
31
+ return null;
32
+ }
33
+ const filters = createListFilters({
53
34
  model,
54
- fieldTypePlugins
35
+ field: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, child), {}, {
36
+ settings: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, child.settings), {}, {
37
+ parents: (((_child$settings = child.settings) === null || _child$settings === void 0 ? void 0 : _child$settings.parents) || []).concat([field.fieldId])
38
+ })
39
+ }),
40
+ plugins
55
41
  });
56
-
57
- if (!result) {
58
- continue;
42
+ if (!filters) {
43
+ return null;
59
44
  }
60
-
61
- const {
62
- fields,
63
- typeDefs
64
- } = result;
65
- typeFields.push(fields.replace(replace, `${fieldTypeName}_`));
66
-
67
- if (typeDefs) {
68
- nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));
69
- }
70
- }
71
-
72
- return {
73
- fieldType: `${fieldTypeName}${typeSuffix}`,
74
- typeDefs:
75
- /* GraphQL */
76
- `
77
- ${nestedTypes.join("\n")}
78
-
79
- ${typeOfType} ${fieldTypeName}${typeSuffix} {
80
- ${typeFields.join("\n")}
81
- }
82
- `
83
- };
45
+ return filters;
46
+ }).filter(Boolean).join("\n");
47
+ return `input ${typeName}WhereInput {
48
+ ${filters || "_empty: String"}
49
+ }`;
50
+ };
51
+ const createTypeName = params => {
52
+ const {
53
+ model,
54
+ parents = [],
55
+ field
56
+ } = params;
57
+ return [model.singularApiName].concat(parents).concat([field.fieldId]).filter(Boolean).map(id => {
58
+ return (0, _upperFirst.default)(id);
59
+ }).join("_");
60
+ };
61
+ const createListFilters = ({
62
+ field,
63
+ model
64
+ }) => {
65
+ var _field$settings3;
66
+ const typeName = createTypeName({
67
+ model,
68
+ field,
69
+ parents: (_field$settings3 = field.settings) === null || _field$settings3 === void 0 ? void 0 : _field$settings3.parents
70
+ });
71
+ return `${field.fieldId}: ${typeName}WhereInput`;
84
72
  };
85
-
86
73
  const createObjectField = () => {
87
74
  return {
88
75
  name: "cms-model-field-to-graphql-object",
@@ -90,45 +77,78 @@ const createObjectField = () => {
90
77
  fieldType: "object",
91
78
  isSortable: false,
92
79
  isSearchable: false,
80
+ validateChildFields: params => {
81
+ var _field$settings4, _originalField$settin;
82
+ const {
83
+ field,
84
+ originalField,
85
+ validate
86
+ } = params;
87
+ const fields = ((_field$settings4 = field.settings) === null || _field$settings4 === void 0 ? void 0 : _field$settings4.fields) || [];
88
+ /**
89
+ * At the moment we do not allow dynamic zone fields inside the object field.
90
+ */
91
+ const hasDynamicZone = fields.some(f => f.type === "dynamicZone");
92
+ if (hasDynamicZone) {
93
+ throw new _error.default("Dynamic zones cannot be used inside of an object field.", "DYNAMIC_ZONE_INSIDE_OBJECT", {
94
+ id: field.id,
95
+ fieldId: field.fieldId,
96
+ fieldLabel: field.label
97
+ });
98
+ }
99
+ validate({
100
+ fields,
101
+ originalFields: (originalField === null || originalField === void 0 ? void 0 : (_originalField$settin = originalField.settings) === null || _originalField$settin === void 0 ? void 0 : _originalField$settin.fields) || []
102
+ });
103
+ },
93
104
  read: {
94
105
  createTypeField({
95
106
  field,
107
+ models,
96
108
  model,
97
109
  fieldTypePlugins
98
110
  }) {
99
- const result = typeFromField({
111
+ var _field$settings5, _field$settings6;
112
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
113
+ models,
100
114
  typeOfType: "type",
101
115
  model,
102
116
  type: "read",
103
- field,
117
+ typeNamePrefix: createTypeName({
118
+ model,
119
+ field,
120
+ parents: (_field$settings5 = field.settings) === null || _field$settings5 === void 0 ? void 0 : _field$settings5.parents
121
+ }),
122
+ fields: ((_field$settings6 = field.settings) === null || _field$settings6 === void 0 ? void 0 : _field$settings6.fields) || [],
104
123
  fieldTypePlugins
105
124
  });
106
-
107
125
  if (!result) {
108
126
  return null;
109
127
  }
110
-
111
128
  const {
112
129
  fieldType,
113
130
  typeDefs
114
131
  } = result;
132
+ const childTypeDefs = createChildTypeDefs({
133
+ model,
134
+ field,
135
+ plugins: fieldTypePlugins,
136
+ endpointType: "read"
137
+ });
115
138
  return {
116
139
  fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
117
- typeDefs
140
+ typeDefs: `${typeDefs}${childTypeDefs}`
118
141
  };
119
142
  },
120
-
121
143
  createResolver({
122
144
  field,
123
145
  createFieldResolvers,
124
146
  graphQLType
125
147
  }) {
126
- var _field$settings2;
127
-
128
- if (!((_field$settings2 = field.settings) !== null && _field$settings2 !== void 0 && _field$settings2.fields) || field.settings.fields.length === 0) {
148
+ var _field$settings7;
149
+ if (!((_field$settings7 = field.settings) !== null && _field$settings7 !== void 0 && _field$settings7.fields) || field.settings.fields.length === 0) {
129
150
  return false;
130
151
  }
131
-
132
152
  const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
133
153
  const typeResolvers = createFieldResolvers({
134
154
  graphQLType: fieldType,
@@ -138,54 +158,71 @@ const createObjectField = () => {
138
158
  resolver: null,
139
159
  typeResolvers: typeResolvers || {}
140
160
  };
141
- }
142
-
161
+ },
162
+ createListFilters
143
163
  },
144
164
  manage: {
145
165
  createTypeField({
166
+ models,
146
167
  model,
147
168
  field,
148
169
  fieldTypePlugins
149
170
  }) {
150
- const result = typeFromField({
171
+ var _field$settings8, _field$settings9;
172
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
151
173
  typeOfType: "type",
174
+ models,
152
175
  model,
153
176
  type: "manage",
154
- field,
177
+ typeNamePrefix: createTypeName({
178
+ model,
179
+ field,
180
+ parents: (_field$settings8 = field.settings) === null || _field$settings8 === void 0 ? void 0 : _field$settings8.parents
181
+ }),
182
+ fields: ((_field$settings9 = field.settings) === null || _field$settings9 === void 0 ? void 0 : _field$settings9.fields) || [],
155
183
  fieldTypePlugins
156
184
  });
157
-
158
185
  if (!result) {
159
186
  return null;
160
187
  }
161
-
162
188
  const {
163
189
  fieldType,
164
190
  typeDefs
165
191
  } = result;
192
+ const childTypeDefs = createChildTypeDefs({
193
+ model,
194
+ field,
195
+ plugins: fieldTypePlugins,
196
+ endpointType: "manage"
197
+ });
166
198
  return {
167
199
  fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
168
- typeDefs
200
+ typeDefs: `${typeDefs}${childTypeDefs}`
169
201
  };
170
202
  },
171
-
172
203
  createInputField({
204
+ models,
173
205
  model,
174
206
  field,
175
207
  fieldTypePlugins
176
208
  }) {
177
- const result = typeFromField({
209
+ var _field$settings10, _field$settings11;
210
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
178
211
  typeOfType: "input",
212
+ models,
179
213
  model,
180
214
  type: "manage",
181
- field,
215
+ typeNamePrefix: createTypeName({
216
+ model,
217
+ field,
218
+ parents: (_field$settings10 = field.settings) === null || _field$settings10 === void 0 ? void 0 : _field$settings10.parents
219
+ }),
220
+ fields: ((_field$settings11 = field.settings) === null || _field$settings11 === void 0 ? void 0 : _field$settings11.fields) || [],
182
221
  fieldTypePlugins
183
222
  });
184
-
185
223
  if (!result) {
186
224
  return null;
187
225
  }
188
-
189
226
  const {
190
227
  fieldType,
191
228
  typeDefs
@@ -195,18 +232,15 @@ const createObjectField = () => {
195
232
  typeDefs
196
233
  };
197
234
  },
198
-
199
235
  createResolver({
200
236
  graphQLType,
201
237
  field,
202
238
  createFieldResolvers
203
239
  }) {
204
- var _field$settings3;
205
-
206
- if (!((_field$settings3 = field.settings) !== null && _field$settings3 !== void 0 && _field$settings3.fields) || field.settings.fields.length === 0) {
240
+ var _field$settings12;
241
+ if (!((_field$settings12 = field.settings) !== null && _field$settings12 !== void 0 && _field$settings12.fields) || field.settings.fields.length === 0) {
207
242
  return false;
208
243
  }
209
-
210
244
  const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
211
245
  const typeResolvers = createFieldResolvers({
212
246
  graphQLType: fieldType,
@@ -216,10 +250,9 @@ const createObjectField = () => {
216
250
  resolver: null,
217
251
  typeResolvers: typeResolvers || {}
218
252
  };
219
- }
220
-
253
+ },
254
+ createListFilters
221
255
  }
222
256
  };
223
257
  };
224
-
225
258
  exports.createObjectField = createObjectField;
@@ -1 +1 @@
1
- {"version":3,"names":["typeFromField","params","typeOfType","model","type","field","fieldTypePlugins","typeSuffix","typeName","createTypeName","modelId","mTypeName","createManageTypeName","fields","settings","fieldTypeName","upperFirst","fieldId","typeFields","nestedTypes","replace","RegExp","f","result","renderField","renderInputField","typeDefs","push","fieldType","join","createObjectField","name","isSortable","isSearchable","read","createTypeField","multipleValues","createResolver","createFieldResolvers","graphQLType","length","typeResolvers","resolver","manage","createInputField","attachRequiredFieldValue"],"sources":["object.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { renderField } from \"~/utils/renderFields\";\nimport { renderInputField } from \"~/utils/renderInputFields\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { attachRequiredFieldValue } from \"./helpers\";\n\ninterface TypeFromFieldParams {\n typeOfType: string;\n model: CmsModel;\n type: ApiEndpoint;\n field: CmsModelField;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\nconst typeFromField = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, field, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n // `field` is an \"object\" field\n const fields: CmsModelField[] = field.settings?.fields || [];\n\n const fieldTypeName = `${mTypeName}_${upperFirst(field.fieldId)}`;\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${fieldTypeName}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));\n }\n }\n\n return {\n fieldType: `${fieldTypeName}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n \n ${typeOfType} ${fieldTypeName}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n\nexport const createObjectField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field, model, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"read\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"input\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createChildTypeDefs","params","field","plugins","model","endpointType","fields","settings","typeName","createTypeName","parents","filters","map","child","createListFilters","type","concat","fieldId","filter","Boolean","join","singularApiName","id","lodashUpperFirst","createObjectField","name","fieldType","isSortable","isSearchable","validateChildFields","originalField","validate","hasDynamicZone","some","f","WebinyError","fieldLabel","label","originalFields","read","createTypeField","models","fieldTypePlugins","result","createTypeFromFields","typeOfType","typeNamePrefix","typeDefs","childTypeDefs","multipleValues","createResolver","createFieldResolvers","graphQLType","length","upperFirst","typeResolvers","resolver","manage","createInputField","attachRequiredFieldValue"],"sources":["object.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\nimport {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { attachRequiredFieldValue } from \"./helpers\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\n\ninterface AttachTypeDefinitionsParams {\n model: CmsModel;\n field: CmsModelField;\n plugins: CmsFieldTypePlugins;\n endpointType: \"manage\" | \"read\";\n}\nconst createChildTypeDefs = (params: AttachTypeDefinitionsParams): string => {\n const { field, plugins, model, endpointType } = params;\n const fields = field.settings?.fields || [];\n\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n const filters = fields\n .map(child => {\n const createListFilters = plugins[child.type][endpointType].createListFilters;\n if (!createListFilters) {\n return null;\n }\n\n const filters = createListFilters({\n model,\n field: {\n ...child,\n settings: {\n ...child.settings,\n parents: (child.settings?.parents || []).concat([field.fieldId])\n }\n },\n plugins\n });\n if (!filters) {\n return null;\n }\n return filters;\n })\n .filter(Boolean)\n .join(\"\\n\");\n return `input ${typeName}WhereInput {\n ${filters || \"_empty: String\"}\n }`;\n};\n\ninterface CreateTypeNameParams {\n model: CmsModel;\n parents?: string[];\n field: CmsModelField;\n}\nconst createTypeName = (params: CreateTypeNameParams): string => {\n const { model, parents = [], field } = params;\n return [model.singularApiName]\n .concat(parents)\n .concat([field.fieldId])\n .filter(Boolean)\n .map(id => {\n return lodashUpperFirst(id);\n })\n .join(\"_\");\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n model: CmsModel;\n}\nconst createListFilters = ({ field, model }: CreateListFiltersParams) => {\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n return `${field.fieldId}: ${typeName}WhereInput`;\n};\n\nexport const createObjectField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { field, originalField, validate } = params;\n\n const fields = field.settings?.fields || [];\n /**\n * At the moment we do not allow dynamic zone fields inside the object field.\n */\n const hasDynamicZone = fields.some(f => f.type === \"dynamicZone\");\n if (hasDynamicZone) {\n throw new WebinyError(\n \"Dynamic zones cannot be used inside of an object field.\",\n \"DYNAMIC_ZONE_INSIDE_OBJECT\",\n {\n id: field.id,\n fieldId: field.fieldId,\n fieldLabel: field.label\n }\n );\n }\n\n validate({\n fields,\n originalFields: originalField?.settings?.fields || []\n });\n },\n read: {\n createTypeField({ field, models, model, fieldTypePlugins }) {\n const result = createTypeFromFields({\n models,\n typeOfType: \"type\",\n model,\n type: \"read\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"read\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}${childTypeDefs}`\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"type\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"manage\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}${childTypeDefs}`\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"input\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}