@webiny/api-headless-cms 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2696f9d9e8

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 (579) hide show
  1. package/constants.d.ts +32 -0
  2. package/constants.js +57 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +5 -2
  5. package/context.js +100 -25
  6. package/context.js.map +1 -1
  7. package/crud/contentEntry/afterDelete.js +2 -5
  8. package/crud/contentEntry/afterDelete.js.map +1 -1
  9. package/crud/contentEntry/beforeCreate.js +2 -3
  10. package/crud/contentEntry/beforeCreate.js.map +1 -1
  11. package/crud/contentEntry/beforeUpdate.js +2 -3
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  14. package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
  15. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  16. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
  17. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
  18. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  19. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  20. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
  21. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  22. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  23. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
  24. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  25. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  26. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
  27. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  28. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  29. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
  30. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  31. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  32. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  33. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  34. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  35. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  36. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  37. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  38. package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
  39. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  40. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  41. package/crud/contentEntry/entryDataValidation.js +222 -83
  42. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  43. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  44. package/crud/contentEntry/markLockedFields.js +34 -37
  45. package/crud/contentEntry/markLockedFields.js.map +1 -1
  46. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  47. package/crud/contentEntry/referenceFieldsMapping.js +145 -145
  48. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  49. package/crud/contentEntry/searchableFields.d.ts +9 -0
  50. package/crud/contentEntry/searchableFields.js +73 -0
  51. package/crud/contentEntry/searchableFields.js.map +1 -0
  52. package/crud/contentEntry.crud.d.ts +9 -5
  53. package/crud/contentEntry.crud.js +1121 -1070
  54. package/crud/contentEntry.crud.js.map +1 -1
  55. package/crud/contentModel/beforeCreate.d.ts +2 -3
  56. package/crud/contentModel/beforeCreate.js +53 -117
  57. package/crud/contentModel/beforeCreate.js.map +1 -1
  58. package/crud/contentModel/beforeDelete.d.ts +1 -1
  59. package/crud/contentModel/beforeDelete.js +3 -15
  60. package/crud/contentModel/beforeDelete.js.map +1 -1
  61. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  62. package/crud/contentModel/beforeUpdate.js +32 -12
  63. package/crud/contentModel/beforeUpdate.js.map +1 -1
  64. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  65. package/crud/contentModel/compatibility/modelApiName.js +26 -0
  66. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  67. package/crud/contentModel/contentModelManagerFactory.js +2 -7
  68. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  69. package/crud/contentModel/createFieldStorageId.js +6 -3
  70. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  71. package/crud/contentModel/defaultFields.d.ts +5 -0
  72. package/crud/contentModel/defaultFields.js +60 -0
  73. package/crud/contentModel/defaultFields.js.map +1 -0
  74. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  75. package/crud/contentModel/ensureTypeTag.js +21 -0
  76. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  77. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  78. package/crud/contentModel/fields/descriptionField.js +44 -0
  79. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  80. package/crud/contentModel/fields/imageField.d.ts +2 -0
  81. package/crud/contentModel/fields/imageField.js +44 -0
  82. package/crud/contentModel/fields/imageField.js.map +1 -0
  83. package/crud/contentModel/fields/titleField.d.ts +2 -0
  84. package/crud/contentModel/fields/titleField.js +60 -0
  85. package/crud/contentModel/fields/titleField.js.map +1 -0
  86. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  87. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  88. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  89. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  90. package/crud/contentModel/validate/endingAllowed.js +28 -0
  91. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  92. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  93. package/crud/contentModel/validate/isModelEndingAllowed.js +26 -0
  94. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  95. package/crud/contentModel/validate/modelId.d.ts +11 -0
  96. package/crud/contentModel/validate/modelId.js +38 -0
  97. package/crud/contentModel/validate/modelId.js.map +1 -0
  98. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  99. package/crud/contentModel/validate/pluralApiName.js +26 -0
  100. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  101. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  102. package/crud/contentModel/validate/singularApiName.js +26 -0
  103. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  104. package/crud/contentModel/validateModel.d.ts +4 -4
  105. package/crud/contentModel/validateModel.js +8 -11
  106. package/crud/contentModel/validateModel.js.map +1 -1
  107. package/crud/contentModel/validateModelFields.d.ts +4 -4
  108. package/crud/contentModel/validateModelFields.js +136 -152
  109. package/crud/contentModel/validateModelFields.js.map +1 -1
  110. package/crud/contentModel/validation.d.ts +872 -0
  111. package/crud/contentModel/validation.js +205 -0
  112. package/crud/contentModel/validation.js.map +1 -0
  113. package/crud/contentModel.crud.d.ts +2 -0
  114. package/crud/contentModel.crud.js +436 -445
  115. package/crud/contentModel.crud.js.map +1 -1
  116. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  117. package/crud/contentModelGroup/beforeCreate.js +14 -12
  118. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  119. package/crud/contentModelGroup/beforeDelete.js +2 -8
  120. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  121. package/crud/contentModelGroup/beforeUpdate.js +2 -5
  122. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  123. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  124. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  125. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  126. package/crud/contentModelGroup/validation.d.ts +33 -0
  127. package/crud/contentModelGroup/validation.js +37 -0
  128. package/crud/contentModelGroup/validation.js.map +1 -0
  129. package/crud/contentModelGroup.crud.d.ts +3 -1
  130. package/crud/contentModelGroup.crud.js +291 -289
  131. package/crud/contentModelGroup.crud.js.map +1 -1
  132. package/crud/system.crud.js +8 -106
  133. package/crud/system.crud.js.map +1 -1
  134. package/export/crud/exporting.d.ts +3 -0
  135. package/export/crud/exporting.js +49 -0
  136. package/export/crud/exporting.js.map +1 -0
  137. package/export/crud/importing.d.ts +3 -0
  138. package/export/crud/importing.js +79 -0
  139. package/export/crud/importing.js.map +1 -0
  140. package/export/crud/imports/importData.d.ts +14 -0
  141. package/export/crud/imports/importData.js +52 -0
  142. package/export/crud/imports/importData.js.map +1 -0
  143. package/export/crud/imports/importGroups.d.ts +8 -0
  144. package/export/crud/imports/importGroups.js +104 -0
  145. package/export/crud/imports/importGroups.js.map +1 -0
  146. package/export/crud/imports/importModels.d.ts +8 -0
  147. package/export/crud/imports/importModels.js +136 -0
  148. package/export/crud/imports/importModels.js.map +1 -0
  149. package/export/crud/imports/validateGroups.d.ts +8 -0
  150. package/export/crud/imports/validateGroups.js +112 -0
  151. package/export/crud/imports/validateGroups.js.map +1 -0
  152. package/export/crud/imports/validateInput.d.ts +19 -0
  153. package/export/crud/imports/validateInput.js +55 -0
  154. package/export/crud/imports/validateInput.js.map +1 -0
  155. package/export/crud/imports/validateModels.d.ts +12 -0
  156. package/export/crud/imports/validateModels.js +203 -0
  157. package/export/crud/imports/validateModels.js.map +1 -0
  158. package/export/crud/index.d.ts +4 -0
  159. package/export/crud/index.js +15 -0
  160. package/export/crud/index.js.map +1 -0
  161. package/export/crud/sanitize.d.ts +4 -0
  162. package/export/crud/sanitize.js +35 -0
  163. package/export/crud/sanitize.js.map +1 -0
  164. package/export/graphql/index.d.ts +3 -0
  165. package/export/graphql/index.js +188 -0
  166. package/export/graphql/index.js.map +1 -0
  167. package/export/index.d.ts +2 -0
  168. package/export/index.js +29 -0
  169. package/export/index.js.map +1 -0
  170. package/export/types.d.ts +113 -0
  171. package/export/types.js +22 -0
  172. package/export/types.js.map +1 -0
  173. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +3 -19
  174. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  175. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  176. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +200 -0
  177. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  178. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +46 -90
  179. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  180. package/fieldConverters/index.d.ts +2 -1
  181. package/fieldConverters/index.js +4 -5
  182. package/fieldConverters/index.js.map +1 -1
  183. package/graphql/buildSchemaPlugins.d.ts +8 -3
  184. package/graphql/buildSchemaPlugins.js +9 -11
  185. package/graphql/buildSchemaPlugins.js.map +1 -1
  186. package/graphql/checkEndpointAccess.d.ts +2 -0
  187. package/graphql/checkEndpointAccess.js +20 -0
  188. package/graphql/checkEndpointAccess.js.map +1 -0
  189. package/graphql/createExecutableSchema.d.ts +6 -0
  190. package/graphql/createExecutableSchema.js +31 -0
  191. package/graphql/createExecutableSchema.js.map +1 -0
  192. package/graphql/createRequestBody.d.ts +2 -0
  193. package/graphql/createRequestBody.js +16 -0
  194. package/graphql/createRequestBody.js.map +1 -0
  195. package/graphql/formatErrorPayload.d.ts +1 -0
  196. package/graphql/formatErrorPayload.js +27 -0
  197. package/graphql/formatErrorPayload.js.map +1 -0
  198. package/graphql/generateSchema.d.ts +8 -0
  199. package/graphql/generateSchema.js +33 -0
  200. package/graphql/generateSchema.js.map +1 -0
  201. package/graphql/getSchema.d.ts +16 -0
  202. package/graphql/getSchema.js +118 -0
  203. package/graphql/getSchema.js.map +1 -0
  204. package/graphql/graphQLHandlerFactory.js +8 -129
  205. package/graphql/graphQLHandlerFactory.js.map +1 -1
  206. package/graphql/handleRequest.d.ts +11 -0
  207. package/graphql/handleRequest.js +79 -0
  208. package/graphql/handleRequest.js.map +1 -0
  209. package/graphql/index.d.ts +1 -3
  210. package/graphql/index.js +4 -46
  211. package/graphql/index.js.map +1 -1
  212. package/graphql/schema/baseContentSchema.d.ts +6 -2
  213. package/graphql/schema/baseContentSchema.js +20 -29
  214. package/graphql/schema/baseContentSchema.js.map +1 -1
  215. package/graphql/schema/baseSchema.d.ts +2 -0
  216. package/graphql/schema/baseSchema.js +146 -0
  217. package/graphql/schema/baseSchema.js.map +1 -0
  218. package/graphql/schema/contentEntries.d.ts +6 -2
  219. package/graphql/schema/contentEntries.js +160 -111
  220. package/graphql/schema/contentEntries.js.map +1 -1
  221. package/graphql/schema/contentModelGroups.d.ts +6 -2
  222. package/graphql/schema/contentModelGroups.js +20 -30
  223. package/graphql/schema/contentModelGroups.js.map +1 -1
  224. package/graphql/schema/contentModels.d.ts +6 -2
  225. package/graphql/schema/contentModels.js +81 -26
  226. package/graphql/schema/contentModels.js.map +1 -1
  227. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  228. package/graphql/schema/createFieldResolvers.js +29 -40
  229. package/graphql/schema/createFieldResolvers.js.map +1 -1
  230. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  231. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  232. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  233. package/graphql/schema/createManageResolvers.d.ts +1 -1
  234. package/graphql/schema/createManageResolvers.js +59 -52
  235. package/graphql/schema/createManageResolvers.js.map +1 -1
  236. package/graphql/schema/createManageSDL.d.ts +3 -0
  237. package/graphql/schema/createManageSDL.js +119 -81
  238. package/graphql/schema/createManageSDL.js.map +1 -1
  239. package/graphql/schema/createPreviewResolvers.js +9 -22
  240. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  241. package/graphql/schema/createReadResolvers.js +14 -22
  242. package/graphql/schema/createReadResolvers.js.map +1 -1
  243. package/graphql/schema/createReadSDL.d.ts +3 -0
  244. package/graphql/schema/createReadSDL.js +57 -48
  245. package/graphql/schema/createReadSDL.js.map +1 -1
  246. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  247. package/graphql/schema/resolvers/manage/resolveCreate.js +3 -4
  248. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  249. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  250. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +3 -4
  251. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  252. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  253. package/graphql/schema/resolvers/manage/resolveDelete.js +15 -9
  254. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  255. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  256. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  257. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  258. package/graphql/schema/resolvers/manage/resolveGet.js +11 -20
  259. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  260. package/graphql/schema/resolvers/manage/resolveGetByIds.js +2 -3
  261. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  262. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +2 -3
  263. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  264. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  265. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  266. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  267. package/graphql/schema/resolvers/manage/resolveList.js +2 -3
  268. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  269. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  270. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  271. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  272. package/graphql/schema/resolvers/manage/resolvePublish.js +2 -3
  273. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  274. package/graphql/schema/resolvers/manage/resolveRepublish.js +2 -3
  275. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  276. package/graphql/schema/resolvers/manage/resolveUnpublish.js +2 -3
  277. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  278. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  279. package/graphql/schema/resolvers/manage/resolveUpdate.js +3 -4
  280. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  281. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  282. package/graphql/schema/resolvers/manage/{resolveRequestChanges.js → resolveValidate.js} +5 -6
  283. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  284. package/graphql/schema/resolvers/preview/resolveGet.js +5 -12
  285. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  286. package/graphql/schema/resolvers/preview/resolveList.js +2 -3
  287. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  288. package/graphql/schema/resolvers/read/resolveGet.js +5 -12
  289. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  290. package/graphql/schema/resolvers/read/resolveList.js +2 -3
  291. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  292. package/graphql/schema/schemaPlugins.d.ts +8 -3
  293. package/graphql/schema/schemaPlugins.js +60 -69
  294. package/graphql/schema/schemaPlugins.js.map +1 -1
  295. package/graphql/system.d.ts +2 -5
  296. package/graphql/system.js +58 -98
  297. package/graphql/system.js.map +1 -1
  298. package/graphqlFields/boolean.js +2 -12
  299. package/graphqlFields/boolean.js.map +1 -1
  300. package/graphqlFields/datetime.js +4 -21
  301. package/graphqlFields/datetime.js.map +1 -1
  302. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  303. package/graphqlFields/dynamicZone/dynamicZoneField.js +266 -0
  304. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  305. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  306. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +111 -0
  307. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  308. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  309. package/graphqlFields/dynamicZone/index.js +21 -0
  310. package/graphqlFields/dynamicZone/index.js.map +1 -0
  311. package/graphqlFields/file.js +2 -8
  312. package/graphqlFields/file.js.map +1 -1
  313. package/graphqlFields/helpers.d.ts +0 -1
  314. package/graphqlFields/helpers.js +5 -27
  315. package/graphqlFields/helpers.js.map +1 -1
  316. package/graphqlFields/index.d.ts +1 -1
  317. package/graphqlFields/index.js +5 -12
  318. package/graphqlFields/index.js.map +1 -1
  319. package/graphqlFields/json.d.ts +2 -0
  320. package/graphqlFields/json.js +49 -0
  321. package/graphqlFields/json.js.map +1 -0
  322. package/graphqlFields/longText.js +13 -12
  323. package/graphqlFields/longText.js.map +1 -1
  324. package/graphqlFields/number.js +7 -12
  325. package/graphqlFields/number.js.map +1 -1
  326. package/graphqlFields/object.js +114 -101
  327. package/graphqlFields/object.js.map +1 -1
  328. package/graphqlFields/ref.js +111 -119
  329. package/graphqlFields/ref.js.map +1 -1
  330. package/graphqlFields/richText.js +2 -9
  331. package/graphqlFields/richText.js.map +1 -1
  332. package/graphqlFields/text.js +4 -11
  333. package/graphqlFields/text.js.map +1 -1
  334. package/index.d.ts +6 -3
  335. package/index.js +43 -29
  336. package/index.js.map +1 -1
  337. package/modelManager/DefaultCmsModelManager.js +2 -20
  338. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  339. package/modelManager/index.js +2 -4
  340. package/modelManager/index.js.map +1 -1
  341. package/package.json +36 -43
  342. package/parameters/context.js +3 -5
  343. package/parameters/context.js.map +1 -1
  344. package/parameters/header.js +6 -16
  345. package/parameters/header.js.map +1 -1
  346. package/parameters/index.js +3 -9
  347. package/parameters/index.js.map +1 -1
  348. package/parameters/manual.js +9 -11
  349. package/parameters/manual.js.map +1 -1
  350. package/parameters/path.js +3 -13
  351. package/parameters/path.js.map +1 -1
  352. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  353. package/plugins/CmsGraphQLSchemaPlugin.js +13 -0
  354. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  355. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  356. package/plugins/CmsGraphQLSchemaSorterPlugin.js +27 -0
  357. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  358. package/plugins/CmsGroupPlugin.d.ts +6 -3
  359. package/plugins/CmsGroupPlugin.js +7 -13
  360. package/plugins/CmsGroupPlugin.js.map +1 -1
  361. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  362. package/plugins/CmsModelFieldConverterPlugin.js +5 -9
  363. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  364. package/plugins/CmsModelPlugin.d.ts +25 -5
  365. package/plugins/CmsModelPlugin.js +72 -57
  366. package/plugins/CmsModelPlugin.js.map +1 -1
  367. package/plugins/CmsParametersPlugin.js +6 -10
  368. package/plugins/CmsParametersPlugin.js.map +1 -1
  369. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  370. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  371. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  372. package/plugins/StorageTransformPlugin.d.ts +13 -13
  373. package/plugins/StorageTransformPlugin.js +3 -13
  374. package/plugins/StorageTransformPlugin.js.map +1 -1
  375. package/plugins/index.d.ts +3 -0
  376. package/plugins/index.js +36 -11
  377. package/plugins/index.js.map +1 -1
  378. package/storage/default.js +2 -3
  379. package/storage/default.js.map +1 -1
  380. package/storage/index.d.ts +1 -0
  381. package/storage/index.js +15 -0
  382. package/storage/index.js.map +1 -0
  383. package/storage/json.d.ts +2 -0
  384. package/storage/json.js +27 -0
  385. package/storage/json.js.map +1 -0
  386. package/storage/object.js +11 -27
  387. package/storage/object.js.map +1 -1
  388. package/types.d.ts +755 -384
  389. package/types.js +83 -90
  390. package/types.js.map +1 -1
  391. package/utils/access.d.ts +9 -8
  392. package/utils/access.js +11 -75
  393. package/utils/access.js.map +1 -1
  394. package/utils/caching/Cache.d.ts +2 -0
  395. package/utils/caching/Cache.js +51 -0
  396. package/utils/caching/Cache.js.map +1 -0
  397. package/utils/caching/CacheKey.d.ts +2 -0
  398. package/utils/caching/CacheKey.js +40 -0
  399. package/utils/caching/CacheKey.js.map +1 -0
  400. package/utils/caching/index.d.ts +2 -0
  401. package/utils/caching/index.js +29 -0
  402. package/utils/caching/index.js.map +1 -0
  403. package/utils/caching/types.d.ts +11 -0
  404. package/utils/caching/types.js +7 -0
  405. package/utils/caching/types.js.map +1 -0
  406. package/utils/converters/Converter.js +3 -17
  407. package/utils/converters/Converter.js.map +1 -1
  408. package/utils/converters/ConverterCollection.d.ts +7 -0
  409. package/utils/converters/ConverterCollection.js +43 -31
  410. package/utils/converters/ConverterCollection.js.map +1 -1
  411. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  412. package/utils/converters/valueKeyStorageConverter.js +32 -45
  413. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  414. package/utils/createTypeFromFields.d.ts +16 -0
  415. package/utils/createTypeFromFields.js +71 -0
  416. package/utils/createTypeFromFields.js.map +1 -0
  417. package/utils/createTypeName.d.ts +0 -2
  418. package/utils/createTypeName.js +4 -17
  419. package/utils/createTypeName.js.map +1 -1
  420. package/utils/date.d.ts +10 -0
  421. package/utils/date.js +36 -0
  422. package/utils/date.js.map +1 -0
  423. package/utils/entryStorage.d.ts +4 -4
  424. package/utils/entryStorage.js +27 -38
  425. package/utils/entryStorage.js.map +1 -1
  426. package/utils/filterAsync.js +8 -12
  427. package/utils/filterAsync.js.map +1 -1
  428. package/utils/getBaseFieldType.d.ts +2 -0
  429. package/utils/getBaseFieldType.js +12 -0
  430. package/utils/getBaseFieldType.js.map +1 -0
  431. package/utils/getEntryDescription.d.ts +2 -0
  432. package/utils/getEntryDescription.js +19 -0
  433. package/utils/getEntryDescription.js.map +1 -0
  434. package/utils/getEntryImage.d.ts +2 -0
  435. package/utils/getEntryImage.js +19 -0
  436. package/utils/getEntryImage.js.map +1 -0
  437. package/utils/getEntryTitle.d.ts +1 -1
  438. package/utils/getEntryTitle.js +3 -10
  439. package/utils/getEntryTitle.js.map +1 -1
  440. package/utils/getSchemaFromFieldPlugins.d.ts +14 -6
  441. package/utils/getSchemaFromFieldPlugins.js +39 -17
  442. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  443. package/utils/identity.d.ts +2 -0
  444. package/utils/identity.js +20 -0
  445. package/utils/identity.js.map +1 -0
  446. package/utils/incrementEntryIdVersion.d.ts +5 -0
  447. package/utils/incrementEntryIdVersion.js +31 -0
  448. package/utils/incrementEntryIdVersion.js.map +1 -0
  449. package/utils/index.d.ts +1 -0
  450. package/utils/index.js +18 -0
  451. package/utils/index.js.map +1 -0
  452. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  453. package/utils/permissions/EntriesPermissions.js +11 -0
  454. package/utils/permissions/EntriesPermissions.js.map +1 -0
  455. package/utils/permissions/ModelGroupsPermissions.d.ts +9 -0
  456. package/utils/permissions/ModelGroupsPermissions.js +50 -0
  457. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  458. package/utils/permissions/ModelsPermissions.d.ts +22 -0
  459. package/utils/permissions/ModelsPermissions.js +90 -0
  460. package/utils/permissions/ModelsPermissions.js.map +1 -0
  461. package/utils/renderFields.d.ts +4 -2
  462. package/utils/renderFields.js +14 -11
  463. package/utils/renderFields.js.map +1 -1
  464. package/utils/renderGetFilterFields.d.ts +2 -2
  465. package/utils/renderGetFilterFields.js +10 -30
  466. package/utils/renderGetFilterFields.js.map +1 -1
  467. package/utils/renderInputFields.d.ts +4 -2
  468. package/utils/renderInputFields.js +21 -14
  469. package/utils/renderInputFields.js.map +1 -1
  470. package/utils/renderListFilterFields.d.ts +3 -1
  471. package/utils/renderListFilterFields.js +27 -30
  472. package/utils/renderListFilterFields.js.map +1 -1
  473. package/utils/renderSortEnum.d.ts +9 -5
  474. package/utils/renderSortEnum.js +29 -12
  475. package/utils/renderSortEnum.js.map +1 -1
  476. package/utils/toSlug.js +2 -4
  477. package/utils/toSlug.js.map +1 -1
  478. package/validators/dateGte.js +2 -7
  479. package/validators/dateGte.js.map +1 -1
  480. package/validators/dateLte.js +2 -7
  481. package/validators/dateLte.js.map +1 -1
  482. package/validators/gte.js +3 -10
  483. package/validators/gte.js.map +1 -1
  484. package/validators/in.js +3 -10
  485. package/validators/in.js.map +1 -1
  486. package/validators/index.js +2 -15
  487. package/validators/index.js.map +1 -1
  488. package/validators/lte.js +3 -10
  489. package/validators/lte.js.map +1 -1
  490. package/validators/maxLength.js +3 -10
  491. package/validators/maxLength.js.map +1 -1
  492. package/validators/minLength.js +3 -10
  493. package/validators/minLength.js.map +1 -1
  494. package/validators/pattern.js +4 -11
  495. package/validators/pattern.js.map +1 -1
  496. package/validators/patternPlugins/email.js +2 -2
  497. package/validators/patternPlugins/email.js.map +1 -1
  498. package/validators/patternPlugins/index.js +2 -8
  499. package/validators/patternPlugins/index.js.map +1 -1
  500. package/validators/patternPlugins/lowerCase.js +2 -2
  501. package/validators/patternPlugins/lowerCase.js.map +1 -1
  502. package/validators/patternPlugins/lowerCaseSpace.js +2 -2
  503. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  504. package/validators/patternPlugins/upperCase.js +2 -2
  505. package/validators/patternPlugins/upperCase.js.map +1 -1
  506. package/validators/patternPlugins/upperCaseSpace.js +2 -2
  507. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  508. package/validators/patternPlugins/url.js +2 -2
  509. package/validators/patternPlugins/url.js.map +1 -1
  510. package/validators/required.js +2 -5
  511. package/validators/required.js.map +1 -1
  512. package/validators/timeGte.js +3 -10
  513. package/validators/timeGte.js.map +1 -1
  514. package/validators/timeLte.js +3 -10
  515. package/validators/timeLte.js.map +1 -1
  516. package/validators/unique.js +3 -8
  517. package/validators/unique.js.map +1 -1
  518. package/crud/contentModel/afterCreate.d.ts +0 -8
  519. package/crud/contentModel/afterCreate.js +0 -18
  520. package/crud/contentModel/afterCreate.js.map +0 -1
  521. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  522. package/crud/contentModel/afterCreateFrom.js +0 -18
  523. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  524. package/crud/contentModel/afterDelete.d.ts +0 -8
  525. package/crud/contentModel/afterDelete.js +0 -18
  526. package/crud/contentModel/afterDelete.js.map +0 -1
  527. package/crud/contentModel/afterUpdate.d.ts +0 -8
  528. package/crud/contentModel/afterUpdate.js +0 -18
  529. package/crud/contentModel/afterUpdate.js.map +0 -1
  530. package/crud/contentModel/createFieldModels.d.ts +0 -2
  531. package/crud/contentModel/createFieldModels.js +0 -26
  532. package/crud/contentModel/createFieldModels.js.map +0 -1
  533. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  534. package/crud/contentModel/fieldIdValidation.js +0 -25
  535. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  536. package/crud/contentModel/idValidation.d.ts +0 -1
  537. package/crud/contentModel/idValidation.js +0 -22
  538. package/crud/contentModel/idValidation.js.map +0 -1
  539. package/crud/contentModel/models.d.ts +0 -4
  540. package/crud/contentModel/models.js +0 -180
  541. package/crud/contentModel/models.js.map +0 -1
  542. package/crud/contentModel/systemFields.d.ts +0 -1
  543. package/crud/contentModel/systemFields.js +0 -8
  544. package/crud/contentModel/systemFields.js.map +0 -1
  545. package/crud/contentModel/validateLayout.d.ts +0 -2
  546. package/crud/contentModel/validateLayout.js +0 -36
  547. package/crud/contentModel/validateLayout.js.map +0 -1
  548. package/crud/index.d.ts +0 -6
  549. package/crud/index.js +0 -85
  550. package/crud/index.js.map +0 -1
  551. package/crud/settings.crud.d.ts +0 -10
  552. package/crud/settings.crud.js +0 -83
  553. package/crud/settings.crud.js.map +0 -1
  554. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  555. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -14
  556. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  557. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  558. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  559. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  560. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  561. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  562. package/upgrades/5.33.0/index.d.ts +0 -3
  563. package/upgrades/5.33.0/index.js +0 -182
  564. package/upgrades/5.33.0/index.js.map +0 -1
  565. package/upgrades/index.d.ts +0 -1
  566. package/upgrades/index.js +0 -12
  567. package/upgrades/index.js.map +0 -1
  568. package/utils/filterModelFields.d.ts +0 -16
  569. package/utils/filterModelFields.js +0 -77
  570. package/utils/filterModelFields.js.map +0 -1
  571. package/utils/ownership.d.ts +0 -8
  572. package/utils/ownership.js +0 -41
  573. package/utils/ownership.js.map +0 -1
  574. package/utils/permissions.d.ts +0 -7
  575. package/utils/permissions.js +0 -106
  576. package/utils/permissions.js.map +0 -1
  577. package/utils/pluralizedTypeName.d.ts +0 -1
  578. package/utils/pluralizedTypeName.js +0 -26
  579. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1,88 +1,71 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createObjectField = void 0;
9
-
10
8
  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
- var _helpers = require("./helpers");
19
-
20
- const typeFromField = params => {
21
- var _field$settings;
22
-
9
+ var _createTypeFromFields = require("../utils/createTypeFromFields");
10
+ const createChildTypeDefs = params => {
23
11
  const {
24
- typeOfType,
25
- model,
26
- type,
27
12
  field,
28
- fieldTypePlugins
13
+ plugins,
14
+ model,
15
+ endpointType
29
16
  } = 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
- 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,
17
+ const fields = field.settings?.fields || [];
18
+ const typeName = createTypeName({
19
+ model,
20
+ field,
21
+ parents: field.settings?.parents
22
+ });
23
+ const filters = fields.map(child => {
24
+ const createListFilters = plugins[child.type][endpointType].createListFilters;
25
+ if (!createListFilters) {
26
+ return null;
27
+ }
28
+ const filters = createListFilters({
53
29
  model,
54
- fieldTypePlugins
30
+ field: {
31
+ ...child,
32
+ settings: {
33
+ ...child.settings,
34
+ parents: (child.settings?.parents || []).concat([field.fieldId])
35
+ }
36
+ },
37
+ plugins
55
38
  });
56
-
57
- if (!result) {
58
- continue;
59
- }
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}_`));
39
+ if (!filters) {
40
+ return null;
69
41
  }
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
- };
42
+ return filters;
43
+ }).filter(Boolean).join("\n");
44
+ return `input ${typeName}WhereInput {
45
+ ${filters || "_empty: String"}
46
+ }\n`;
47
+ };
48
+ const createTypeName = params => {
49
+ const {
50
+ model,
51
+ parents = [],
52
+ field
53
+ } = params;
54
+ return [model.singularApiName].concat(parents).concat([field.fieldId]).filter(Boolean).map(id => {
55
+ return (0, _upperFirst.default)(id);
56
+ }).join("_");
57
+ };
58
+ const createListFilters = ({
59
+ field,
60
+ model
61
+ }) => {
62
+ const typeName = createTypeName({
63
+ model,
64
+ field,
65
+ parents: field.settings?.parents
66
+ });
67
+ return `${field.fieldId}: ${typeName}WhereInput`;
84
68
  };
85
-
86
69
  const createObjectField = () => {
87
70
  return {
88
71
  name: "cms-model-field-to-graphql-object",
@@ -90,45 +73,63 @@ const createObjectField = () => {
90
73
  fieldType: "object",
91
74
  isSortable: false,
92
75
  isSearchable: false,
76
+ validateChildFields: params => {
77
+ const {
78
+ field,
79
+ originalField,
80
+ validate
81
+ } = params;
82
+ validate({
83
+ fields: field.settings?.fields ?? [],
84
+ originalFields: originalField?.settings?.fields || []
85
+ });
86
+ },
93
87
  read: {
94
88
  createTypeField({
95
89
  field,
90
+ models,
96
91
  model,
97
92
  fieldTypePlugins
98
93
  }) {
99
- const result = typeFromField({
94
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
95
+ models,
100
96
  typeOfType: "type",
101
97
  model,
102
98
  type: "read",
103
- field,
99
+ typeNamePrefix: createTypeName({
100
+ model,
101
+ field,
102
+ parents: field.settings?.parents
103
+ }),
104
+ fields: field.settings?.fields || [],
104
105
  fieldTypePlugins
105
106
  });
106
-
107
107
  if (!result) {
108
108
  return null;
109
109
  }
110
-
111
110
  const {
112
111
  fieldType,
113
112
  typeDefs
114
113
  } = result;
114
+ const childTypeDefs = createChildTypeDefs({
115
+ model,
116
+ field,
117
+ plugins: fieldTypePlugins,
118
+ endpointType: "read"
119
+ });
115
120
  return {
116
121
  fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
117
- typeDefs
122
+ typeDefs: `${typeDefs}${childTypeDefs}`
118
123
  };
119
124
  },
120
-
121
125
  createResolver({
122
126
  field,
123
127
  createFieldResolvers,
124
128
  graphQLType
125
129
  }) {
126
- var _field$settings2;
127
-
128
- if (!((_field$settings2 = field.settings) !== null && _field$settings2 !== void 0 && _field$settings2.fields) || field.settings.fields.length === 0) {
130
+ if (!field.settings?.fields || field.settings.fields.length === 0) {
129
131
  return false;
130
132
  }
131
-
132
133
  const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
133
134
  const typeResolvers = createFieldResolvers({
134
135
  graphQLType: fieldType,
@@ -138,75 +139,86 @@ const createObjectField = () => {
138
139
  resolver: null,
139
140
  typeResolvers: typeResolvers || {}
140
141
  };
141
- }
142
-
142
+ },
143
+ createListFilters
143
144
  },
144
145
  manage: {
145
146
  createTypeField({
147
+ models,
146
148
  model,
147
149
  field,
148
150
  fieldTypePlugins
149
151
  }) {
150
- const result = typeFromField({
152
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
151
153
  typeOfType: "type",
154
+ models,
152
155
  model,
153
156
  type: "manage",
154
- field,
157
+ typeNamePrefix: createTypeName({
158
+ model,
159
+ field,
160
+ parents: field.settings?.parents
161
+ }),
162
+ fields: field.settings?.fields || [],
155
163
  fieldTypePlugins
156
164
  });
157
-
158
165
  if (!result) {
159
166
  return null;
160
167
  }
161
-
162
168
  const {
163
169
  fieldType,
164
170
  typeDefs
165
171
  } = result;
172
+ const childTypeDefs = createChildTypeDefs({
173
+ model,
174
+ field,
175
+ plugins: fieldTypePlugins,
176
+ endpointType: "manage"
177
+ });
166
178
  return {
167
179
  fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
168
- typeDefs
180
+ typeDefs: `${typeDefs}\n${childTypeDefs}`
169
181
  };
170
182
  },
171
-
172
183
  createInputField({
184
+ models,
173
185
  model,
174
186
  field,
175
187
  fieldTypePlugins
176
188
  }) {
177
- const result = typeFromField({
189
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
178
190
  typeOfType: "input",
191
+ models,
179
192
  model,
180
193
  type: "manage",
181
- field,
194
+ typeNamePrefix: createTypeName({
195
+ model,
196
+ field,
197
+ parents: field.settings?.parents
198
+ }),
199
+ fields: field.settings?.fields || [],
182
200
  fieldTypePlugins
183
201
  });
184
-
185
202
  if (!result) {
186
203
  return null;
187
204
  }
188
-
189
205
  const {
190
206
  fieldType,
191
207
  typeDefs
192
208
  } = result;
193
209
  return {
194
- fields: (0, _helpers.attachRequiredFieldValue)(`${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`, field),
210
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
195
211
  typeDefs
196
212
  };
197
213
  },
198
-
199
214
  createResolver({
200
215
  graphQLType,
201
216
  field,
202
217
  createFieldResolvers
203
218
  }) {
204
- var _field$settings3;
205
-
206
- if (!((_field$settings3 = field.settings) !== null && _field$settings3 !== void 0 && _field$settings3.fields) || field.settings.fields.length === 0) {
219
+ if (!field.settings?.fields || field.settings.fields.length === 0) {
207
220
  return false;
208
221
  }
209
-
210
222
  const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
211
223
  const typeResolvers = createFieldResolvers({
212
224
  graphQLType: fieldType,
@@ -216,10 +228,11 @@ const createObjectField = () => {
216
228
  resolver: null,
217
229
  typeResolvers: typeResolvers || {}
218
230
  };
219
- }
220
-
231
+ },
232
+ createListFilters
221
233
  }
222
234
  };
223
235
  };
236
+ exports.createObjectField = createObjectField;
224
237
 
225
- exports.createObjectField = createObjectField;
238
+ //# sourceMappingURL=object.js.map
@@ -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":["_upperFirst","_interopRequireDefault","require","_createTypeFromFields","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","originalFields","read","createTypeField","models","fieldTypePlugins","result","createTypeFromFields","typeOfType","typeNamePrefix","typeDefs","childTypeDefs","multipleValues","createResolver","createFieldResolvers","graphQLType","length","upperFirst","typeResolvers","resolver","manage","createInputField","exports"],"sources":["object.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\n\ninterface AttachTypeDefinitionsParams {\n model: Pick<CmsModel, \"singularApiName\">;\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};\n\ninterface CreateTypeNameParams {\n model: Pick<CmsModel, \"singularApiName\">;\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: Pick<CmsModel, \"singularApiName\">;\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 validate({\n fields: field.settings?.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}\\n${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: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\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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"}