@webiny/api-headless-cms 0.0.0-unstable.40876133bb → 0.0.0-unstable.496cf268ac

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 (371) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +53 -19
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  13. package/crud/contentEntry/markLockedFields.js +19 -29
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  16. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  17. package/crud/contentEntry/searchableFields.d.ts +9 -0
  18. package/crud/contentEntry/searchableFields.js +72 -0
  19. package/crud/contentEntry/searchableFields.js.map +1 -0
  20. package/crud/contentEntry.crud.d.ts +2 -1
  21. package/crud/contentEntry.crud.js +140 -193
  22. package/crud/contentEntry.crud.js.map +1 -1
  23. package/crud/contentModel/afterCreate.js +0 -2
  24. package/crud/contentModel/afterCreate.js.map +1 -1
  25. package/crud/contentModel/afterCreateFrom.js +0 -2
  26. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  27. package/crud/contentModel/afterDelete.js +0 -2
  28. package/crud/contentModel/afterDelete.js.map +1 -1
  29. package/crud/contentModel/afterUpdate.js +0 -2
  30. package/crud/contentModel/afterUpdate.js.map +1 -1
  31. package/crud/contentModel/beforeCreate.d.ts +2 -3
  32. package/crud/contentModel/beforeCreate.js +11 -36
  33. package/crud/contentModel/beforeCreate.js.map +1 -1
  34. package/crud/contentModel/beforeDelete.js +0 -10
  35. package/crud/contentModel/beforeDelete.js.map +1 -1
  36. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  37. package/crud/contentModel/beforeUpdate.js +6 -7
  38. package/crud/contentModel/beforeUpdate.js.map +1 -1
  39. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  40. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  41. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  42. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  43. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  44. package/crud/contentModel/createFieldStorageId.js +4 -3
  45. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  46. package/crud/contentModel/defaultFields.d.ts +5 -0
  47. package/crud/contentModel/defaultFields.js +58 -0
  48. package/crud/contentModel/defaultFields.js.map +1 -0
  49. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  50. package/crud/contentModel/fields/descriptionField.js +42 -0
  51. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  52. package/crud/contentModel/fields/imageField.d.ts +2 -0
  53. package/crud/contentModel/fields/imageField.js +46 -0
  54. package/crud/contentModel/fields/imageField.js.map +1 -0
  55. package/crud/contentModel/fields/titleField.d.ts +2 -0
  56. package/crud/contentModel/fields/titleField.js +58 -0
  57. package/crud/contentModel/fields/titleField.js.map +1 -0
  58. package/crud/contentModel/models.js +12 -0
  59. package/crud/contentModel/models.js.map +1 -1
  60. package/crud/contentModel/validateLayout.js +0 -8
  61. package/crud/contentModel/validateLayout.js.map +1 -1
  62. package/crud/contentModel/validateModel.d.ts +4 -4
  63. package/crud/contentModel/validateModel.js +6 -11
  64. package/crud/contentModel/validateModel.js.map +1 -1
  65. package/crud/contentModel/validateModelFields.d.ts +4 -4
  66. package/crud/contentModel/validateModelFields.js +131 -147
  67. package/crud/contentModel/validateModelFields.js.map +1 -1
  68. package/crud/contentModel/validation.d.ts +519 -0
  69. package/crud/contentModel/validation.js +145 -0
  70. package/crud/contentModel/validation.js.map +1 -0
  71. package/crud/contentModel.crud.js +245 -272
  72. package/crud/contentModel.crud.js.map +1 -1
  73. package/crud/contentModelGroup/beforeCreate.js +0 -12
  74. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  75. package/crud/contentModelGroup/beforeDelete.js +0 -8
  76. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  77. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  78. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  79. package/crud/contentModelGroup/validation.d.ts +30 -0
  80. package/crud/contentModelGroup/validation.js +34 -0
  81. package/crud/contentModelGroup/validation.js.map +1 -0
  82. package/crud/contentModelGroup.crud.js +53 -95
  83. package/crud/contentModelGroup.crud.js.map +1 -1
  84. package/crud/settings.crud.js +0 -12
  85. package/crud/settings.crud.js.map +1 -1
  86. package/crud/system.crud.js +1 -96
  87. package/crud/system.crud.js.map +1 -1
  88. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  89. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  90. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  91. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  92. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  93. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  94. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  95. package/fieldConverters/index.d.ts +2 -1
  96. package/fieldConverters/index.js +2 -5
  97. package/fieldConverters/index.js.map +1 -1
  98. package/graphql/buildSchemaPlugins.d.ts +8 -3
  99. package/graphql/buildSchemaPlugins.js +6 -14
  100. package/graphql/buildSchemaPlugins.js.map +1 -1
  101. package/graphql/createExecutableSchema.d.ts +7 -0
  102. package/graphql/createExecutableSchema.js +29 -0
  103. package/graphql/createExecutableSchema.js.map +1 -0
  104. package/graphql/generateSchema.d.ts +8 -0
  105. package/graphql/generateSchema.js +31 -0
  106. package/graphql/generateSchema.js.map +1 -0
  107. package/graphql/graphQLHandlerFactory.js +95 -74
  108. package/graphql/graphQLHandlerFactory.js.map +1 -1
  109. package/graphql/index.d.ts +1 -3
  110. package/graphql/index.js +2 -46
  111. package/graphql/index.js.map +1 -1
  112. package/graphql/schema/baseContentSchema.d.ts +6 -2
  113. package/graphql/schema/baseContentSchema.js +10 -20
  114. package/graphql/schema/baseContentSchema.js.map +1 -1
  115. package/graphql/schema/baseSchema.d.ts +3 -0
  116. package/graphql/schema/baseSchema.js +53 -0
  117. package/graphql/schema/baseSchema.js.map +1 -0
  118. package/graphql/schema/contentEntries.d.ts +6 -2
  119. package/graphql/schema/contentEntries.js +118 -107
  120. package/graphql/schema/contentEntries.js.map +1 -1
  121. package/graphql/schema/contentModelGroups.d.ts +6 -2
  122. package/graphql/schema/contentModelGroups.js +10 -23
  123. package/graphql/schema/contentModelGroups.js.map +1 -1
  124. package/graphql/schema/contentModels.d.ts +6 -2
  125. package/graphql/schema/contentModels.js +62 -26
  126. package/graphql/schema/contentModels.js.map +1 -1
  127. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  128. package/graphql/schema/createFieldResolvers.js +20 -27
  129. package/graphql/schema/createFieldResolvers.js.map +1 -1
  130. package/graphql/schema/createManageResolvers.d.ts +1 -1
  131. package/graphql/schema/createManageResolvers.js +33 -43
  132. package/graphql/schema/createManageResolvers.js.map +1 -1
  133. package/graphql/schema/createManageSDL.d.ts +3 -0
  134. package/graphql/schema/createManageSDL.js +64 -67
  135. package/graphql/schema/createManageSDL.js.map +1 -1
  136. package/graphql/schema/createPreviewResolvers.js +3 -17
  137. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  138. package/graphql/schema/createReadResolvers.js +8 -17
  139. package/graphql/schema/createReadResolvers.js.map +1 -1
  140. package/graphql/schema/createReadSDL.d.ts +3 -0
  141. package/graphql/schema/createReadSDL.js +33 -35
  142. package/graphql/schema/createReadSDL.js.map +1 -1
  143. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  144. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  145. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  146. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  147. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  148. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  149. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  150. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  151. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  152. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  153. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  154. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  155. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  156. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  157. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  158. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  159. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  160. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  161. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  162. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  163. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  164. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  165. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  166. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  167. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  168. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  169. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  170. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  171. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  172. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  173. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  174. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  175. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  176. package/graphql/schema/schemaPlugins.d.ts +8 -3
  177. package/graphql/schema/schemaPlugins.js +64 -66
  178. package/graphql/schema/schemaPlugins.js.map +1 -1
  179. package/graphql/system.js +55 -87
  180. package/graphql/system.js.map +1 -1
  181. package/graphqlFields/boolean.js +0 -12
  182. package/graphqlFields/boolean.js.map +1 -1
  183. package/graphqlFields/datetime.js +0 -17
  184. package/graphqlFields/datetime.js.map +1 -1
  185. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  186. package/graphqlFields/dynamicZone/dynamicZoneField.js +216 -0
  187. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  188. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  189. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  190. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  191. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  192. package/graphqlFields/dynamicZone/index.js +19 -0
  193. package/graphqlFields/dynamicZone/index.js.map +1 -0
  194. package/graphqlFields/file.js +0 -8
  195. package/graphqlFields/file.js.map +1 -1
  196. package/graphqlFields/helpers.js +0 -10
  197. package/graphqlFields/helpers.js.map +1 -1
  198. package/graphqlFields/index.d.ts +1 -1
  199. package/graphqlFields/index.js +2 -12
  200. package/graphqlFields/index.js.map +1 -1
  201. package/graphqlFields/longText.js +0 -10
  202. package/graphqlFields/longText.js.map +1 -1
  203. package/graphqlFields/number.js +4 -12
  204. package/graphqlFields/number.js.map +1 -1
  205. package/graphqlFields/object.js +118 -98
  206. package/graphqlFields/object.js.map +1 -1
  207. package/graphqlFields/ref.js +86 -106
  208. package/graphqlFields/ref.js.map +1 -1
  209. package/graphqlFields/richText.js +0 -9
  210. package/graphqlFields/richText.js.map +1 -1
  211. package/graphqlFields/text.js +0 -11
  212. package/graphqlFields/text.js.map +1 -1
  213. package/index.d.ts +3 -3
  214. package/index.js +3 -27
  215. package/index.js.map +1 -1
  216. package/modelManager/DefaultCmsModelManager.js +0 -16
  217. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  218. package/modelManager/index.js +0 -4
  219. package/modelManager/index.js.map +1 -1
  220. package/package.json +27 -28
  221. package/parameters/context.js +0 -4
  222. package/parameters/context.js.map +1 -1
  223. package/parameters/header.js +0 -11
  224. package/parameters/header.js.map +1 -1
  225. package/parameters/index.js +0 -8
  226. package/parameters/index.js.map +1 -1
  227. package/parameters/manual.js +1 -8
  228. package/parameters/manual.js.map +1 -1
  229. package/parameters/path.js +0 -11
  230. package/parameters/path.js.map +1 -1
  231. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  232. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  233. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  234. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  235. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  236. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  237. package/plugins/CmsGroupPlugin.js +0 -8
  238. package/plugins/CmsGroupPlugin.js.map +1 -1
  239. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  240. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  241. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  242. package/plugins/CmsModelPlugin.d.ts +11 -1
  243. package/plugins/CmsModelPlugin.js +15 -40
  244. package/plugins/CmsModelPlugin.js.map +1 -1
  245. package/plugins/CmsParametersPlugin.js +0 -7
  246. package/plugins/CmsParametersPlugin.js.map +1 -1
  247. package/plugins/StorageTransformPlugin.d.ts +11 -11
  248. package/plugins/StorageTransformPlugin.js +0 -9
  249. package/plugins/StorageTransformPlugin.js.map +1 -1
  250. package/plugins/index.d.ts +2 -0
  251. package/plugins/index.js +22 -10
  252. package/plugins/index.js.map +1 -1
  253. package/storage/default.js +0 -3
  254. package/storage/default.js.map +1 -1
  255. package/storage/object.js +4 -20
  256. package/storage/object.js.map +1 -1
  257. package/types.d.ts +315 -77
  258. package/types.js +63 -70
  259. package/types.js.map +1 -1
  260. package/utils/access.js +11 -25
  261. package/utils/access.js.map +1 -1
  262. package/utils/converters/Converter.js +0 -13
  263. package/utils/converters/Converter.js.map +1 -1
  264. package/utils/converters/ConverterCollection.js +14 -34
  265. package/utils/converters/ConverterCollection.js.map +1 -1
  266. package/utils/converters/valueKeyStorageConverter.js +2 -27
  267. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  268. package/utils/createTypeFromFields.d.ts +16 -0
  269. package/utils/createTypeFromFields.js +67 -0
  270. package/utils/createTypeFromFields.js.map +1 -0
  271. package/utils/createTypeName.js +2 -9
  272. package/utils/createTypeName.js.map +1 -1
  273. package/utils/entryStorage.js +22 -35
  274. package/utils/entryStorage.js.map +1 -1
  275. package/utils/filterAsync.js +0 -5
  276. package/utils/filterAsync.js.map +1 -1
  277. package/utils/getBaseFieldType.d.ts +4 -0
  278. package/utils/getBaseFieldType.js +10 -0
  279. package/utils/getBaseFieldType.js.map +1 -0
  280. package/utils/getEntryDescription.d.ts +2 -0
  281. package/utils/getEntryDescription.js +17 -0
  282. package/utils/getEntryDescription.js.map +1 -0
  283. package/utils/getEntryImage.d.ts +2 -0
  284. package/utils/getEntryImage.js +17 -0
  285. package/utils/getEntryImage.js.map +1 -0
  286. package/utils/getEntryTitle.js +0 -9
  287. package/utils/getEntryTitle.js.map +1 -1
  288. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  289. package/utils/getSchemaFromFieldPlugins.js +23 -19
  290. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  291. package/utils/ownership.d.ts +3 -3
  292. package/utils/ownership.js +0 -8
  293. package/utils/ownership.js.map +1 -1
  294. package/utils/permissions.js +8 -23
  295. package/utils/permissions.js.map +1 -1
  296. package/utils/removeNullValues.d.ts +1 -0
  297. package/utils/removeNullValues.js +17 -0
  298. package/utils/removeNullValues.js.map +1 -0
  299. package/utils/removeUndefinedValues.d.ts +1 -0
  300. package/utils/removeUndefinedValues.js +17 -0
  301. package/utils/removeUndefinedValues.js.map +1 -0
  302. package/utils/renderFields.d.ts +2 -1
  303. package/utils/renderFields.js +10 -10
  304. package/utils/renderFields.js.map +1 -1
  305. package/utils/renderGetFilterFields.js +6 -14
  306. package/utils/renderGetFilterFields.js.map +1 -1
  307. package/utils/renderInputFields.d.ts +2 -1
  308. package/utils/renderInputFields.js +6 -9
  309. package/utils/renderInputFields.js.map +1 -1
  310. package/utils/renderListFilterFields.js +4 -10
  311. package/utils/renderListFilterFields.js.map +1 -1
  312. package/utils/renderSortEnum.d.ts +7 -4
  313. package/utils/renderSortEnum.js +21 -11
  314. package/utils/renderSortEnum.js.map +1 -1
  315. package/utils/toSlug.js +0 -4
  316. package/utils/toSlug.js.map +1 -1
  317. package/validators/dateGte.js +0 -7
  318. package/validators/dateGte.js.map +1 -1
  319. package/validators/dateLte.js +0 -7
  320. package/validators/dateLte.js.map +1 -1
  321. package/validators/dynamicZone.d.ts +2 -0
  322. package/validators/dynamicZone.js +20 -0
  323. package/validators/dynamicZone.js.map +1 -0
  324. package/validators/gte.js +0 -8
  325. package/validators/gte.js.map +1 -1
  326. package/validators/in.js +0 -8
  327. package/validators/in.js.map +1 -1
  328. package/validators/index.js +2 -16
  329. package/validators/index.js.map +1 -1
  330. package/validators/lte.js +0 -8
  331. package/validators/lte.js.map +1 -1
  332. package/validators/maxLength.js +0 -8
  333. package/validators/maxLength.js.map +1 -1
  334. package/validators/minLength.js +0 -8
  335. package/validators/minLength.js.map +1 -1
  336. package/validators/pattern.js +0 -9
  337. package/validators/pattern.js.map +1 -1
  338. package/validators/patternPlugins/email.js +0 -2
  339. package/validators/patternPlugins/email.js.map +1 -1
  340. package/validators/patternPlugins/index.js +0 -8
  341. package/validators/patternPlugins/index.js.map +1 -1
  342. package/validators/patternPlugins/lowerCase.js +0 -2
  343. package/validators/patternPlugins/lowerCase.js.map +1 -1
  344. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  345. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  346. package/validators/patternPlugins/upperCase.js +0 -2
  347. package/validators/patternPlugins/upperCase.js.map +1 -1
  348. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  349. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  350. package/validators/patternPlugins/url.js +0 -2
  351. package/validators/patternPlugins/url.js.map +1 -1
  352. package/validators/required.js +0 -5
  353. package/validators/required.js.map +1 -1
  354. package/validators/timeGte.js +0 -8
  355. package/validators/timeGte.js.map +1 -1
  356. package/validators/timeLte.js +0 -8
  357. package/validators/timeLte.js.map +1 -1
  358. package/validators/unique.js +0 -7
  359. package/validators/unique.js.map +1 -1
  360. package/crud/index.d.ts +0 -6
  361. package/crud/index.js +0 -85
  362. package/crud/index.js.map +0 -1
  363. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  364. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  365. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  366. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  367. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  368. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  369. package/utils/filterModelFields.d.ts +0 -16
  370. package/utils/filterModelFields.js +0 -77
  371. package/utils/filterModelFields.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getContentModelImageFieldId = void 0;
8
+ var _getBaseFieldType = require("../../../utils/getBaseFieldType");
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
+ const getContentModelImageFieldId = (fields, imageFieldId) => {
11
+ /**
12
+ * If there are no fields defined, we will just set as null.
13
+ */
14
+ if (fields.length === 0) {
15
+ return null;
16
+ }
17
+ /**
18
+ * If image field is not defined, let us find possible one.
19
+ */
20
+ if (!imageFieldId) {
21
+ const imageField = fields.find(field => {
22
+ var _field$settings;
23
+ return (0, _getBaseFieldType.getBaseFieldType)(field) === "file" && !field.multipleValues && ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.imagesOnly);
24
+ });
25
+ return (imageField === null || imageField === void 0 ? void 0 : imageField.fieldId) || null;
26
+ }
27
+ const target = fields.find(field => {
28
+ var _field$settings2;
29
+ return field.fieldId === imageFieldId && (0, _getBaseFieldType.getBaseFieldType)(field) === "file" && ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.imagesOnly);
30
+ });
31
+ if (!target) {
32
+ throw new _error.default(`Field selected for the image field does not exist in the model.`, "VALIDATION_ERROR", {
33
+ fieldId: imageFieldId,
34
+ fields
35
+ });
36
+ }
37
+ if (target.multipleValues) {
38
+ throw new _error.default(`Fields that accept multiple values cannot be used as the entry image.`, "ENTRY_TITLE_FIELD_TYPE", {
39
+ storageId: target.storageId,
40
+ fieldId: target.fieldId,
41
+ type: target.type
42
+ });
43
+ }
44
+ return target.fieldId;
45
+ };
46
+ exports.getContentModelImageFieldId = getContentModelImageFieldId;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getContentModelImageFieldId","fields","imageFieldId","length","imageField","find","field","getBaseFieldType","multipleValues","settings","imagesOnly","fieldId","target","WebinyError","storageId","type"],"sources":["imageField.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport WebinyError from \"@webiny/error\";\n\nexport const getContentModelImageFieldId = (\n fields: CmsModelField[],\n imageFieldId?: string | null\n): string | null | undefined => {\n /**\n * If there are no fields defined, we will just set as null.\n */\n if (fields.length === 0) {\n return null;\n }\n /**\n * If image field is not defined, let us find possible one.\n */\n if (!imageFieldId) {\n const imageField = fields.find(field => {\n return (\n getBaseFieldType(field) === \"file\" &&\n !field.multipleValues &&\n field.settings?.imagesOnly\n );\n });\n return imageField?.fieldId || null;\n }\n const target = fields.find(\n field =>\n field.fieldId === imageFieldId &&\n getBaseFieldType(field) === \"file\" &&\n field.settings?.imagesOnly\n );\n if (!target) {\n throw new WebinyError(\n `Field selected for the image field does not exist in the model.`,\n \"VALIDATION_ERROR\",\n {\n fieldId: imageFieldId,\n fields\n }\n );\n }\n if (target.multipleValues) {\n throw new WebinyError(\n `Fields that accept multiple values cannot be used as the entry image.`,\n \"ENTRY_TITLE_FIELD_TYPE\",\n {\n storageId: target.storageId,\n fieldId: target.fieldId,\n type: target.type\n }\n );\n }\n\n return target.fieldId;\n};\n"],"mappings":";;;;;;;AACA;AACA;AAEO,MAAMA,2BAA2B,GAAG,CACvCC,MAAuB,EACvBC,YAA4B,KACA;EAC5B;AACJ;AACA;EACI,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO,IAAI;EACf;EACA;AACJ;AACA;EACI,IAAI,CAACD,YAAY,EAAE;IACf,MAAME,UAAU,GAAGH,MAAM,CAACI,IAAI,CAACC,KAAK,IAAI;MAAA;MACpC,OACI,IAAAC,kCAAgB,EAACD,KAAK,CAAC,KAAK,MAAM,IAClC,CAACA,KAAK,CAACE,cAAc,wBACrBF,KAAK,CAACG,QAAQ,oDAAd,gBAAgBC,UAAU;IAElC,CAAC,CAAC;IACF,OAAO,CAAAN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,OAAO,KAAI,IAAI;EACtC;EACA,MAAMC,MAAM,GAAGX,MAAM,CAACI,IAAI,CACtBC,KAAK;IAAA;IAAA,OACDA,KAAK,CAACK,OAAO,KAAKT,YAAY,IAC9B,IAAAK,kCAAgB,EAACD,KAAK,CAAC,KAAK,MAAM,yBAClCA,KAAK,CAACG,QAAQ,qDAAd,iBAAgBC,UAAU;EAAA,EACjC;EACD,IAAI,CAACE,MAAM,EAAE;IACT,MAAM,IAAIC,cAAW,CAChB,iEAAgE,EACjE,kBAAkB,EAClB;MACIF,OAAO,EAAET,YAAY;MACrBD;IACJ,CAAC,CACJ;EACL;EACA,IAAIW,MAAM,CAACJ,cAAc,EAAE;IACvB,MAAM,IAAIK,cAAW,CAChB,uEAAsE,EACvE,wBAAwB,EACxB;MACIC,SAAS,EAAEF,MAAM,CAACE,SAAS;MAC3BH,OAAO,EAAEC,MAAM,CAACD,OAAO;MACvBI,IAAI,EAAEH,MAAM,CAACG;IACjB,CAAC,CACJ;EACL;EAEA,OAAOH,MAAM,CAACD,OAAO;AACzB,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelField } from "../../../types";
2
+ export declare const getContentModelTitleFieldId: (fields: CmsModelField[], titleFieldId?: string) => string;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getContentModelTitleFieldId = void 0;
8
+ var _getBaseFieldType = require("../../../utils/getBaseFieldType");
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
+ const defaultTitleFieldId = "id";
11
+ const allowedTitleFieldTypes = ["text", "number"];
12
+ const getContentModelTitleFieldId = (fields, titleFieldId) => {
13
+ /**
14
+ * If there are no fields defined, we will return the default field
15
+ */
16
+ if (fields.length === 0) {
17
+ return defaultTitleFieldId;
18
+ }
19
+ /**
20
+ * if there is no title field defined either in input data or existing content model data
21
+ * we will take first text field that has no multiple values enabled
22
+ * or if initial titleFieldId is the default one also try to find first available text field
23
+ */
24
+ if (!titleFieldId || titleFieldId === defaultTitleFieldId) {
25
+ const titleField = fields.find(field => {
26
+ return (0, _getBaseFieldType.getBaseFieldType)(field) === "text" && !field.multipleValues;
27
+ });
28
+ return (titleField === null || titleField === void 0 ? void 0 : titleField.fieldId) || defaultTitleFieldId;
29
+ }
30
+ /**
31
+ * check existing titleFieldId for existence in the model
32
+ * for correct type
33
+ * and that it is not multiple values field
34
+ */
35
+ const target = fields.find(f => f.fieldId === titleFieldId);
36
+ if (!target) {
37
+ throw new _error.default(`Field selected for the title field does not exist in the model.`, "VALIDATION_ERROR", {
38
+ fieldId: titleFieldId,
39
+ fields
40
+ });
41
+ }
42
+ if (allowedTitleFieldTypes.includes(target.type) === false) {
43
+ throw new _error.default(`Only ${allowedTitleFieldTypes.join(", ")} and id fields can be used as an entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
44
+ storageId: target.storageId,
45
+ fieldId: target.fieldId,
46
+ type: target.type
47
+ });
48
+ }
49
+ if (target.multipleValues) {
50
+ throw new _error.default(`Fields that accept multiple values cannot be used as the entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
51
+ storageId: target.storageId,
52
+ fieldId: target.fieldId,
53
+ type: target.type
54
+ });
55
+ }
56
+ return target.fieldId;
57
+ };
58
+ exports.getContentModelTitleFieldId = getContentModelTitleFieldId;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultTitleFieldId","allowedTitleFieldTypes","getContentModelTitleFieldId","fields","titleFieldId","length","titleField","find","field","getBaseFieldType","multipleValues","fieldId","target","f","WebinyError","includes","type","join","storageId"],"sources":["titleField.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport WebinyError from \"@webiny/error\";\n\nconst defaultTitleFieldId = \"id\";\n\nconst allowedTitleFieldTypes = [\"text\", \"number\"];\n\nexport const getContentModelTitleFieldId = (\n fields: CmsModelField[],\n titleFieldId?: string\n): string => {\n /**\n * If there are no fields defined, we will return the default field\n */\n if (fields.length === 0) {\n return defaultTitleFieldId;\n }\n /**\n * if there is no title field defined either in input data or existing content model data\n * we will take first text field that has no multiple values enabled\n * or if initial titleFieldId is the default one also try to find first available text field\n */\n if (!titleFieldId || titleFieldId === defaultTitleFieldId) {\n const titleField = fields.find(field => {\n return getBaseFieldType(field) === \"text\" && !field.multipleValues;\n });\n return titleField?.fieldId || defaultTitleFieldId;\n }\n /**\n * check existing titleFieldId for existence in the model\n * for correct type\n * and that it is not multiple values field\n */\n const target = fields.find(f => f.fieldId === titleFieldId);\n if (!target) {\n throw new WebinyError(\n `Field selected for the title field does not exist in the model.`,\n \"VALIDATION_ERROR\",\n {\n fieldId: titleFieldId,\n fields\n }\n );\n }\n\n if (allowedTitleFieldTypes.includes(target.type) === false) {\n throw new WebinyError(\n `Only ${allowedTitleFieldTypes.join(\n \", \"\n )} and id fields can be used as an entry title.`,\n \"ENTRY_TITLE_FIELD_TYPE\",\n {\n storageId: target.storageId,\n fieldId: target.fieldId,\n type: target.type\n }\n );\n }\n\n if (target.multipleValues) {\n throw new WebinyError(\n `Fields that accept multiple values cannot be used as the entry title.`,\n \"ENTRY_TITLE_FIELD_TYPE\",\n {\n storageId: target.storageId,\n fieldId: target.fieldId,\n type: target.type\n }\n );\n }\n\n return target.fieldId;\n};\n"],"mappings":";;;;;;;AACA;AACA;AAEA,MAAMA,mBAAmB,GAAG,IAAI;AAEhC,MAAMC,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;AAE1C,MAAMC,2BAA2B,GAAG,CACvCC,MAAuB,EACvBC,YAAqB,KACZ;EACT;AACJ;AACA;EACI,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAOL,mBAAmB;EAC9B;EACA;AACJ;AACA;AACA;AACA;EACI,IAAI,CAACI,YAAY,IAAIA,YAAY,KAAKJ,mBAAmB,EAAE;IACvD,MAAMM,UAAU,GAAGH,MAAM,CAACI,IAAI,CAACC,KAAK,IAAI;MACpC,OAAO,IAAAC,kCAAgB,EAACD,KAAK,CAAC,KAAK,MAAM,IAAI,CAACA,KAAK,CAACE,cAAc;IACtE,CAAC,CAAC;IACF,OAAO,CAAAJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEK,OAAO,KAAIX,mBAAmB;EACrD;EACA;AACJ;AACA;AACA;AACA;EACI,MAAMY,MAAM,GAAGT,MAAM,CAACI,IAAI,CAACM,CAAC,IAAIA,CAAC,CAACF,OAAO,KAAKP,YAAY,CAAC;EAC3D,IAAI,CAACQ,MAAM,EAAE;IACT,MAAM,IAAIE,cAAW,CAChB,iEAAgE,EACjE,kBAAkB,EAClB;MACIH,OAAO,EAAEP,YAAY;MACrBD;IACJ,CAAC,CACJ;EACL;EAEA,IAAIF,sBAAsB,CAACc,QAAQ,CAACH,MAAM,CAACI,IAAI,CAAC,KAAK,KAAK,EAAE;IACxD,MAAM,IAAIF,cAAW,CAChB,QAAOb,sBAAsB,CAACgB,IAAI,CAC/B,IAAI,CACN,+CAA8C,EAChD,wBAAwB,EACxB;MACIC,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BP,OAAO,EAAEC,MAAM,CAACD,OAAO;MACvBK,IAAI,EAAEJ,MAAM,CAACI;IACjB,CAAC,CACJ;EACL;EAEA,IAAIJ,MAAM,CAACF,cAAc,EAAE;IACvB,MAAM,IAAII,cAAW,CAChB,uEAAsE,EACvE,wBAAwB,EACxB;MACII,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BP,OAAO,EAAEC,MAAM,CAACD,OAAO;MACvBK,IAAI,EAAEJ,MAAM,CAACI;IACjB,CAAC,CACJ;EACL;EAEA,OAAOJ,MAAM,CAACD,OAAO;AACzB,CAAC;AAAC"}
@@ -50,6 +50,10 @@ const ContentModelFieldModel = (0, _fields.withFields)({
50
50
  type: (0, _fields.setOnce)()((0, _fields.string)({
51
51
  validation: requiredShortString
52
52
  })),
53
+ tags: (0, _commodoFieldsObject.object)({
54
+ value: [],
55
+ required: false
56
+ }),
53
57
  multipleValues: (0, _fields.boolean)({
54
58
  value: false
55
59
  }),
@@ -134,6 +138,10 @@ const CreateContentModelModel = (0, _fields.withFields)({
134
138
  layout: (0, _commodoFieldsObject.object)({
135
139
  value: [],
136
140
  required: true
141
+ }),
142
+ tags: (0, _commodoFieldsObject.object)({
143
+ value: [],
144
+ required: false
137
145
  })
138
146
  })();
139
147
  exports.CreateContentModelModel = CreateContentModelModel;
@@ -175,6 +183,10 @@ const UpdateContentModelModel = (0, _fields.withFields)({
175
183
  layout: (0, _commodoFieldsObject.object)({
176
184
  value: [],
177
185
  required: true
186
+ }),
187
+ tags: (0, _commodoFieldsObject.object)({
188
+ value: [],
189
+ required: false
178
190
  })
179
191
  })();
180
192
  exports.UpdateContentModelModel = UpdateContentModelModel;
@@ -1 +1 @@
1
- {"version":3,"names":["requiredShortString","validation","create","shortString","RendererModel","withFields","name","string","ContentModelFieldModel","id","fieldId","validateFieldId","label","helpText","placeholderText","type","setOnce","multipleValues","boolean","value","predefinedValues","fields","instanceOf","enabled","values","list","selected","renderer","message","settings","object","listValidation","CreateContentModelModel","modelId","description","group","required","layout","CreateContentModelModelFrom","locale","UpdateContentModelModel","titleFieldId"],"sources":["models.ts"],"sourcesContent":["import { validation } from \"@webiny/validation\";\n/**\n * Package commodo-fields-object does not have types\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\n/**\n * Package commodo-fields does not have object.\n */\n// @ts-ignore\nimport { withFields, string, setOnce, boolean, fields } from \"@commodo/fields\";\nimport { validateFieldId } from \"./fieldIdValidation\";\n\nconst requiredShortString = validation.create(\"required,maxLength:255\");\nconst shortString = validation.create(\"maxLength:255\");\n\nconst RendererModel = withFields({\n name: string({ validation: requiredShortString })\n})();\n\nexport const ContentModelFieldModel = withFields({\n id: string({ validation: requiredShortString }),\n fieldId: string({\n validation: validateFieldId\n }),\n label: string({ validation: requiredShortString }),\n helpText: string({ validation: shortString }),\n placeholderText: string({ validation: shortString }),\n type: setOnce()(string({ validation: requiredShortString })),\n multipleValues: boolean({ value: false }),\n predefinedValues: fields({\n value: {},\n instanceOf: withFields({\n enabled: boolean(),\n values: fields({\n value: [],\n list: true,\n instanceOf: withFields({\n label: string(),\n value: string(),\n selected: boolean()\n })()\n })\n })()\n }),\n renderer: fields({ instanceOf: RendererModel, validation: shortString }),\n validation: fields({\n list: true,\n value: [],\n instanceOf: withFields({\n name: string({ validation: requiredShortString }),\n message: string({ validation: shortString }),\n settings: object({ value: {} })\n })()\n }),\n listValidation: fields({\n list: true,\n value: [],\n instanceOf: withFields({\n name: string({ validation: requiredShortString }),\n message: string({ validation: shortString }),\n settings: object({ value: {} })\n })()\n }),\n settings: object({ value: {} })\n /**\n * By the default, field is not deleted.\n */\n // isDeleted: boolean({ value: false })\n})();\n\nexport const CreateContentModelModel = withFields({\n name: string({ validation: requiredShortString }),\n modelId: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: requiredShortString }),\n fields: fields({ instanceOf: ContentModelFieldModel, value: [], list: true, required: true }),\n layout: object({ value: [], required: true })\n})();\n\nexport const CreateContentModelModelFrom = withFields({\n name: string({ validation: requiredShortString }),\n modelId: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: requiredShortString }),\n locale: string({ validation: shortString })\n})();\n\nexport const UpdateContentModelModel = withFields({\n name: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: shortString }),\n titleFieldId: string(),\n fields: fields({ instanceOf: ContentModelFieldModel, value: [], list: true, required: true }),\n layout: object({ value: [], required: true })\n})();\n"],"mappings":"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"}
1
+ {"version":3,"names":["requiredShortString","validation","create","shortString","RendererModel","withFields","name","string","ContentModelFieldModel","id","fieldId","validateFieldId","label","helpText","placeholderText","type","setOnce","tags","object","value","required","multipleValues","boolean","predefinedValues","fields","instanceOf","enabled","values","list","selected","renderer","message","settings","listValidation","CreateContentModelModel","modelId","description","group","layout","CreateContentModelModelFrom","locale","UpdateContentModelModel","titleFieldId"],"sources":["models.ts"],"sourcesContent":["import { validation } from \"@webiny/validation\";\n/**\n * Package commodo-fields-object does not have types\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\n/**\n * Package commodo-fields does not have object.\n */\n// @ts-ignore\nimport { withFields, string, setOnce, boolean, fields } from \"@commodo/fields\";\nimport { validateFieldId } from \"./fieldIdValidation\";\n\nconst requiredShortString = validation.create(\"required,maxLength:255\");\nconst shortString = validation.create(\"maxLength:255\");\n\nconst RendererModel = withFields({\n name: string({ validation: requiredShortString })\n})();\n\nexport const ContentModelFieldModel = withFields({\n id: string({ validation: requiredShortString }),\n fieldId: string({\n validation: validateFieldId\n }),\n label: string({ validation: requiredShortString }),\n helpText: string({ validation: shortString }),\n placeholderText: string({ validation: shortString }),\n type: setOnce()(string({ validation: requiredShortString })),\n tags: object({ value: [], required: false }),\n multipleValues: boolean({ value: false }),\n predefinedValues: fields({\n value: {},\n instanceOf: withFields({\n enabled: boolean(),\n values: fields({\n value: [],\n list: true,\n instanceOf: withFields({\n label: string(),\n value: string(),\n selected: boolean()\n })()\n })\n })()\n }),\n renderer: fields({ instanceOf: RendererModel, validation: shortString }),\n validation: fields({\n list: true,\n value: [],\n instanceOf: withFields({\n name: string({ validation: requiredShortString }),\n message: string({ validation: shortString }),\n settings: object({ value: {} })\n })()\n }),\n listValidation: fields({\n list: true,\n value: [],\n instanceOf: withFields({\n name: string({ validation: requiredShortString }),\n message: string({ validation: shortString }),\n settings: object({ value: {} })\n })()\n }),\n settings: object({ value: {} })\n /**\n * By the default, field is not deleted.\n */\n // isDeleted: boolean({ value: false })\n})();\n\nexport const CreateContentModelModel = withFields({\n name: string({ validation: requiredShortString }),\n modelId: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: requiredShortString }),\n fields: fields({ instanceOf: ContentModelFieldModel, value: [], list: true, required: true }),\n layout: object({ value: [], required: true }),\n tags: object({ value: [], required: false })\n})();\n\nexport const CreateContentModelModelFrom = withFields({\n name: string({ validation: requiredShortString }),\n modelId: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: requiredShortString }),\n locale: string({ validation: shortString })\n})();\n\nexport const UpdateContentModelModel = withFields({\n name: string({ validation: shortString }),\n description: string({ validation: shortString }),\n group: string({ validation: shortString }),\n titleFieldId: string(),\n fields: fields({ instanceOf: ContentModelFieldModel, value: [], list: true, required: true }),\n layout: object({ value: [], required: true }),\n tags: object({ value: [], required: false })\n})();\n"],"mappings":"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"}
@@ -4,33 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.validateLayout = void 0;
7
-
8
7
  const validateLayout = (layout, fields = []) => {
9
8
  const flatLayoutIdList = layout.reduce((acc, id) => {
10
9
  return acc.concat(Array.isArray(id) ? id : [id]);
11
10
  }, []);
12
-
13
11
  if (flatLayoutIdList.length !== fields.length) {
14
12
  throw new Error(`There are ${flatLayoutIdList.length} IDs in the layout and ${fields.length} in fields, which cannot be - numbers must be the same.`);
15
13
  }
16
-
17
14
  for (const field of fields) {
18
15
  if (flatLayoutIdList.includes(field.id)) {
19
16
  continue;
20
17
  }
21
-
22
18
  throw new Error(`Field "${field.id}" is not defined in layout.`);
23
19
  }
24
-
25
20
  for (const id of flatLayoutIdList) {
26
21
  const fieldFound = fields.some(f => f.id === id);
27
-
28
22
  if (fieldFound) {
29
23
  continue;
30
24
  }
31
-
32
25
  throw new Error(`Field id "${id}" is in layout but not in fields.`);
33
26
  }
34
27
  };
35
-
36
28
  exports.validateLayout = validateLayout;
@@ -1 +1 @@
1
- {"version":3,"names":["validateLayout","layout","fields","flatLayoutIdList","reduce","acc","id","concat","Array","isArray","length","Error","field","includes","fieldFound","some","f"],"sources":["validateLayout.ts"],"sourcesContent":["import { CmsModelField, CmsModel } from \"~/types\";\n\nexport const validateLayout = (layout: CmsModel[\"layout\"], fields: CmsModelField[] = []): void => {\n const flatLayoutIdList = layout.reduce((acc, id) => {\n return acc.concat(Array.isArray(id) ? id : [id]);\n }, []);\n if (flatLayoutIdList.length !== fields.length) {\n throw new Error(\n `There are ${flatLayoutIdList.length} IDs in the layout and ${fields.length} in fields, which cannot be - numbers must be the same.`\n );\n }\n for (const field of fields) {\n if (flatLayoutIdList.includes(field.id)) {\n continue;\n }\n throw new Error(`Field \"${field.id}\" is not defined in layout.`);\n }\n for (const id of flatLayoutIdList) {\n const fieldFound = fields.some(f => f.id === id);\n if (fieldFound) {\n continue;\n }\n throw new Error(`Field id \"${id}\" is in layout but not in fields.`);\n }\n};\n"],"mappings":";;;;;;;AAEO,MAAMA,cAAc,GAAG,CAACC,MAAD,EAA6BC,MAAuB,GAAG,EAAvD,KAAoE;EAC9F,MAAMC,gBAAgB,GAAGF,MAAM,CAACG,MAAP,CAAc,CAACC,GAAD,EAAMC,EAAN,KAAa;IAChD,OAAOD,GAAG,CAACE,MAAJ,CAAWC,KAAK,CAACC,OAAN,CAAcH,EAAd,IAAoBA,EAApB,GAAyB,CAACA,EAAD,CAApC,CAAP;EACH,CAFwB,EAEtB,EAFsB,CAAzB;;EAGA,IAAIH,gBAAgB,CAACO,MAAjB,KAA4BR,MAAM,CAACQ,MAAvC,EAA+C;IAC3C,MAAM,IAAIC,KAAJ,CACD,aAAYR,gBAAgB,CAACO,MAAO,0BAAyBR,MAAM,CAACQ,MAAO,yDAD1E,CAAN;EAGH;;EACD,KAAK,MAAME,KAAX,IAAoBV,MAApB,EAA4B;IACxB,IAAIC,gBAAgB,CAACU,QAAjB,CAA0BD,KAAK,CAACN,EAAhC,CAAJ,EAAyC;MACrC;IACH;;IACD,MAAM,IAAIK,KAAJ,CAAW,UAASC,KAAK,CAACN,EAAG,6BAA7B,CAAN;EACH;;EACD,KAAK,MAAMA,EAAX,IAAiBH,gBAAjB,EAAmC;IAC/B,MAAMW,UAAU,GAAGZ,MAAM,CAACa,IAAP,CAAYC,CAAC,IAAIA,CAAC,CAACV,EAAF,KAASA,EAA1B,CAAnB;;IACA,IAAIQ,UAAJ,EAAgB;MACZ;IACH;;IACD,MAAM,IAAIH,KAAJ,CAAW,aAAYL,EAAG,mCAA1B,CAAN;EACH;AACJ,CAtBM"}
1
+ {"version":3,"names":["validateLayout","layout","fields","flatLayoutIdList","reduce","acc","id","concat","Array","isArray","length","Error","field","includes","fieldFound","some","f"],"sources":["validateLayout.ts"],"sourcesContent":["import { CmsModelField, CmsModel } from \"~/types\";\n\nexport const validateLayout = (layout: CmsModel[\"layout\"], fields: CmsModelField[] = []): void => {\n const flatLayoutIdList = layout.reduce((acc, id) => {\n return acc.concat(Array.isArray(id) ? id : [id]);\n }, []);\n if (flatLayoutIdList.length !== fields.length) {\n throw new Error(\n `There are ${flatLayoutIdList.length} IDs in the layout and ${fields.length} in fields, which cannot be - numbers must be the same.`\n );\n }\n for (const field of fields) {\n if (flatLayoutIdList.includes(field.id)) {\n continue;\n }\n throw new Error(`Field \"${field.id}\" is not defined in layout.`);\n }\n for (const id of flatLayoutIdList) {\n const fieldFound = fields.some(f => f.id === id);\n if (fieldFound) {\n continue;\n }\n throw new Error(`Field id \"${id}\" is in layout but not in fields.`);\n }\n};\n"],"mappings":";;;;;;AAEO,MAAMA,cAAc,GAAG,CAACC,MAA0B,EAAEC,MAAuB,GAAG,EAAE,KAAW;EAC9F,MAAMC,gBAAgB,GAAGF,MAAM,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,EAAE,KAAK;IAChD,OAAOD,GAAG,CAACE,MAAM,CAACC,KAAK,CAACC,OAAO,CAACH,EAAE,CAAC,GAAGA,EAAE,GAAG,CAACA,EAAE,CAAC,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EACN,IAAIH,gBAAgB,CAACO,MAAM,KAAKR,MAAM,CAACQ,MAAM,EAAE;IAC3C,MAAM,IAAIC,KAAK,CACV,aAAYR,gBAAgB,CAACO,MAAO,0BAAyBR,MAAM,CAACQ,MAAO,yDAAwD,CACvI;EACL;EACA,KAAK,MAAME,KAAK,IAAIV,MAAM,EAAE;IACxB,IAAIC,gBAAgB,CAACU,QAAQ,CAACD,KAAK,CAACN,EAAE,CAAC,EAAE;MACrC;IACJ;IACA,MAAM,IAAIK,KAAK,CAAE,UAASC,KAAK,CAACN,EAAG,6BAA4B,CAAC;EACpE;EACA,KAAK,MAAMA,EAAE,IAAIH,gBAAgB,EAAE;IAC/B,MAAMW,UAAU,GAAGZ,MAAM,CAACa,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACV,EAAE,KAAKA,EAAE,CAAC;IAChD,IAAIQ,UAAU,EAAE;MACZ;IACJ;IACA,MAAM,IAAIH,KAAK,CAAE,aAAYL,EAAG,mCAAkC,CAAC;EACvE;AACJ,CAAC;AAAC"}
@@ -1,9 +1,9 @@
1
- import { CmsModel } from "../../types";
2
- import { PluginsContainer } from "@webiny/plugins";
1
+ import { CmsContext, CmsModel } from "../../types";
3
2
  interface ValidateModelParams {
3
+ models: CmsModel[];
4
4
  model: CmsModel;
5
5
  original?: CmsModel;
6
- plugins: PluginsContainer;
6
+ context: CmsContext;
7
7
  }
8
- export declare const validateModel: (params: ValidateModelParams) => void;
8
+ export declare const validateModel: (params: ValidateModelParams) => Promise<void>;
9
9
  export {};
@@ -1,32 +1,27 @@
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.validateModel = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
9
  var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
13
-
14
10
  var _validateModelFields = require("./validateModelFields");
15
-
16
- const validateModel = params => {
11
+ const validateModel = async params => {
17
12
  const {
18
13
  model,
19
- plugins
14
+ context
20
15
  } = params;
16
+ const {
17
+ plugins
18
+ } = context;
21
19
  const modelPlugin = plugins.byType(_CmsModelPlugin.CmsModelPlugin.type).find(item => item.contentModel.modelId === model.modelId);
22
-
23
20
  if (modelPlugin) {
24
21
  throw new _error.default("Content models defined via plugins cannot be updated.", "CONTENT_MODEL_UPDATE_ERROR", {
25
22
  modelId: model.modelId
26
23
  });
27
24
  }
28
-
29
- (0, _validateModelFields.validateModelFields)(params);
25
+ await (0, _validateModelFields.validateModelFields)(params);
30
26
  };
31
-
32
27
  exports.validateModel = validateModel;
@@ -1 +1 @@
1
- {"version":3,"names":["validateModel","params","model","plugins","modelPlugin","byType","CmsModelPlugin","type","find","item","contentModel","modelId","WebinyError","validateModelFields"],"sources":["validateModel.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsModel } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { validateModelFields } from \"~/crud/contentModel/validateModelFields\";\n\ninterface ValidateModelParams {\n model: CmsModel;\n original?: CmsModel;\n plugins: PluginsContainer;\n}\n\nexport const validateModel = (params: ValidateModelParams) => {\n const { model, plugins } = params;\n\n const modelPlugin = plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .find(item => item.contentModel.modelId === model.modelId);\n\n if (modelPlugin) {\n throw new WebinyError(\n \"Content models defined via plugins cannot be updated.\",\n \"CONTENT_MODEL_UPDATE_ERROR\",\n {\n modelId: model.modelId\n }\n );\n }\n\n validateModelFields(params);\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAGA;;AAQO,MAAMA,aAAa,GAAIC,MAAD,IAAiC;EAC1D,MAAM;IAAEC,KAAF;IAASC;EAAT,IAAqBF,MAA3B;EAEA,MAAMG,WAAW,GAAGD,OAAO,CACtBE,MADe,CACQC,8BAAA,CAAeC,IADvB,EAEfC,IAFe,CAEVC,IAAI,IAAIA,IAAI,CAACC,YAAL,CAAkBC,OAAlB,KAA8BT,KAAK,CAACS,OAFlC,CAApB;;EAIA,IAAIP,WAAJ,EAAiB;IACb,MAAM,IAAIQ,cAAJ,CACF,uDADE,EAEF,4BAFE,EAGF;MACID,OAAO,EAAET,KAAK,CAACS;IADnB,CAHE,CAAN;EAOH;;EAED,IAAAE,wCAAA,EAAoBZ,MAApB;AACH,CAlBM"}
1
+ {"version":3,"names":["validateModel","params","model","context","plugins","modelPlugin","byType","CmsModelPlugin","type","find","item","contentModel","modelId","WebinyError","validateModelFields"],"sources":["validateModel.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { validateModelFields } from \"~/crud/contentModel/validateModelFields\";\n\ninterface ValidateModelParams {\n models: CmsModel[];\n model: CmsModel;\n original?: CmsModel;\n context: CmsContext;\n}\n\nexport const validateModel = async (params: ValidateModelParams): Promise<void> => {\n const { model, context } = params;\n\n const { plugins } = context;\n\n const modelPlugin = plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .find(item => item.contentModel.modelId === model.modelId);\n\n if (modelPlugin) {\n throw new WebinyError(\n \"Content models defined via plugins cannot be updated.\",\n \"CONTENT_MODEL_UPDATE_ERROR\",\n {\n modelId: model.modelId\n }\n );\n }\n\n await validateModelFields(params);\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AASO,MAAMA,aAAa,GAAG,MAAOC,MAA2B,IAAoB;EAC/E,MAAM;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAEjC,MAAM;IAAEG;EAAQ,CAAC,GAAGD,OAAO;EAE3B,MAAME,WAAW,GAAGD,OAAO,CACtBE,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,YAAY,CAACC,OAAO,KAAKV,KAAK,CAACU,OAAO,CAAC;EAE9D,IAAIP,WAAW,EAAE;IACb,MAAM,IAAIQ,cAAW,CACjB,uDAAuD,EACvD,4BAA4B,EAC5B;MACID,OAAO,EAAEV,KAAK,CAACU;IACnB,CAAC,CACJ;EACL;EAEA,MAAM,IAAAE,wCAAmB,EAACb,MAAM,CAAC;AACrC,CAAC;AAAC"}
@@ -1,9 +1,9 @@
1
- import { CmsModel } from "../../types";
2
- import { PluginsContainer } from "@webiny/plugins";
1
+ import { CmsModel, CmsContext } from "../../types";
3
2
  interface ValidateModelFieldsParams {
3
+ models: CmsModel[];
4
4
  model: CmsModel;
5
5
  original?: CmsModel;
6
- plugins: PluginsContainer;
6
+ context: CmsContext;
7
7
  }
8
- export declare const validateModelFields: (params: ValidateModelFieldsParams) => void;
8
+ export declare const validateModelFields: (params: ValidateModelFieldsParams) => Promise<void>;
9
9
  export {};