@webiny/api-headless-cms 6.0.0-alpha.0 → 6.0.0-alpha.1

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 (561) hide show
  1. package/constants.d.ts +1 -1
  2. package/constants.js.map +1 -1
  3. package/context.d.ts +1 -1
  4. package/context.js.map +1 -1
  5. package/crud/AccessControl/AccessControl.d.ts +2 -2
  6. package/crud/AccessControl/AccessControl.js.map +1 -1
  7. package/crud/contentEntry/abstractions/IDeleteEntry.d.ts +1 -1
  8. package/crud/contentEntry/abstractions/IDeleteEntry.js.map +1 -1
  9. package/crud/contentEntry/abstractions/IDeleteEntryOperation.d.ts +1 -1
  10. package/crud/contentEntry/abstractions/IDeleteEntryOperation.js.map +1 -1
  11. package/crud/contentEntry/abstractions/IGetEntriesByIds.d.ts +1 -1
  12. package/crud/contentEntry/abstractions/IGetEntriesByIds.js.map +1 -1
  13. package/crud/contentEntry/abstractions/IGetEntry.d.ts +1 -1
  14. package/crud/contentEntry/abstractions/IGetEntry.js.map +1 -1
  15. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.d.ts +1 -1
  16. package/crud/contentEntry/abstractions/IGetLatestEntriesByIds.js.map +1 -1
  17. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.d.ts +1 -1
  18. package/crud/contentEntry/abstractions/IGetLatestRevisionByEntryId.js.map +1 -1
  19. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.d.ts +1 -1
  20. package/crud/contentEntry/abstractions/IGetPreviousRevisionByEntryId.js.map +1 -1
  21. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.d.ts +1 -1
  22. package/crud/contentEntry/abstractions/IGetPublishedEntriesByIds.js.map +1 -1
  23. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.d.ts +1 -1
  24. package/crud/contentEntry/abstractions/IGetPublishedRevisionByEntryId.js.map +1 -1
  25. package/crud/contentEntry/abstractions/IGetRevisionById.d.ts +1 -1
  26. package/crud/contentEntry/abstractions/IGetRevisionById.js.map +1 -1
  27. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.d.ts +1 -1
  28. package/crud/contentEntry/abstractions/IGetRevisionsByEntryId.js.map +1 -1
  29. package/crud/contentEntry/abstractions/IListEntries.d.ts +1 -1
  30. package/crud/contentEntry/abstractions/IListEntries.js.map +1 -1
  31. package/crud/contentEntry/abstractions/IListEntriesOperation.d.ts +1 -1
  32. package/crud/contentEntry/abstractions/IListEntriesOperation.js.map +1 -1
  33. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.d.ts +1 -1
  34. package/crud/contentEntry/abstractions/IMoveEntryToBinOperation.js.map +1 -1
  35. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.d.ts +1 -1
  36. package/crud/contentEntry/abstractions/IRestoreEntryFromBin.js.map +1 -1
  37. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.d.ts +1 -1
  38. package/crud/contentEntry/abstractions/IRestoreEntryFromBinOperation.js.map +1 -1
  39. package/crud/contentEntry/afterDelete.d.ts +2 -2
  40. package/crud/contentEntry/afterDelete.js.map +1 -1
  41. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  42. package/crud/contentEntry/beforeCreate.js.map +1 -1
  43. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  44. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  45. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +5 -5
  46. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  47. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +5 -5
  48. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  49. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +4 -4
  50. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  51. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +2 -2
  52. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  53. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +4 -4
  54. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  55. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +4 -4
  56. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  57. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +1 -1
  58. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -1
  59. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  60. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  61. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  62. package/crud/contentEntry/markLockedFields.js.map +1 -1
  63. package/crud/contentEntry/referenceFieldsMapping.d.ts +1 -1
  64. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  65. package/crud/contentEntry/searchableFields.d.ts +2 -2
  66. package/crud/contentEntry/searchableFields.js.map +1 -1
  67. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +3 -3
  68. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -1
  69. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +2 -2
  70. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -1
  71. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +3 -3
  72. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -1
  73. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +3 -3
  74. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -1
  75. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +3 -3
  76. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -1
  77. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +2 -2
  78. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -1
  79. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +3 -3
  80. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -1
  81. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +1 -1
  82. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -1
  83. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +2 -2
  84. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -1
  85. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +5 -5
  86. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -1
  87. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +7 -5
  88. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +6 -2
  89. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -1
  90. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +2 -2
  91. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -1
  92. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +3 -3
  93. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -1
  94. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +4 -2
  95. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +1 -1
  96. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -1
  97. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +7 -5
  98. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +6 -2
  99. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -1
  100. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +2 -2
  101. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -1
  102. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +3 -3
  103. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -1
  104. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +4 -2
  105. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +1 -1
  106. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -1
  107. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +7 -5
  108. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +7 -2
  109. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -1
  110. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +2 -2
  111. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -1
  112. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +2 -2
  113. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -1
  114. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +3 -1
  115. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +1 -1
  116. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -1
  117. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +7 -5
  118. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +7 -2
  119. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -1
  120. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +2 -2
  121. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -1
  122. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +3 -1
  123. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +1 -1
  124. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -1
  125. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +7 -5
  126. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +6 -2
  127. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -1
  128. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +2 -2
  129. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -1
  130. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +3 -3
  131. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -1
  132. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +4 -2
  133. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +1 -1
  134. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -1
  135. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +7 -5
  136. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +7 -2
  137. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -1
  138. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +2 -2
  139. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -1
  140. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +3 -1
  141. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +1 -1
  142. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -1
  143. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +7 -5
  144. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +7 -2
  145. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -1
  146. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +2 -2
  147. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -1
  148. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +3 -1
  149. package/crud/contentEntry/useCases/GetRevisionById/index.js +1 -1
  150. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -1
  151. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +7 -5
  152. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +6 -2
  153. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -1
  154. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +2 -2
  155. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -1
  156. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +4 -2
  157. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +1 -1
  158. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -1
  159. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +2 -2
  160. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -1
  161. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +4 -4
  162. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -1
  163. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +2 -2
  164. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -1
  165. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +12 -5
  166. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +9 -2
  167. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -1
  168. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +2 -2
  169. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -1
  170. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +2 -2
  171. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -1
  172. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +2 -2
  173. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -1
  174. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +2 -2
  175. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -1
  176. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +3 -3
  177. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -1
  178. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +2 -2
  179. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -1
  180. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +2 -2
  181. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -1
  182. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +2 -2
  183. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -1
  184. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +4 -4
  185. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -1
  186. package/crud/contentEntry/useCases/ListEntries/index.d.ts +6 -4
  187. package/crud/contentEntry/useCases/ListEntries/index.js +1 -1
  188. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -1
  189. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +3 -3
  190. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -1
  191. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +7 -5
  192. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +4 -2
  193. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -1
  194. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +3 -3
  195. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -1
  196. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +3 -3
  197. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -1
  198. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +2 -2
  199. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -1
  200. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +7 -5
  201. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +1 -1
  202. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -1
  203. package/crud/contentEntry.crud.d.ts +5 -5
  204. package/crud/contentEntry.crud.js +16 -3
  205. package/crud/contentEntry.crud.js.map +1 -1
  206. package/crud/contentModel/beforeCreate.d.ts +2 -2
  207. package/crud/contentModel/beforeCreate.js.map +1 -1
  208. package/crud/contentModel/beforeDelete.d.ts +2 -2
  209. package/crud/contentModel/beforeDelete.js.map +1 -1
  210. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  211. package/crud/contentModel/beforeUpdate.js.map +1 -1
  212. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  213. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  214. package/crud/contentModel/contentModelManagerFactory.d.ts +1 -1
  215. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  216. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  217. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  218. package/crud/contentModel/defaultFields.d.ts +1 -1
  219. package/crud/contentModel/defaultFields.js.map +1 -1
  220. package/crud/contentModel/ensureTypeTag.d.ts +1 -1
  221. package/crud/contentModel/ensureTypeTag.js.map +1 -1
  222. package/crud/contentModel/fields/descriptionField.d.ts +1 -1
  223. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  224. package/crud/contentModel/fields/getApplicableFieldById.d.ts +1 -1
  225. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
  226. package/crud/contentModel/fields/imageField.d.ts +1 -1
  227. package/crud/contentModel/fields/imageField.js.map +1 -1
  228. package/crud/contentModel/fields/titleField.d.ts +1 -1
  229. package/crud/contentModel/fields/titleField.js.map +1 -1
  230. package/crud/contentModel/listModelsFromDatabase.d.ts +3 -3
  231. package/crud/contentModel/listModelsFromDatabase.js.map +1 -1
  232. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  233. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  234. package/crud/contentModel/validate/modelId.d.ts +1 -1
  235. package/crud/contentModel/validate/modelId.js.map +1 -1
  236. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  237. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  238. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  239. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  240. package/crud/contentModel/validateModel.d.ts +1 -1
  241. package/crud/contentModel/validateModel.js.map +1 -1
  242. package/crud/contentModel/validateModelFields.d.ts +1 -1
  243. package/crud/contentModel/validateModelFields.js.map +1 -1
  244. package/crud/contentModel.crud.d.ts +5 -5
  245. package/crud/contentModel.crud.js.map +1 -1
  246. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  247. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  248. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  249. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  250. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  251. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  252. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +1 -1
  253. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -1
  254. package/crud/contentModelGroup.crud.d.ts +5 -5
  255. package/crud/contentModelGroup.crud.js.map +1 -1
  256. package/crud/system.crud.d.ts +4 -4
  257. package/crud/system.crud.js +10 -0
  258. package/crud/system.crud.js.map +1 -1
  259. package/export/crud/exporting.d.ts +2 -2
  260. package/export/crud/exporting.js.map +1 -1
  261. package/export/crud/importing.d.ts +2 -2
  262. package/export/crud/importing.js.map +1 -1
  263. package/export/crud/imports/importData.d.ts +2 -2
  264. package/export/crud/imports/importData.js.map +1 -1
  265. package/export/crud/imports/importGroups.d.ts +2 -2
  266. package/export/crud/imports/importGroups.js.map +1 -1
  267. package/export/crud/imports/importModels.d.ts +2 -2
  268. package/export/crud/imports/importModels.js.map +1 -1
  269. package/export/crud/imports/validateGroups.d.ts +2 -2
  270. package/export/crud/imports/validateGroups.js.map +1 -1
  271. package/export/crud/imports/validateInput.d.ts +2 -2
  272. package/export/crud/imports/validateInput.js.map +1 -1
  273. package/export/crud/imports/validateModels.d.ts +2 -2
  274. package/export/crud/imports/validateModels.js.map +1 -1
  275. package/export/crud/index.d.ts +1 -1
  276. package/export/crud/index.js.map +1 -1
  277. package/export/crud/sanitize.d.ts +2 -2
  278. package/export/crud/sanitize.js.map +1 -1
  279. package/export/graphql/index.d.ts +1 -1
  280. package/export/graphql/index.js.map +1 -1
  281. package/export/types.d.ts +1 -1
  282. package/export/types.js.map +1 -1
  283. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +3 -2
  284. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  285. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  286. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  287. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  288. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  289. package/graphql/buildSchemaPlugins.d.ts +2 -2
  290. package/graphql/buildSchemaPlugins.js.map +1 -1
  291. package/graphql/checkEndpointAccess.d.ts +1 -1
  292. package/graphql/checkEndpointAccess.js.map +1 -1
  293. package/graphql/createExecutableSchema.d.ts +1 -1
  294. package/graphql/createExecutableSchema.js.map +1 -1
  295. package/graphql/createRequestBody.d.ts +1 -1
  296. package/graphql/createRequestBody.js.map +1 -1
  297. package/graphql/generateSchema.d.ts +2 -2
  298. package/graphql/generateSchema.js.map +1 -1
  299. package/graphql/getSchema/generateCacheId.d.ts +3 -3
  300. package/graphql/getSchema/generateCacheId.js.map +1 -1
  301. package/graphql/getSchema/generateCacheKey.d.ts +1 -1
  302. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  303. package/graphql/getSchema.d.ts +4 -4
  304. package/graphql/getSchema.js.map +1 -1
  305. package/graphql/graphQLHandlerFactory.d.ts +1 -1
  306. package/graphql/graphQLHandlerFactory.js.map +1 -1
  307. package/graphql/handleRequest.d.ts +2 -2
  308. package/graphql/handleRequest.js.map +1 -1
  309. package/graphql/index.d.ts +2 -2
  310. package/graphql/index.js.map +1 -1
  311. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  312. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  313. package/graphql/schema/baseContentSchema.d.ts +2 -2
  314. package/graphql/schema/baseContentSchema.js.map +1 -1
  315. package/graphql/schema/baseSchema.js.map +1 -1
  316. package/graphql/schema/contentEntries.d.ts +2 -2
  317. package/graphql/schema/contentEntries.js.map +1 -1
  318. package/graphql/schema/contentModelGroups.d.ts +2 -2
  319. package/graphql/schema/contentModelGroups.js.map +1 -1
  320. package/graphql/schema/contentModels.d.ts +2 -2
  321. package/graphql/schema/contentModels.js.map +1 -1
  322. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  323. package/graphql/schema/createFieldResolvers.js.map +1 -1
  324. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  325. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  326. package/graphql/schema/createManageSDL.d.ts +2 -2
  327. package/graphql/schema/createManageSDL.js.map +1 -1
  328. package/graphql/schema/createReadSDL.d.ts +2 -2
  329. package/graphql/schema/createReadSDL.js.map +1 -1
  330. package/graphql/schema/createSingularSDL.d.ts +1 -1
  331. package/graphql/schema/createSingularSDL.js.map +1 -1
  332. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +1 -1
  333. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  334. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +1 -1
  335. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  336. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
  337. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  338. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +1 -1
  339. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  340. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +1 -1
  341. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  342. package/graphql/schema/resolvers/manage/resolveGet.d.ts +1 -1
  343. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  344. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
  345. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  346. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
  347. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  348. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +1 -1
  349. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  350. package/graphql/schema/resolvers/manage/resolveList.d.ts +1 -1
  351. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  352. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +1 -1
  353. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  354. package/graphql/schema/resolvers/manage/resolveMove.d.ts +1 -1
  355. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  356. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +1 -1
  357. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  358. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
  359. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  360. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +1 -1
  361. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  362. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
  363. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  364. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
  365. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  366. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +1 -1
  367. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  368. package/graphql/schema/resolvers/preview/resolveGet.d.ts +1 -1
  369. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  370. package/graphql/schema/resolvers/preview/resolveList.d.ts +1 -1
  371. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  372. package/graphql/schema/resolvers/read/resolveGet.d.ts +1 -1
  373. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  374. package/graphql/schema/resolvers/read/resolveList.d.ts +1 -1
  375. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  376. package/graphql/schema/resolvers/singular/resolveGet.d.ts +1 -1
  377. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  378. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +1 -1
  379. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  380. package/graphql/schema/schemaPlugins.d.ts +1 -1
  381. package/graphql/schema/schemaPlugins.js.map +1 -1
  382. package/graphql/system.d.ts +1 -1
  383. package/graphql/system.js.map +1 -1
  384. package/graphqlFields/boolean.d.ts +1 -1
  385. package/graphqlFields/boolean.js.map +1 -1
  386. package/graphqlFields/datetime.d.ts +1 -1
  387. package/graphqlFields/datetime.js.map +1 -1
  388. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  389. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  390. package/graphqlFields/file.d.ts +1 -1
  391. package/graphqlFields/file.js.map +1 -1
  392. package/graphqlFields/helpers.d.ts +1 -1
  393. package/graphqlFields/helpers.js.map +1 -1
  394. package/graphqlFields/index.d.ts +1 -1
  395. package/graphqlFields/index.js.map +1 -1
  396. package/graphqlFields/json.d.ts +1 -1
  397. package/graphqlFields/json.js.map +1 -1
  398. package/graphqlFields/longText.d.ts +1 -1
  399. package/graphqlFields/longText.js.map +1 -1
  400. package/graphqlFields/number.d.ts +1 -1
  401. package/graphqlFields/number.js.map +1 -1
  402. package/graphqlFields/object.d.ts +1 -1
  403. package/graphqlFields/object.js.map +1 -1
  404. package/graphqlFields/ref.d.ts +1 -1
  405. package/graphqlFields/ref.js.map +1 -1
  406. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +1 -1
  407. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -1
  408. package/graphqlFields/richText/richTextResolver.d.ts +2 -2
  409. package/graphqlFields/richText/richTextResolver.js.map +1 -1
  410. package/graphqlFields/richText.d.ts +1 -1
  411. package/graphqlFields/richText.js.map +1 -1
  412. package/graphqlFields/searchableJson.d.ts +1 -1
  413. package/graphqlFields/searchableJson.js +5 -0
  414. package/graphqlFields/searchableJson.js.map +1 -1
  415. package/graphqlFields/text.d.ts +1 -1
  416. package/graphqlFields/text.js.map +1 -1
  417. package/htmlRenderer/LexicalRenderer.d.ts +1 -1
  418. package/htmlRenderer/LexicalRenderer.js.map +1 -1
  419. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -1
  420. package/index.d.ts +3 -3
  421. package/index.js.map +1 -1
  422. package/modelManager/SingletonModelManager.d.ts +1 -1
  423. package/modelManager/SingletonModelManager.js.map +1 -1
  424. package/modelManager/index.d.ts +1 -1
  425. package/modelManager/index.js.map +1 -1
  426. package/package.json +21 -21
  427. package/parameters/header.js.map +1 -1
  428. package/parameters/manual.d.ts +2 -1
  429. package/parameters/manual.js.map +1 -1
  430. package/parameters/path.js.map +1 -1
  431. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +3 -2
  432. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  433. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  434. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  435. package/plugins/CmsGroupPlugin.d.ts +1 -1
  436. package/plugins/CmsGroupPlugin.js.map +1 -1
  437. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  438. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  439. package/plugins/CmsModelPlugin.d.ts +1 -1
  440. package/plugins/CmsModelPlugin.js.map +1 -1
  441. package/plugins/CmsParametersPlugin.d.ts +1 -1
  442. package/plugins/CmsParametersPlugin.js.map +1 -1
  443. package/plugins/StorageOperationsCmsModelPlugin.d.ts +1 -1
  444. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  445. package/plugins/StorageTransformPlugin.d.ts +2 -2
  446. package/plugins/StorageTransformPlugin.js.map +1 -1
  447. package/storage/date.d.ts +1 -1
  448. package/storage/date.js.map +1 -1
  449. package/storage/dynamicZone.js.map +1 -1
  450. package/storage/json.js +34 -5
  451. package/storage/json.js.map +1 -1
  452. package/storage/object.js.map +1 -1
  453. package/types/context.d.ts +7 -7
  454. package/types/context.js.map +1 -1
  455. package/types/fields/dynamicZoneField.d.ts +1 -1
  456. package/types/fields/dynamicZoneField.js.map +1 -1
  457. package/types/fields/objectField.d.ts +1 -1
  458. package/types/fields/objectField.js.map +1 -1
  459. package/types/model.d.ts +3 -3
  460. package/types/model.js.map +1 -1
  461. package/types/modelAst.d.ts +1 -1
  462. package/types/modelAst.js.map +1 -1
  463. package/types/modelField.d.ts +2 -2
  464. package/types/modelField.js.map +1 -1
  465. package/types/modelGroup.d.ts +1 -1
  466. package/types/modelGroup.js.map +1 -1
  467. package/types/plugins.d.ts +6 -6
  468. package/types/plugins.js.map +1 -1
  469. package/types/types.d.ts +19 -19
  470. package/types/types.js.map +1 -1
  471. package/utils/RichTextRenderer.d.ts +2 -2
  472. package/utils/RichTextRenderer.js.map +1 -1
  473. package/utils/caching/Cache.d.ts +1 -1
  474. package/utils/caching/Cache.js.map +1 -1
  475. package/utils/caching/CacheKey.d.ts +2 -2
  476. package/utils/caching/CacheKey.js.map +1 -1
  477. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +1 -1
  478. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  479. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +1 -1
  480. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  481. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +1 -1
  482. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  483. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +1 -1
  484. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
  485. package/utils/converters/Converter.d.ts +3 -3
  486. package/utils/converters/Converter.js.map +1 -1
  487. package/utils/converters/ConverterCollection.d.ts +2 -2
  488. package/utils/converters/ConverterCollection.js.map +1 -1
  489. package/utils/converters/valueKeyStorageConverter.d.ts +3 -3
  490. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  491. package/utils/createModelField.d.ts +1 -1
  492. package/utils/createModelField.js.map +1 -1
  493. package/utils/createTypeFromFields.d.ts +1 -1
  494. package/utils/createTypeFromFields.js.map +1 -1
  495. package/utils/entryStorage.d.ts +8 -1
  496. package/utils/entryStorage.js +37 -4
  497. package/utils/entryStorage.js.map +1 -1
  498. package/utils/getBaseFieldType.d.ts +1 -1
  499. package/utils/getBaseFieldType.js.map +1 -1
  500. package/utils/getEntryDescription.d.ts +1 -1
  501. package/utils/getEntryDescription.js.map +1 -1
  502. package/utils/getEntryImage.d.ts +1 -1
  503. package/utils/getEntryImage.js.map +1 -1
  504. package/utils/getEntryTitle.d.ts +1 -1
  505. package/utils/getEntryTitle.js.map +1 -1
  506. package/utils/getSchemaFromFieldPlugins.d.ts +4 -4
  507. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  508. package/utils/identity.d.ts +1 -1
  509. package/utils/identity.js.map +1 -1
  510. package/utils/isHeadlessCmsReady.d.ts +1 -1
  511. package/utils/isHeadlessCmsReady.js.map +1 -1
  512. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +1 -1
  513. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
  514. package/utils/renderFields.d.ts +1 -1
  515. package/utils/renderFields.js.map +1 -1
  516. package/utils/renderGetFilterFields.d.ts +1 -1
  517. package/utils/renderGetFilterFields.js.map +1 -1
  518. package/utils/renderInputFields.d.ts +1 -1
  519. package/utils/renderInputFields.js.map +1 -1
  520. package/utils/renderListFilterFields.d.ts +1 -1
  521. package/utils/renderListFilterFields.js.map +1 -1
  522. package/utils/renderSortEnum.d.ts +2 -2
  523. package/utils/renderSortEnum.js.map +1 -1
  524. package/validators/dateGte.d.ts +1 -1
  525. package/validators/dateGte.js.map +1 -1
  526. package/validators/dateLte.d.ts +1 -1
  527. package/validators/dateLte.js.map +1 -1
  528. package/validators/gte.d.ts +1 -1
  529. package/validators/gte.js.map +1 -1
  530. package/validators/in.d.ts +1 -1
  531. package/validators/in.js.map +1 -1
  532. package/validators/lte.d.ts +1 -1
  533. package/validators/lte.js.map +1 -1
  534. package/validators/maxLength.d.ts +1 -1
  535. package/validators/maxLength.js.map +1 -1
  536. package/validators/minLength.d.ts +1 -1
  537. package/validators/minLength.js.map +1 -1
  538. package/validators/pattern.d.ts +1 -1
  539. package/validators/pattern.js.map +1 -1
  540. package/validators/patternPlugins/email.d.ts +1 -1
  541. package/validators/patternPlugins/email.js.map +1 -1
  542. package/validators/patternPlugins/index.d.ts +1 -1
  543. package/validators/patternPlugins/index.js.map +1 -1
  544. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  545. package/validators/patternPlugins/lowerCase.js.map +1 -1
  546. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  547. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  548. package/validators/patternPlugins/upperCase.d.ts +1 -1
  549. package/validators/patternPlugins/upperCase.js.map +1 -1
  550. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  551. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  552. package/validators/patternPlugins/url.d.ts +1 -1
  553. package/validators/patternPlugins/url.js.map +1 -1
  554. package/validators/required.d.ts +1 -1
  555. package/validators/required.js.map +1 -1
  556. package/validators/timeGte.d.ts +1 -1
  557. package/validators/timeGte.js.map +1 -1
  558. package/validators/timeLte.d.ts +1 -1
  559. package/validators/timeLte.js.map +1 -1
  560. package/validators/unique.d.ts +1 -1
  561. package/validators/unique.js.map +1 -1
@@ -1,3 +1,3 @@
1
- import { HeadlessCmsImport } from "../types";
2
- import { CmsContext } from "../../types";
1
+ import type { HeadlessCmsImport } from "../types";
2
+ import type { CmsContext } from "../../types";
3
3
  export declare const createImportCrud: (context: CmsContext) => HeadlessCmsImport;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_importData","_validateInput","fetchGroupsAndModels","context","security","withoutAuthorization","groups","cms","listGroups","models","listModels","createImportCrud","validate","params","data","validated","validateInput","error","message","structure","WebinyError","imported","importData","modelError","find","model","exports"],"sources":["importing.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { HeadlessCmsImport, ValidCmsGroupResult, ValidCmsModelResult } from \"~/export/types\";\nimport { CmsContext } from \"~/types\";\nimport { importData } from \"./imports/importData\";\nimport { validateInput } from \"./imports/validateInput\";\n\nconst fetchGroupsAndModels = async (context: CmsContext) => {\n return await context.security.withoutAuthorization(async () => {\n return {\n groups: await context.cms.listGroups(),\n models: await context.cms.listModels()\n };\n });\n};\n\nexport const createImportCrud = (context: CmsContext): HeadlessCmsImport => {\n return {\n validate: async params => {\n const { data } = params;\n\n const { groups, models } = await fetchGroupsAndModels(context);\n\n const validated = await validateInput({\n groups,\n models,\n data\n });\n if (validated.error) {\n return {\n groups: validated.groups,\n models: validated.models,\n message: validated.error\n };\n }\n\n return {\n groups: validated.groups,\n models: validated.models,\n message: \"Validation done.\"\n };\n },\n structure: async params => {\n const { data } = params;\n\n const { groups, models } = await fetchGroupsAndModels(context);\n\n const validated = await validateInput({\n groups,\n models,\n data\n });\n if (validated.error) {\n throw new WebinyError(validated.error, \"VALIDATION_ERROR\");\n }\n\n const imported = await importData({\n context,\n groups: validated.groups as ValidCmsGroupResult[],\n models: validated.models as ValidCmsModelResult[]\n });\n\n const modelError = imported.models.find(model => !!model.error);\n const error = imported.error || modelError;\n\n return {\n ...imported,\n message: error ? null : \"Import done.\"\n };\n }\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAG,MAAOC,OAAmB,IAAK;EACxD,OAAO,MAAMA,OAAO,CAACC,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IAC3D,OAAO;MACHC,MAAM,EAAE,MAAMH,OAAO,CAACI,GAAG,CAACC,UAAU,CAAC,CAAC;MACtCC,MAAM,EAAE,MAAMN,OAAO,CAACI,GAAG,CAACG,UAAU,CAAC;IACzC,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,MAAMC,gBAAgB,GAAIR,OAAmB,IAAwB;EACxE,OAAO;IACHS,QAAQ,EAAE,MAAMC,MAAM,IAAI;MACtB,MAAM;QAAEC;MAAK,CAAC,GAAGD,MAAM;MAEvB,MAAM;QAAEP,MAAM;QAAEG;MAAO,CAAC,GAAG,MAAMP,oBAAoB,CAACC,OAAO,CAAC;MAE9D,MAAMY,SAAS,GAAG,MAAM,IAAAC,4BAAa,EAAC;QAClCV,MAAM;QACNG,MAAM;QACNK;MACJ,CAAC,CAAC;MACF,IAAIC,SAAS,CAACE,KAAK,EAAE;QACjB,OAAO;UACHX,MAAM,EAAES,SAAS,CAACT,MAAM;UACxBG,MAAM,EAAEM,SAAS,CAACN,MAAM;UACxBS,OAAO,EAAEH,SAAS,CAACE;QACvB,CAAC;MACL;MAEA,OAAO;QACHX,MAAM,EAAES,SAAS,CAACT,MAAM;QACxBG,MAAM,EAAEM,SAAS,CAACN,MAAM;QACxBS,OAAO,EAAE;MACb,CAAC;IACL,CAAC;IACDC,SAAS,EAAE,MAAMN,MAAM,IAAI;MACvB,MAAM;QAAEC;MAAK,CAAC,GAAGD,MAAM;MAEvB,MAAM;QAAEP,MAAM;QAAEG;MAAO,CAAC,GAAG,MAAMP,oBAAoB,CAACC,OAAO,CAAC;MAE9D,MAAMY,SAAS,GAAG,MAAM,IAAAC,4BAAa,EAAC;QAClCV,MAAM;QACNG,MAAM;QACNK;MACJ,CAAC,CAAC;MACF,IAAIC,SAAS,CAACE,KAAK,EAAE;QACjB,MAAM,IAAIG,cAAW,CAACL,SAAS,CAACE,KAAK,EAAE,kBAAkB,CAAC;MAC9D;MAEA,MAAMI,QAAQ,GAAG,MAAM,IAAAC,sBAAU,EAAC;QAC9BnB,OAAO;QACPG,MAAM,EAAES,SAAS,CAACT,MAA+B;QACjDG,MAAM,EAAEM,SAAS,CAACN;MACtB,CAAC,CAAC;MAEF,MAAMc,UAAU,GAAGF,QAAQ,CAACZ,MAAM,CAACe,IAAI,CAACC,KAAK,IAAI,CAAC,CAACA,KAAK,CAACR,KAAK,CAAC;MAC/D,MAAMA,KAAK,GAAGI,QAAQ,CAACJ,KAAK,IAAIM,UAAU;MAE1C,OAAO;QACH,GAAGF,QAAQ;QACXH,OAAO,EAAED,KAAK,GAAG,IAAI,GAAG;MAC5B,CAAC;IACL;EACJ,CAAC;AACL,CAAC;AAACS,OAAA,CAAAf,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_importData","_validateInput","fetchGroupsAndModels","context","security","withoutAuthorization","groups","cms","listGroups","models","listModels","createImportCrud","validate","params","data","validated","validateInput","error","message","structure","WebinyError","imported","importData","modelError","find","model","exports"],"sources":["importing.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { HeadlessCmsImport, ValidCmsGroupResult, ValidCmsModelResult } from \"~/export/types\";\nimport type { CmsContext } from \"~/types\";\nimport { importData } from \"./imports/importData\";\nimport { validateInput } from \"./imports/validateInput\";\n\nconst fetchGroupsAndModels = async (context: CmsContext) => {\n return await context.security.withoutAuthorization(async () => {\n return {\n groups: await context.cms.listGroups(),\n models: await context.cms.listModels()\n };\n });\n};\n\nexport const createImportCrud = (context: CmsContext): HeadlessCmsImport => {\n return {\n validate: async params => {\n const { data } = params;\n\n const { groups, models } = await fetchGroupsAndModels(context);\n\n const validated = await validateInput({\n groups,\n models,\n data\n });\n if (validated.error) {\n return {\n groups: validated.groups,\n models: validated.models,\n message: validated.error\n };\n }\n\n return {\n groups: validated.groups,\n models: validated.models,\n message: \"Validation done.\"\n };\n },\n structure: async params => {\n const { data } = params;\n\n const { groups, models } = await fetchGroupsAndModels(context);\n\n const validated = await validateInput({\n groups,\n models,\n data\n });\n if (validated.error) {\n throw new WebinyError(validated.error, \"VALIDATION_ERROR\");\n }\n\n const imported = await importData({\n context,\n groups: validated.groups as ValidCmsGroupResult[],\n models: validated.models as ValidCmsModelResult[]\n });\n\n const modelError = imported.models.find(model => !!model.error);\n const error = imported.error || modelError;\n\n return {\n ...imported,\n message: error ? null : \"Import done.\"\n };\n }\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAEA,MAAMG,oBAAoB,GAAG,MAAOC,OAAmB,IAAK;EACxD,OAAO,MAAMA,OAAO,CAACC,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IAC3D,OAAO;MACHC,MAAM,EAAE,MAAMH,OAAO,CAACI,GAAG,CAACC,UAAU,CAAC,CAAC;MACtCC,MAAM,EAAE,MAAMN,OAAO,CAACI,GAAG,CAACG,UAAU,CAAC;IACzC,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,MAAMC,gBAAgB,GAAIR,OAAmB,IAAwB;EACxE,OAAO;IACHS,QAAQ,EAAE,MAAMC,MAAM,IAAI;MACtB,MAAM;QAAEC;MAAK,CAAC,GAAGD,MAAM;MAEvB,MAAM;QAAEP,MAAM;QAAEG;MAAO,CAAC,GAAG,MAAMP,oBAAoB,CAACC,OAAO,CAAC;MAE9D,MAAMY,SAAS,GAAG,MAAM,IAAAC,4BAAa,EAAC;QAClCV,MAAM;QACNG,MAAM;QACNK;MACJ,CAAC,CAAC;MACF,IAAIC,SAAS,CAACE,KAAK,EAAE;QACjB,OAAO;UACHX,MAAM,EAAES,SAAS,CAACT,MAAM;UACxBG,MAAM,EAAEM,SAAS,CAACN,MAAM;UACxBS,OAAO,EAAEH,SAAS,CAACE;QACvB,CAAC;MACL;MAEA,OAAO;QACHX,MAAM,EAAES,SAAS,CAACT,MAAM;QACxBG,MAAM,EAAEM,SAAS,CAACN,MAAM;QACxBS,OAAO,EAAE;MACb,CAAC;IACL,CAAC;IACDC,SAAS,EAAE,MAAMN,MAAM,IAAI;MACvB,MAAM;QAAEC;MAAK,CAAC,GAAGD,MAAM;MAEvB,MAAM;QAAEP,MAAM;QAAEG;MAAO,CAAC,GAAG,MAAMP,oBAAoB,CAACC,OAAO,CAAC;MAE9D,MAAMY,SAAS,GAAG,MAAM,IAAAC,4BAAa,EAAC;QAClCV,MAAM;QACNG,MAAM;QACNK;MACJ,CAAC,CAAC;MACF,IAAIC,SAAS,CAACE,KAAK,EAAE;QACjB,MAAM,IAAIG,cAAW,CAACL,SAAS,CAACE,KAAK,EAAE,kBAAkB,CAAC;MAC9D;MAEA,MAAMI,QAAQ,GAAG,MAAM,IAAAC,sBAAU,EAAC;QAC9BnB,OAAO;QACPG,MAAM,EAAES,SAAS,CAACT,MAA+B;QACjDG,MAAM,EAAEM,SAAS,CAACN;MACtB,CAAC,CAAC;MAEF,MAAMc,UAAU,GAAGF,QAAQ,CAACZ,MAAM,CAACe,IAAI,CAACC,KAAK,IAAI,CAAC,CAACA,KAAK,CAACR,KAAK,CAAC;MAC/D,MAAMA,KAAK,GAAGI,QAAQ,CAACJ,KAAK,IAAIM,UAAU;MAE1C,OAAO;QACH,GAAGF,QAAQ;QACXH,OAAO,EAAED,KAAK,GAAG,IAAI,GAAG;MAC5B,CAAC;IACL;EACJ,CAAC;AACL,CAAC;AAACS,OAAA,CAAAf,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsGroupImportResult, CmsModelImportResult, ValidCmsGroupResult, ValidCmsModelResult } from "../../types";
2
- import { CmsContext } from "../../../types";
1
+ import type { CmsGroupImportResult, CmsModelImportResult, ValidCmsGroupResult, ValidCmsModelResult } from "../../types";
2
+ import type { CmsContext } from "../../../types";
3
3
  interface Params {
4
4
  context: CmsContext;
5
5
  groups: ValidCmsGroupResult[];
@@ -1 +1 @@
1
- {"version":3,"names":["_importGroups","require","_importModels","getGroup","params","validated","imported","target","group","find","id","validatedGroup","importData","context","groups","importGroups","models","importModels","map","model","exports"],"sources":["importData.ts"],"sourcesContent":["import {\n CmsGroupImportResult,\n CmsModelImportResult,\n ValidCmsGroupResult,\n ValidCmsModelResult\n} from \"~/export/types\";\nimport { CmsContext } from \"~/types\";\nimport { importGroups } from \"./importGroups\";\nimport { importModels } from \"./importModels\";\n\ninterface Params {\n context: CmsContext;\n groups: ValidCmsGroupResult[];\n models: ValidCmsModelResult[];\n}\n\ninterface Response {\n groups: CmsGroupImportResult[];\n models: CmsModelImportResult[];\n error?: string;\n}\n\ninterface GetGroupParams {\n validated: ValidCmsGroupResult[];\n imported: CmsGroupImportResult[];\n target: string;\n}\n\nconst getGroup = (params: GetGroupParams) => {\n const { validated, imported, target } = params;\n const group = imported.find(group => {\n return group.group.id === target;\n });\n if (group) {\n return group.group.id;\n }\n const validatedGroup = validated.find(group => {\n return group.group.id === target || group.target === target;\n });\n return validatedGroup?.target || validatedGroup?.group.id;\n};\n\nexport const importData = async (params: Params): Promise<Response> => {\n const { context } = params;\n\n const groups = await importGroups(params);\n\n const models = await importModels({\n context,\n models: params.models.map(model => {\n const group = getGroup({\n validated: params.groups,\n imported: groups,\n target: model.model.group\n });\n return {\n ...model,\n group: group || model.model.group\n };\n })\n });\n\n return {\n groups,\n models\n };\n};\n"],"mappings":";;;;;;AAOA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAoBA,MAAME,QAAQ,GAAIC,MAAsB,IAAK;EACzC,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAC9C,MAAMI,KAAK,GAAGF,QAAQ,CAACG,IAAI,CAACD,KAAK,IAAI;IACjC,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE,KAAKH,MAAM;EACpC,CAAC,CAAC;EACF,IAAIC,KAAK,EAAE;IACP,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE;EACzB;EACA,MAAMC,cAAc,GAAGN,SAAS,CAACI,IAAI,CAACD,KAAK,IAAI;IAC3C,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE,KAAKH,MAAM,IAAIC,KAAK,CAACD,MAAM,KAAKA,MAAM;EAC/D,CAAC,CAAC;EACF,OAAOI,cAAc,EAAEJ,MAAM,IAAII,cAAc,EAAEH,KAAK,CAACE,EAAE;AAC7D,CAAC;AAEM,MAAME,UAAU,GAAG,MAAOR,MAAc,IAAwB;EACnE,MAAM;IAAES;EAAQ,CAAC,GAAGT,MAAM;EAE1B,MAAMU,MAAM,GAAG,MAAM,IAAAC,0BAAY,EAACX,MAAM,CAAC;EAEzC,MAAMY,MAAM,GAAG,MAAM,IAAAC,0BAAY,EAAC;IAC9BJ,OAAO;IACPG,MAAM,EAAEZ,MAAM,CAACY,MAAM,CAACE,GAAG,CAACC,KAAK,IAAI;MAC/B,MAAMX,KAAK,GAAGL,QAAQ,CAAC;QACnBE,SAAS,EAAED,MAAM,CAACU,MAAM;QACxBR,QAAQ,EAAEQ,MAAM;QAChBP,MAAM,EAAEY,KAAK,CAACA,KAAK,CAACX;MACxB,CAAC,CAAC;MACF,OAAO;QACH,GAAGW,KAAK;QACRX,KAAK,EAAEA,KAAK,IAAIW,KAAK,CAACA,KAAK,CAACX;MAChC,CAAC;IACL,CAAC;EACL,CAAC,CAAC;EAEF,OAAO;IACHM,MAAM;IACNE;EACJ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAR,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_importGroups","require","_importModels","getGroup","params","validated","imported","target","group","find","id","validatedGroup","importData","context","groups","importGroups","models","importModels","map","model","exports"],"sources":["importData.ts"],"sourcesContent":["import type {\n CmsGroupImportResult,\n CmsModelImportResult,\n ValidCmsGroupResult,\n ValidCmsModelResult\n} from \"~/export/types\";\nimport type { CmsContext } from \"~/types\";\nimport { importGroups } from \"./importGroups\";\nimport { importModels } from \"./importModels\";\n\ninterface Params {\n context: CmsContext;\n groups: ValidCmsGroupResult[];\n models: ValidCmsModelResult[];\n}\n\ninterface Response {\n groups: CmsGroupImportResult[];\n models: CmsModelImportResult[];\n error?: string;\n}\n\ninterface GetGroupParams {\n validated: ValidCmsGroupResult[];\n imported: CmsGroupImportResult[];\n target: string;\n}\n\nconst getGroup = (params: GetGroupParams) => {\n const { validated, imported, target } = params;\n const group = imported.find(group => {\n return group.group.id === target;\n });\n if (group) {\n return group.group.id;\n }\n const validatedGroup = validated.find(group => {\n return group.group.id === target || group.target === target;\n });\n return validatedGroup?.target || validatedGroup?.group.id;\n};\n\nexport const importData = async (params: Params): Promise<Response> => {\n const { context } = params;\n\n const groups = await importGroups(params);\n\n const models = await importModels({\n context,\n models: params.models.map(model => {\n const group = getGroup({\n validated: params.groups,\n imported: groups,\n target: model.model.group\n });\n return {\n ...model,\n group: group || model.model.group\n };\n })\n });\n\n return {\n groups,\n models\n };\n};\n"],"mappings":";;;;;;AAOA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAoBA,MAAME,QAAQ,GAAIC,MAAsB,IAAK;EACzC,MAAM;IAAEC,SAAS;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAC9C,MAAMI,KAAK,GAAGF,QAAQ,CAACG,IAAI,CAACD,KAAK,IAAI;IACjC,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE,KAAKH,MAAM;EACpC,CAAC,CAAC;EACF,IAAIC,KAAK,EAAE;IACP,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE;EACzB;EACA,MAAMC,cAAc,GAAGN,SAAS,CAACI,IAAI,CAACD,KAAK,IAAI;IAC3C,OAAOA,KAAK,CAACA,KAAK,CAACE,EAAE,KAAKH,MAAM,IAAIC,KAAK,CAACD,MAAM,KAAKA,MAAM;EAC/D,CAAC,CAAC;EACF,OAAOI,cAAc,EAAEJ,MAAM,IAAII,cAAc,EAAEH,KAAK,CAACE,EAAE;AAC7D,CAAC;AAEM,MAAME,UAAU,GAAG,MAAOR,MAAc,IAAwB;EACnE,MAAM;IAAES;EAAQ,CAAC,GAAGT,MAAM;EAE1B,MAAMU,MAAM,GAAG,MAAM,IAAAC,0BAAY,EAACX,MAAM,CAAC;EAEzC,MAAMY,MAAM,GAAG,MAAM,IAAAC,0BAAY,EAAC;IAC9BJ,OAAO;IACPG,MAAM,EAAEZ,MAAM,CAACY,MAAM,CAACE,GAAG,CAACC,KAAK,IAAI;MAC/B,MAAMX,KAAK,GAAGL,QAAQ,CAAC;QACnBE,SAAS,EAAED,MAAM,CAACU,MAAM;QACxBR,QAAQ,EAAEQ,MAAM;QAChBP,MAAM,EAAEY,KAAK,CAACA,KAAK,CAACX;MACxB,CAAC,CAAC;MACF,OAAO;QACH,GAAGW,KAAK;QACRX,KAAK,EAAEA,KAAK,IAAIW,KAAK,CAACA,KAAK,CAACX;MAChC,CAAC;IACL,CAAC;EACL,CAAC,CAAC;EAEF,OAAO;IACHM,MAAM;IACNE;EACJ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAR,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsContext } from "../../../types";
2
- import { CmsGroupImportResult, ValidCmsGroupResult } from "../../types";
1
+ import type { CmsContext } from "../../../types";
2
+ import type { CmsGroupImportResult, ValidCmsGroupResult } from "../../types";
3
3
  interface Params {
4
4
  context: CmsContext;
5
5
  groups: ValidCmsGroupResult[];
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","importGroups","params","context","groups","results","group","action","CmsImportAction","NONE","error","push","imported","message","code","CODE","UPDATE","result","cms","updateGroup","id","description","undefined","ex","data","createGroup","exports"],"sources":["importGroups.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGroupImportResult, CmsImportAction, ValidCmsGroupResult } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n groups: ValidCmsGroupResult[];\n}\n\nexport const importGroups = async (params: Params) => {\n const { context, groups } = params;\n\n const results: CmsGroupImportResult[] = [];\n for (const group of groups) {\n if (group.action === CmsImportAction.NONE || group.error) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: group.error || {\n message: \"No action to be ran on the group.\",\n code: \"NO_ACTION\"\n }\n });\n }\n /**\n * Cannot update if the group is created via plugin.\n */\n if (group.action === CmsImportAction.CODE) {\n results.push({\n action: group.action,\n group: group.group,\n imported: true\n });\n continue;\n }\n /**\n * Update the group.\n */\n //\n else if (group.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateGroup(group.group.id, {\n ...group.group,\n description: group.group.description || undefined\n });\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n continue;\n }\n /**\n * Create the group\n */\n //\n try {\n const result = await context.cms.createGroup(group.group);\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","importGroups","params","context","groups","results","group","action","CmsImportAction","NONE","error","push","imported","message","code","CODE","UPDATE","result","cms","updateGroup","id","description","undefined","ex","data","createGroup","exports"],"sources":["importGroups.ts"],"sourcesContent":["import type { CmsContext } from \"~/types\";\nimport type { CmsGroupImportResult, ValidCmsGroupResult } from \"~/export/types\";\nimport { CmsImportAction } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n groups: ValidCmsGroupResult[];\n}\n\nexport const importGroups = async (params: Params) => {\n const { context, groups } = params;\n\n const results: CmsGroupImportResult[] = [];\n for (const group of groups) {\n if (group.action === CmsImportAction.NONE || group.error) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: group.error || {\n message: \"No action to be ran on the group.\",\n code: \"NO_ACTION\"\n }\n });\n }\n /**\n * Cannot update if the group is created via plugin.\n */\n if (group.action === CmsImportAction.CODE) {\n results.push({\n action: group.action,\n group: group.group,\n imported: true\n });\n continue;\n }\n /**\n * Update the group.\n */\n //\n else if (group.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateGroup(group.group.id, {\n ...group.group,\n description: group.group.description || undefined\n });\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n continue;\n }\n /**\n * Create the group\n */\n //\n try {\n const result = await context.cms.createGroup(group.group);\n results.push({\n action: group.action,\n group: {\n ...result\n },\n imported: true\n });\n } catch (ex) {\n results.push({\n action: group.action,\n group: group.group,\n imported: false,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_GROUP_ERROR\",\n data: {\n ...ex.data,\n group\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsContext } from "../../../types";
2
- import { CmsModelImportResult, ValidCmsModelResult } from "../../types";
1
+ import type { CmsContext } from "../../../types";
2
+ import type { CmsModelImportResult, ValidCmsModelResult } from "../../types";
3
3
  interface Params {
4
4
  context: CmsContext;
5
5
  models: ValidCmsModelResult[];
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","importModels","params","context","models","groups","cms","listGroups","results","model","group","find","id","push","action","related","imported","error","message","code","data","CmsImportAction","NONE","CODE","UPDATE","result","updateModel","modelId","ex","createModel","exports"],"sources":["importModels.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsImportAction, CmsModelImportResult, ValidCmsModelResult } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n models: ValidCmsModelResult[];\n}\n\nexport const importModels = async (params: Params) => {\n const { context, models } = params;\n\n const groups = await context.cms.listGroups();\n\n const results: CmsModelImportResult[] = [];\n\n for (const model of models) {\n /**\n * There is a possibility that group does not exist.\n */\n const group = groups.find(group => {\n return group.id === model.model.group;\n });\n if (!group) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: {\n message: `Group \"${model.model.group}\" does not exist.`,\n code: \"GROUP_NOT_FOUND\",\n data: {\n model\n }\n }\n });\n continue;\n }\n /**\n * No update action or there is a validation error.\n */\n if (model.action === CmsImportAction.NONE || model.error) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: model.error || {\n message: \"No action to be ran on the model.\",\n code: \"NO_ACTION\"\n }\n });\n continue;\n }\n /**\n * Cannot update a model if it is created via plugin.\n */\n if (model.action === CmsImportAction.CODE) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: true\n });\n continue;\n }\n\n /**\n * Update the model\n */\n //\n if (model.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateModel(model.model.modelId, model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n continue;\n }\n /**\n * Create a new model.\n */\n try {\n const result = await context.cms.createModel(model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAOO,MAAMC,YAAY,GAAG,MAAOC,MAAc,IAAK;EAClD,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAElC,MAAMG,MAAM,GAAG,MAAMF,OAAO,CAACG,GAAG,CAACC,UAAU,CAAC,CAAC;EAE7C,MAAMC,OAA+B,GAAG,EAAE;EAE1C,KAAK,MAAMC,KAAK,IAAIL,MAAM,EAAE;IACxB;AACR;AACA;IACQ,MAAMM,KAAK,GAAGL,MAAM,CAACM,IAAI,CAACD,KAAK,IAAI;MAC/B,OAAOA,KAAK,CAACE,EAAE,KAAKH,KAAK,CAACA,KAAK,CAACC,KAAK;IACzC,CAAC,CAAC;IACF,IAAI,CAACA,KAAK,EAAE;MACRF,OAAO,CAACK,IAAI,CAAC;QACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;QACpBL,KAAK,EAAEA,KAAK,CAACA,KAAK;QAClBM,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,QAAQ,EAAE,KAAK;QACfC,KAAK,EAAE;UACHC,OAAO,EAAE,UAAUT,KAAK,CAACA,KAAK,CAACC,KAAK,mBAAmB;UACvDS,IAAI,EAAE,iBAAiB;UACvBC,IAAI,EAAE;YACFX;UACJ;QACJ;MACJ,CAAC,CAAC;MACF;IACJ;IACA;AACR;AACA;IACQ,IAAIA,KAAK,CAACK,MAAM,KAAKO,sBAAe,CAACC,IAAI,IAAIb,KAAK,CAACQ,KAAK,EAAE;MACtDT,OAAO,CAACK,IAAI,CAAC;QACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;QACpBL,KAAK,EAAEA,KAAK,CAACA,KAAK;QAClBM,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,QAAQ,EAAE,KAAK;QACfC,KAAK,EAAER,KAAK,CAACQ,KAAK,IAAI;UAClBC,OAAO,EAAE,mCAAmC;UAC5CC,IAAI,EAAE;QACV;MACJ,CAAC,CAAC;MACF;IACJ;IACA;AACR;AACA;IACQ,IAAIV,KAAK,CAACK,MAAM,KAAKO,sBAAe,CAACE,IAAI,EAAE;MACvCf,OAAO,CAACK,IAAI,CAAC;QACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;QACpBL,KAAK,EAAEA,KAAK,CAACA,KAAK;QAClBM,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,QAAQ,EAAE;MACd,CAAC,CAAC;MACF;IACJ;;IAEA;AACR;AACA;IACQ;IACA,IAAIP,KAAK,CAACK,MAAM,KAAKO,sBAAe,CAACG,MAAM,EAAE;MACzC,IAAI;QACA,MAAMC,MAAM,GAAG,MAAMtB,OAAO,CAACG,GAAG,CAACoB,WAAW,CAACjB,KAAK,CAACA,KAAK,CAACkB,OAAO,EAAElB,KAAK,CAACA,KAAK,CAAC;QAC9ED,OAAO,CAACK,IAAI,CAAC;UACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;UACpBL,KAAK,EAAE;YACH,GAAGgB,MAAM;YACTf,KAAK,EAAEA,KAAK,CAACE;UACjB,CAAC;UACDG,OAAO,EAAEN,KAAK,CAACM,OAAO;UACtBC,QAAQ,EAAE;QACd,CAAC,CAAC;MACN,CAAC,CAAC,OAAOY,EAAE,EAAE;QACTpB,OAAO,CAACK,IAAI,CAAC;UACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;UACpBL,KAAK,EAAEA,KAAK,CAACA,KAAK;UAClBO,QAAQ,EAAE,KAAK;UACfD,OAAO,EAAEN,KAAK,CAACM,OAAO;UACtBE,KAAK,EAAE;YACHC,OAAO,EAAEU,EAAE,CAACV,OAAO;YACnBC,IAAI,EAAES,EAAE,CAACT,IAAI,IAAI,oBAAoB;YACrCC,IAAI,EAAE;cACFX,KAAK,EAAEA,KAAK,CAACA,KAAK;cAClB,GAAGmB,EAAE,CAACR;YACV;UACJ;QACJ,CAAC,CAAC;MACN;MACA;IACJ;IACA;AACR;AACA;IACQ,IAAI;MACA,MAAMK,MAAM,GAAG,MAAMtB,OAAO,CAACG,GAAG,CAACuB,WAAW,CAACpB,KAAK,CAACA,KAAK,CAAC;MACzDD,OAAO,CAACK,IAAI,CAAC;QACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;QACpBL,KAAK,EAAE;UACH,GAAGgB,MAAM;UACTf,KAAK,EAAEA,KAAK,CAACE;QACjB,CAAC;QACDG,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBC,QAAQ,EAAE;MACd,CAAC,CAAC;IACN,CAAC,CAAC,OAAOY,EAAE,EAAE;MACTpB,OAAO,CAACK,IAAI,CAAC;QACTC,MAAM,EAAEL,KAAK,CAACK,MAAM;QACpBL,KAAK,EAAEA,KAAK,CAACA,KAAK;QAClBO,QAAQ,EAAE,KAAK;QACfD,OAAO,EAAEN,KAAK,CAACM,OAAO;QACtBE,KAAK,EAAE;UACHC,OAAO,EAAEU,EAAE,CAACV,OAAO;UACnBC,IAAI,EAAES,EAAE,CAACT,IAAI,IAAI,oBAAoB;UACrCC,IAAI,EAAE;YACFX,KAAK,EAAEA,KAAK,CAACA,KAAK;YAClB,GAAGmB,EAAE,CAACR;UACV;QACJ;MACJ,CAAC,CAAC;IACN;EACJ;EAEA,OAAOZ,OAAO;AAClB,CAAC;AAACsB,OAAA,CAAA7B,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","importModels","params","context","models","groups","cms","listGroups","results","model","group","find","id","push","action","related","imported","error","message","code","data","CmsImportAction","NONE","CODE","UPDATE","result","updateModel","modelId","ex","createModel","exports"],"sources":["importModels.ts"],"sourcesContent":["import type { CmsContext } from \"~/types\";\nimport type { CmsModelImportResult, ValidCmsModelResult } from \"~/export/types\";\nimport { CmsImportAction } from \"~/export/types\";\n\ninterface Params {\n context: CmsContext;\n models: ValidCmsModelResult[];\n}\n\nexport const importModels = async (params: Params) => {\n const { context, models } = params;\n\n const groups = await context.cms.listGroups();\n\n const results: CmsModelImportResult[] = [];\n\n for (const model of models) {\n /**\n * There is a possibility that group does not exist.\n */\n const group = groups.find(group => {\n return group.id === model.model.group;\n });\n if (!group) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: {\n message: `Group \"${model.model.group}\" does not exist.`,\n code: \"GROUP_NOT_FOUND\",\n data: {\n model\n }\n }\n });\n continue;\n }\n /**\n * No update action or there is a validation error.\n */\n if (model.action === CmsImportAction.NONE || model.error) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: false,\n error: model.error || {\n message: \"No action to be ran on the model.\",\n code: \"NO_ACTION\"\n }\n });\n continue;\n }\n /**\n * Cannot update a model if it is created via plugin.\n */\n if (model.action === CmsImportAction.CODE) {\n results.push({\n action: model.action,\n model: model.model,\n related: model.related,\n imported: true\n });\n continue;\n }\n\n /**\n * Update the model\n */\n //\n if (model.action === CmsImportAction.UPDATE) {\n try {\n const result = await context.cms.updateModel(model.model.modelId, model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"UPDATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n continue;\n }\n /**\n * Create a new model.\n */\n try {\n const result = await context.cms.createModel(model.model);\n results.push({\n action: model.action,\n model: {\n ...result,\n group: group.id\n },\n related: model.related,\n imported: true\n });\n } catch (ex) {\n results.push({\n action: model.action,\n model: model.model,\n imported: false,\n related: model.related,\n error: {\n message: ex.message,\n code: ex.code || \"CREATE_MODEL_ERROR\",\n data: {\n model: model.model,\n ...ex.data\n }\n }\n });\n }\n }\n\n return results;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsGroup } from "../../../types";
2
- import { ValidatedCmsGroupResult } from "../../types";
1
+ import type { CmsGroup } from "../../../types";
2
+ import type { ValidatedCmsGroupResult } from "../../types";
3
3
  interface Params {
4
4
  groups: Pick<CmsGroup, "id" | "slug" | "isPlugin">[];
5
5
  input: Partial<CmsGroup>[];
@@ -1 +1 @@
1
- {"version":3,"names":["_validation","require","_utils","_types","validateGroups","params","groups","input","validation","createGroupCreateValidation","Promise","all","map","group","result","safeParseAsync","success","error","createZodError","action","CmsImportAction","NONE","message","code","data","id","slug","isPluginGroup","some","g","isPlugin","CODE","canBeUpdated","UPDATE","groupWithIdExists","groupWithSlugExists","find","target","CREATE","exports"],"sources":["validateGroups.ts"],"sourcesContent":["import { CmsGroup } from \"~/types\";\nimport { createGroupCreateValidation } from \"~/crud/contentModelGroup/validation\";\nimport { createZodError } from \"@webiny/utils\";\nimport { CmsImportAction, ValidatedCmsGroupResult } from \"~/export/types\";\n\ninterface Params {\n groups: Pick<CmsGroup, \"id\" | \"slug\" | \"isPlugin\">[];\n input: Partial<CmsGroup>[];\n}\n\nexport const validateGroups = async (params: Params): Promise<ValidatedCmsGroupResult[]> => {\n const { groups, input } = params;\n\n const validation = createGroupCreateValidation();\n\n return await Promise.all(\n input.map(async (group): Promise<ValidatedCmsGroupResult> => {\n const result = await validation.safeParseAsync(group);\n if (!result.success) {\n const error = createZodError(result.error);\n return {\n group: group as CmsGroup,\n action: CmsImportAction.NONE,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n const data = result.data as CmsGroup;\n if (!data.id) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing ID.`,\n code: \"GROUP_ID_MISSING\"\n }\n };\n }\n if (!data.slug) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing slug.`,\n code: \"GROUP_SLUG_MISSING\"\n }\n };\n }\n\n const isPluginGroup = groups.some(g => {\n if (!g.isPlugin) {\n return false;\n }\n return g.id === data.id || g.slug === data.slug;\n });\n if (isPluginGroup) {\n return {\n group: data,\n action: CmsImportAction.CODE,\n error: {\n message: `Group already exists, but it is a plugin group - cannot be updated.`,\n code: \"GROUP_IS_PLUGIN\"\n }\n };\n }\n\n const canBeUpdated = groups.some(g => {\n return g.id === data.id && g.slug === data.slug;\n });\n if (canBeUpdated) {\n return {\n group: data,\n action: CmsImportAction.UPDATE\n };\n }\n\n const groupWithIdExists = groups.some(g => g.id === data.id);\n if (groupWithIdExists) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group with ID \"${data.id}\" already exists. Cannot update it because the slug is different.`,\n code: \"GROUP_ID_EXISTS\"\n }\n };\n }\n\n const groupWithSlugExists = groups.find(g => g.slug === data.slug);\n if (groupWithSlugExists) {\n /**\n * If group with given slug already exists, we will map the ID to the existing group.\n *\n * We will also point all models from the imported group to the existing group.\n * We will not update the existing group.\n */\n return {\n group: {\n ...data,\n id: groupWithSlugExists.id\n },\n target: data.id,\n action: CmsImportAction.NONE\n };\n }\n\n return {\n group: data,\n action: CmsImportAction.CREATE\n };\n })\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_validation","require","_utils","_types","validateGroups","params","groups","input","validation","createGroupCreateValidation","Promise","all","map","group","result","safeParseAsync","success","error","createZodError","action","CmsImportAction","NONE","message","code","data","id","slug","isPluginGroup","some","g","isPlugin","CODE","canBeUpdated","UPDATE","groupWithIdExists","groupWithSlugExists","find","target","CREATE","exports"],"sources":["validateGroups.ts"],"sourcesContent":["import type { CmsGroup } from \"~/types\";\nimport { createGroupCreateValidation } from \"~/crud/contentModelGroup/validation\";\nimport { createZodError } from \"@webiny/utils\";\nimport type { ValidatedCmsGroupResult } from \"~/export/types\";\nimport { CmsImportAction } from \"~/export/types\";\n\ninterface Params {\n groups: Pick<CmsGroup, \"id\" | \"slug\" | \"isPlugin\">[];\n input: Partial<CmsGroup>[];\n}\n\nexport const validateGroups = async (params: Params): Promise<ValidatedCmsGroupResult[]> => {\n const { groups, input } = params;\n\n const validation = createGroupCreateValidation();\n\n return await Promise.all(\n input.map(async (group): Promise<ValidatedCmsGroupResult> => {\n const result = await validation.safeParseAsync(group);\n if (!result.success) {\n const error = createZodError(result.error);\n return {\n group: group as CmsGroup,\n action: CmsImportAction.NONE,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n const data = result.data as CmsGroup;\n if (!data.id) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing ID.`,\n code: \"GROUP_ID_MISSING\"\n }\n };\n }\n if (!data.slug) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group is missing slug.`,\n code: \"GROUP_SLUG_MISSING\"\n }\n };\n }\n\n const isPluginGroup = groups.some(g => {\n if (!g.isPlugin) {\n return false;\n }\n return g.id === data.id || g.slug === data.slug;\n });\n if (isPluginGroup) {\n return {\n group: data,\n action: CmsImportAction.CODE,\n error: {\n message: `Group already exists, but it is a plugin group - cannot be updated.`,\n code: \"GROUP_IS_PLUGIN\"\n }\n };\n }\n\n const canBeUpdated = groups.some(g => {\n return g.id === data.id && g.slug === data.slug;\n });\n if (canBeUpdated) {\n return {\n group: data,\n action: CmsImportAction.UPDATE\n };\n }\n\n const groupWithIdExists = groups.some(g => g.id === data.id);\n if (groupWithIdExists) {\n return {\n group: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Group with ID \"${data.id}\" already exists. Cannot update it because the slug is different.`,\n code: \"GROUP_ID_EXISTS\"\n }\n };\n }\n\n const groupWithSlugExists = groups.find(g => g.slug === data.slug);\n if (groupWithSlugExists) {\n /**\n * If group with given slug already exists, we will map the ID to the existing group.\n *\n * We will also point all models from the imported group to the existing group.\n * We will not update the existing group.\n */\n return {\n group: {\n ...data,\n id: groupWithSlugExists.id\n },\n target: data.id,\n action: CmsImportAction.NONE\n };\n }\n\n return {\n group: data,\n action: CmsImportAction.CREATE\n };\n })\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { CmsGroup, CmsModel } from "../../../types";
2
- import { CmsImportStructureParamsData, ValidatedCmsGroupResult, ValidatedCmsModelResult } from "../../types";
1
+ import type { CmsGroup, CmsModel } from "../../../types";
2
+ import type { CmsImportStructureParamsData, ValidatedCmsGroupResult, ValidatedCmsModelResult } from "../../types";
3
3
  interface Params {
4
4
  groups: CmsGroup[];
5
5
  models: CmsModel[];
@@ -1 +1 @@
1
- {"version":3,"names":["_validateGroups","require","_validateModels","validateInput","params","groups","models","data","validatedGroups","validateGroups","input","inputGroups","reduce","collection","group","id","push","target","slug","map","g","validatedModels","validateModels","length","error","exports"],"sources":["validateInput.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"~/types\";\nimport {\n CmsImportStructureParamsData,\n ValidatedCmsGroupResult,\n ValidatedCmsModelResult\n} from \"~/export/types\";\nimport { validateGroups } from \"~/export/crud/imports/validateGroups\";\nimport { validateModels } from \"~/export/crud/imports/validateModels\";\n\ninterface Params {\n groups: CmsGroup[];\n models: CmsModel[];\n data: CmsImportStructureParamsData;\n}\n\ninterface ValidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: never;\n}\n\ninterface InvalidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: string;\n}\n\ninterface InputGroup extends Pick<CmsGroup, \"id\" | \"slug\"> {\n target: string;\n}\n\nexport const validateInput = async (params: Params): Promise<ValidResponse | InvalidResponse> => {\n const { groups, models, data } = params;\n\n const validatedGroups = await validateGroups({\n groups,\n input: data.groups\n });\n\n const inputGroups = validatedGroups.reduce<InputGroup[]>(\n (collection, data) => {\n if (!data.group?.id) {\n return collection;\n }\n collection.push({\n id: data.group.id,\n target: data.target || data.group.id,\n slug: data.group.slug\n });\n return collection;\n },\n groups.map(g => {\n return {\n id: g.id,\n target: g.id,\n slug: g.slug\n };\n })\n );\n const validatedModels = await validateModels({\n groups: inputGroups,\n models,\n input: data.models\n });\n if (validatedModels.length === 0) {\n return {\n groups: validatedGroups,\n models: validatedModels,\n error: \"No models to import.\"\n };\n }\n return {\n groups: validatedGroups,\n models: validatedModels\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAwBO,MAAME,aAAa,GAAG,MAAOC,MAAc,IAA+C;EAC7F,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAEvC,MAAMI,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCJ,MAAM;IACNK,KAAK,EAAEH,IAAI,CAACF;EAChB,CAAC,CAAC;EAEF,MAAMM,WAAW,GAAGH,eAAe,CAACI,MAAM,CACtC,CAACC,UAAU,EAAEN,IAAI,KAAK;IAClB,IAAI,CAACA,IAAI,CAACO,KAAK,EAAEC,EAAE,EAAE;MACjB,OAAOF,UAAU;IACrB;IACAA,UAAU,CAACG,IAAI,CAAC;MACZD,EAAE,EAAER,IAAI,CAACO,KAAK,CAACC,EAAE;MACjBE,MAAM,EAAEV,IAAI,CAACU,MAAM,IAAIV,IAAI,CAACO,KAAK,CAACC,EAAE;MACpCG,IAAI,EAAEX,IAAI,CAACO,KAAK,CAACI;IACrB,CAAC,CAAC;IACF,OAAOL,UAAU;EACrB,CAAC,EACDR,MAAM,CAACc,GAAG,CAACC,CAAC,IAAI;IACZ,OAAO;MACHL,EAAE,EAAEK,CAAC,CAACL,EAAE;MACRE,MAAM,EAAEG,CAAC,CAACL,EAAE;MACZG,IAAI,EAAEE,CAAC,CAACF;IACZ,CAAC;EACL,CAAC,CACL,CAAC;EACD,MAAMG,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCjB,MAAM,EAAEM,WAAW;IACnBL,MAAM;IACNI,KAAK,EAAEH,IAAI,CAACD;EAChB,CAAC,CAAC;EACF,IAAIe,eAAe,CAACE,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO;MACHlB,MAAM,EAAEG,eAAe;MACvBF,MAAM,EAAEe,eAAe;MACvBG,KAAK,EAAE;IACX,CAAC;EACL;EACA,OAAO;IACHnB,MAAM,EAAEG,eAAe;IACvBF,MAAM,EAAEe;EACZ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAtB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_validateGroups","require","_validateModels","validateInput","params","groups","models","data","validatedGroups","validateGroups","input","inputGroups","reduce","collection","group","id","push","target","slug","map","g","validatedModels","validateModels","length","error","exports"],"sources":["validateInput.ts"],"sourcesContent":["import type { CmsGroup, CmsModel } from \"~/types\";\nimport type {\n CmsImportStructureParamsData,\n ValidatedCmsGroupResult,\n ValidatedCmsModelResult\n} from \"~/export/types\";\nimport { validateGroups } from \"~/export/crud/imports/validateGroups\";\nimport { validateModels } from \"~/export/crud/imports/validateModels\";\n\ninterface Params {\n groups: CmsGroup[];\n models: CmsModel[];\n data: CmsImportStructureParamsData;\n}\n\ninterface ValidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: never;\n}\n\ninterface InvalidResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n error?: string;\n}\n\ninterface InputGroup extends Pick<CmsGroup, \"id\" | \"slug\"> {\n target: string;\n}\n\nexport const validateInput = async (params: Params): Promise<ValidResponse | InvalidResponse> => {\n const { groups, models, data } = params;\n\n const validatedGroups = await validateGroups({\n groups,\n input: data.groups\n });\n\n const inputGroups = validatedGroups.reduce<InputGroup[]>(\n (collection, data) => {\n if (!data.group?.id) {\n return collection;\n }\n collection.push({\n id: data.group.id,\n target: data.target || data.group.id,\n slug: data.group.slug\n });\n return collection;\n },\n groups.map(g => {\n return {\n id: g.id,\n target: g.id,\n slug: g.slug\n };\n })\n );\n const validatedModels = await validateModels({\n groups: inputGroups,\n models,\n input: data.models\n });\n if (validatedModels.length === 0) {\n return {\n groups: validatedGroups,\n models: validatedModels,\n error: \"No models to import.\"\n };\n }\n return {\n groups: validatedGroups,\n models: validatedModels\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAwBO,MAAME,aAAa,GAAG,MAAOC,MAAc,IAA+C;EAC7F,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAEvC,MAAMI,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCJ,MAAM;IACNK,KAAK,EAAEH,IAAI,CAACF;EAChB,CAAC,CAAC;EAEF,MAAMM,WAAW,GAAGH,eAAe,CAACI,MAAM,CACtC,CAACC,UAAU,EAAEN,IAAI,KAAK;IAClB,IAAI,CAACA,IAAI,CAACO,KAAK,EAAEC,EAAE,EAAE;MACjB,OAAOF,UAAU;IACrB;IACAA,UAAU,CAACG,IAAI,CAAC;MACZD,EAAE,EAAER,IAAI,CAACO,KAAK,CAACC,EAAE;MACjBE,MAAM,EAAEV,IAAI,CAACU,MAAM,IAAIV,IAAI,CAACO,KAAK,CAACC,EAAE;MACpCG,IAAI,EAAEX,IAAI,CAACO,KAAK,CAACI;IACrB,CAAC,CAAC;IACF,OAAOL,UAAU;EACrB,CAAC,EACDR,MAAM,CAACc,GAAG,CAACC,CAAC,IAAI;IACZ,OAAO;MACHL,EAAE,EAAEK,CAAC,CAACL,EAAE;MACRE,MAAM,EAAEG,CAAC,CAACL,EAAE;MACZG,IAAI,EAAEE,CAAC,CAACF;IACZ,CAAC;EACL,CAAC,CACL,CAAC;EACD,MAAMG,eAAe,GAAG,MAAM,IAAAC,8BAAc,EAAC;IACzCjB,MAAM,EAAEM,WAAW;IACnBL,MAAM;IACNI,KAAK,EAAEH,IAAI,CAACD;EAChB,CAAC,CAAC;EACF,IAAIe,eAAe,CAACE,MAAM,KAAK,CAAC,EAAE;IAC9B,OAAO;MACHlB,MAAM,EAAEG,eAAe;MACvBF,MAAM,EAAEe,eAAe;MACvBG,KAAK,EAAE;IACX,CAAC;EACL;EACA,OAAO;IACHnB,MAAM,EAAEG,eAAe;IACvBF,MAAM,EAAEe;EACZ,CAAC;AACL,CAAC;AAACI,OAAA,CAAAtB,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { HeadlessCmsImportStructureParamsDataModel, ValidatedCmsModelResult } from "../../types";
2
- import { CmsGroup, CmsModel } from "../../../types";
1
+ import type { HeadlessCmsImportStructureParamsDataModel, ValidatedCmsModelResult } from "../../types";
2
+ import type { CmsGroup, CmsModel } from "../../../types";
3
3
  interface InputGroup extends Pick<CmsGroup, "id" | "slug"> {
4
4
  target: string;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_validation","require","_types","_utils","addCodeMessage","params","action","CmsImportAction","CODE","errors","message","code","validateModel","model","models","existingModelId","find","m","modelId","toLowerCase","existingSingularApiName","singularApiName","pluralApiName","toString","existingPluralApiName","UPDATE_KEYWORD","isPlugin","UPDATE","CREATE","NONE","data","getRelatedModels","fields","result","field","type","settings","push","templates","tpl","Array","from","Set","validateModels","groups","input","validation","createModelImportValidation","Promise","all","map","safeParseAsync","success","error","createZodError","group","g","id","target","length","targetModel","modelValidationResult","related","exports"],"sources":["validateModels.ts"],"sourcesContent":["import { createModelImportValidation } from \"~/crud/contentModel/validation\";\nimport {\n CmsImportAction,\n CmsImportError,\n HeadlessCmsImportStructureParamsDataModel,\n ValidatedCmsModel,\n ValidatedCmsModelResult\n} from \"~/export/types\";\nimport { CmsDynamicZoneTemplate, CmsGroup, CmsModel, CmsModelField } from \"~/types\";\nimport { createZodError } from \"@webiny/utils\";\n\ninterface CreateModelValidationParams {\n model: ValidatedCmsModel;\n models: CmsModel[];\n}\n\ninterface AddCodeMessageParams {\n action: CmsImportAction;\n}\n\nconst addCodeMessage = (params: AddCodeMessageParams) => {\n if (params.action !== CmsImportAction.CODE) {\n return params;\n }\n return {\n ...params,\n errors: [\n {\n message: `The model is defined via plugin and it cannot be updated.`,\n code: \"MODEL_IS_A_PLUGIN\"\n }\n ]\n };\n};\n\ninterface ValidationResult {\n errors?: CmsImportError[];\n action: CmsImportAction;\n}\n\nconst validateModel = (params: CreateModelValidationParams): ValidationResult => {\n const { model, models } = params;\n /**\n * Let's check if model values that must be unique, already exist.\n */\n const existingModelId = models.find(\n m => m.modelId.toLowerCase() === model.modelId.toLowerCase()\n );\n const existingSingularApiName = models.find(\n m =>\n m.singularApiName.toLowerCase() === model.singularApiName.toLowerCase() ||\n m.singularApiName.toLowerCase() === model.pluralApiName.toString()\n );\n const existingPluralApiName = models.find(\n m =>\n m.pluralApiName.toLowerCase() === model.pluralApiName.toLowerCase() ||\n m.pluralApiName.toLowerCase() === model.singularApiName.toString()\n );\n\n const UPDATE_KEYWORD = existingModelId?.isPlugin\n ? CmsImportAction.CODE\n : CmsImportAction.UPDATE;\n /**\n * There are few cases that we must address:\n *\n * 1. modelId, singular and plural names do not exist in any of the models\n * - this is OK, we can create the model\n */\n if (!existingModelId && !existingSingularApiName && !existingPluralApiName) {\n return {\n action: CmsImportAction.CREATE\n };\n }\n /**\n * 2. modelId, singular and plural names are a part of a single model\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingSingularApiName &&\n existingPluralApiName &&\n existingModelId.modelId === existingSingularApiName.modelId &&\n existingModelId.modelId === existingPluralApiName.modelId\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 3. modelId already exists, but singular and plural names do not\n * - this is OK, we can update the model\n */\n if (existingModelId && !existingSingularApiName && !existingPluralApiName) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 4. modelId already exists, but only the singular name exists.\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingSingularApiName?.modelId === existingModelId.modelId &&\n !existingPluralApiName\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 5. modelId already exists, but only the plural name exists.\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingPluralApiName?.modelId === existingModelId.modelId &&\n !existingSingularApiName\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 6. modelId already exists, but singular and plural names are in different models.\n */\n if (\n existingModelId &&\n (existingSingularApiName?.modelId !== existingModelId.modelId ||\n existingPluralApiName?.modelId !== existingModelId.modelId)\n ) {\n return {\n action: CmsImportAction.NONE,\n errors: [\n {\n message: `The model has singular or plural API names same as some other model.`,\n code: \"MODEL_API_NAMES_ERROR\"\n }\n ]\n };\n }\n\n return {\n action: CmsImportAction.NONE,\n errors: [\n {\n message: `The model cannot be imported.`,\n code: \"MODEL_IMPORT_ERROR\",\n data: {\n modelId: existingModelId?.modelId,\n singularApiName: existingSingularApiName?.modelId,\n pluralApiName: existingPluralApiName?.modelId\n }\n }\n ]\n };\n};\n\ninterface InputGroup extends Pick<CmsGroup, \"id\" | \"slug\"> {\n target: string;\n}\n\ninterface Params {\n groups: InputGroup[];\n models: CmsModel[];\n input: HeadlessCmsImportStructureParamsDataModel[];\n}\n\ninterface GetRelatedModelsParams {\n fields: CmsModelField[];\n models: CmsModel[];\n}\n\nconst getRelatedModels = (params: GetRelatedModelsParams): string[] => {\n const { fields, models } = params;\n\n const result: string[] = [];\n for (const field of fields) {\n if (field.type === \"ref\") {\n for (const model of field.settings?.models || []) {\n result.push(model.modelId);\n }\n } else if (field.type === \"object\") {\n result.push(...getRelatedModels({ fields: field.settings?.fields || [], models }));\n } else if (field.type === \"dynamicZone\") {\n const templates = (field.settings?.templates || []) as CmsDynamicZoneTemplate[];\n for (const tpl of templates) {\n result.push(\n ...getRelatedModels({\n fields: tpl.fields || [],\n models\n })\n );\n }\n }\n }\n\n return Array.from(new Set(result));\n};\n\nexport const validateModels = async (params: Params): Promise<ValidatedCmsModelResult[]> => {\n const { groups, models, input } = params;\n\n const validation = createModelImportValidation();\n\n return await Promise.all(\n input.map(async (model): Promise<ValidatedCmsModelResult> => {\n const result = await validation.safeParseAsync(model);\n if (!result.success) {\n const error = createZodError(result.error);\n return {\n model: model as ValidatedCmsModel,\n action: CmsImportAction.NONE,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n const data = result.data as unknown as ValidatedCmsModel;\n const group = groups.find(g => g.id === data.group || g.target === data.group);\n if (!group) {\n return {\n model: data,\n action: CmsImportAction.NONE,\n error: {\n message: `The model group \"${data.group}\" does not exist.`,\n code: \"MODEL_GROUP_NOT_FOUND\"\n }\n };\n } else if (!model.fields?.length) {\n return {\n model: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Model is missing fields.`,\n code: \"MODEL_FIELDS_MISSING\"\n }\n };\n }\n\n const targetModel: ValidatedCmsModel = {\n ...data,\n group: group.id\n };\n\n const modelValidationResult = validateModel({\n model: targetModel,\n models\n });\n\n if (!modelValidationResult.errors?.length) {\n return {\n model: targetModel,\n related: getRelatedModels({\n fields: targetModel.fields,\n models\n }),\n action: modelValidationResult.action\n };\n }\n return {\n model: targetModel,\n action: modelValidationResult.action,\n error: modelValidationResult.errors[0]\n };\n })\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_validation","require","_types","_utils","addCodeMessage","params","action","CmsImportAction","CODE","errors","message","code","validateModel","model","models","existingModelId","find","m","modelId","toLowerCase","existingSingularApiName","singularApiName","pluralApiName","toString","existingPluralApiName","UPDATE_KEYWORD","isPlugin","UPDATE","CREATE","NONE","data","getRelatedModels","fields","result","field","type","settings","push","templates","tpl","Array","from","Set","validateModels","groups","input","validation","createModelImportValidation","Promise","all","map","safeParseAsync","success","error","createZodError","group","g","id","target","length","targetModel","modelValidationResult","related","exports"],"sources":["validateModels.ts"],"sourcesContent":["import { createModelImportValidation } from \"~/crud/contentModel/validation\";\nimport type {\n CmsImportError,\n HeadlessCmsImportStructureParamsDataModel,\n ValidatedCmsModel,\n ValidatedCmsModelResult\n} from \"~/export/types\";\nimport { CmsImportAction } from \"~/export/types\";\nimport type { CmsDynamicZoneTemplate, CmsGroup, CmsModel, CmsModelField } from \"~/types\";\nimport { createZodError } from \"@webiny/utils\";\n\ninterface CreateModelValidationParams {\n model: ValidatedCmsModel;\n models: CmsModel[];\n}\n\ninterface AddCodeMessageParams {\n action: CmsImportAction;\n}\n\nconst addCodeMessage = (params: AddCodeMessageParams) => {\n if (params.action !== CmsImportAction.CODE) {\n return params;\n }\n return {\n ...params,\n errors: [\n {\n message: `The model is defined via plugin and it cannot be updated.`,\n code: \"MODEL_IS_A_PLUGIN\"\n }\n ]\n };\n};\n\ninterface ValidationResult {\n errors?: CmsImportError[];\n action: CmsImportAction;\n}\n\nconst validateModel = (params: CreateModelValidationParams): ValidationResult => {\n const { model, models } = params;\n /**\n * Let's check if model values that must be unique, already exist.\n */\n const existingModelId = models.find(\n m => m.modelId.toLowerCase() === model.modelId.toLowerCase()\n );\n const existingSingularApiName = models.find(\n m =>\n m.singularApiName.toLowerCase() === model.singularApiName.toLowerCase() ||\n m.singularApiName.toLowerCase() === model.pluralApiName.toString()\n );\n const existingPluralApiName = models.find(\n m =>\n m.pluralApiName.toLowerCase() === model.pluralApiName.toLowerCase() ||\n m.pluralApiName.toLowerCase() === model.singularApiName.toString()\n );\n\n const UPDATE_KEYWORD = existingModelId?.isPlugin\n ? CmsImportAction.CODE\n : CmsImportAction.UPDATE;\n /**\n * There are few cases that we must address:\n *\n * 1. modelId, singular and plural names do not exist in any of the models\n * - this is OK, we can create the model\n */\n if (!existingModelId && !existingSingularApiName && !existingPluralApiName) {\n return {\n action: CmsImportAction.CREATE\n };\n }\n /**\n * 2. modelId, singular and plural names are a part of a single model\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingSingularApiName &&\n existingPluralApiName &&\n existingModelId.modelId === existingSingularApiName.modelId &&\n existingModelId.modelId === existingPluralApiName.modelId\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 3. modelId already exists, but singular and plural names do not\n * - this is OK, we can update the model\n */\n if (existingModelId && !existingSingularApiName && !existingPluralApiName) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 4. modelId already exists, but only the singular name exists.\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingSingularApiName?.modelId === existingModelId.modelId &&\n !existingPluralApiName\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 5. modelId already exists, but only the plural name exists.\n * - this is OK, we can update the model\n */\n if (\n existingModelId &&\n existingPluralApiName?.modelId === existingModelId.modelId &&\n !existingSingularApiName\n ) {\n return addCodeMessage({\n action: UPDATE_KEYWORD\n });\n }\n /**\n * 6. modelId already exists, but singular and plural names are in different models.\n */\n if (\n existingModelId &&\n (existingSingularApiName?.modelId !== existingModelId.modelId ||\n existingPluralApiName?.modelId !== existingModelId.modelId)\n ) {\n return {\n action: CmsImportAction.NONE,\n errors: [\n {\n message: `The model has singular or plural API names same as some other model.`,\n code: \"MODEL_API_NAMES_ERROR\"\n }\n ]\n };\n }\n\n return {\n action: CmsImportAction.NONE,\n errors: [\n {\n message: `The model cannot be imported.`,\n code: \"MODEL_IMPORT_ERROR\",\n data: {\n modelId: existingModelId?.modelId,\n singularApiName: existingSingularApiName?.modelId,\n pluralApiName: existingPluralApiName?.modelId\n }\n }\n ]\n };\n};\n\ninterface InputGroup extends Pick<CmsGroup, \"id\" | \"slug\"> {\n target: string;\n}\n\ninterface Params {\n groups: InputGroup[];\n models: CmsModel[];\n input: HeadlessCmsImportStructureParamsDataModel[];\n}\n\ninterface GetRelatedModelsParams {\n fields: CmsModelField[];\n models: CmsModel[];\n}\n\nconst getRelatedModels = (params: GetRelatedModelsParams): string[] => {\n const { fields, models } = params;\n\n const result: string[] = [];\n for (const field of fields) {\n if (field.type === \"ref\") {\n for (const model of field.settings?.models || []) {\n result.push(model.modelId);\n }\n } else if (field.type === \"object\") {\n result.push(...getRelatedModels({ fields: field.settings?.fields || [], models }));\n } else if (field.type === \"dynamicZone\") {\n const templates = (field.settings?.templates || []) as CmsDynamicZoneTemplate[];\n for (const tpl of templates) {\n result.push(\n ...getRelatedModels({\n fields: tpl.fields || [],\n models\n })\n );\n }\n }\n }\n\n return Array.from(new Set(result));\n};\n\nexport const validateModels = async (params: Params): Promise<ValidatedCmsModelResult[]> => {\n const { groups, models, input } = params;\n\n const validation = createModelImportValidation();\n\n return await Promise.all(\n input.map(async (model): Promise<ValidatedCmsModelResult> => {\n const result = await validation.safeParseAsync(model);\n if (!result.success) {\n const error = createZodError(result.error);\n return {\n model: model as ValidatedCmsModel,\n action: CmsImportAction.NONE,\n error: {\n message: error.message,\n code: error.code,\n data: error.data\n }\n };\n }\n const data = result.data as unknown as ValidatedCmsModel;\n const group = groups.find(g => g.id === data.group || g.target === data.group);\n if (!group) {\n return {\n model: data,\n action: CmsImportAction.NONE,\n error: {\n message: `The model group \"${data.group}\" does not exist.`,\n code: \"MODEL_GROUP_NOT_FOUND\"\n }\n };\n } else if (!model.fields?.length) {\n return {\n model: data,\n action: CmsImportAction.NONE,\n error: {\n message: `Model is missing fields.`,\n code: \"MODEL_FIELDS_MISSING\"\n }\n };\n }\n\n const targetModel: ValidatedCmsModel = {\n ...data,\n group: group.id\n };\n\n const modelValidationResult = validateModel({\n model: targetModel,\n models\n });\n\n if (!modelValidationResult.errors?.length) {\n return {\n model: targetModel,\n related: getRelatedModels({\n fields: targetModel.fields,\n models\n }),\n action: modelValidationResult.action\n };\n }\n return {\n model: targetModel,\n action: modelValidationResult.action,\n error: modelValidationResult.errors[0]\n };\n })\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsContext } from "../../types";
1
+ import type { CmsContext } from "../../types";
2
2
  export declare const createExportCrud: (context: CmsContext) => {
3
3
  structure: import("../types").HeadlessCmsExportStructure;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_exporting","require","createExportCrud","context","structure","createExportStructureContext","exports"],"sources":["index.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { createExportStructureContext } from \"./exporting\";\n\nexport const createExportCrud = (context: CmsContext) => {\n return {\n structure: createExportStructureContext(context)\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAIC,OAAmB,IAAK;EACrD,OAAO;IACHC,SAAS,EAAE,IAAAC,uCAA4B,EAACF,OAAO;EACnD,CAAC;AACL,CAAC;AAACG,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_exporting","require","createExportCrud","context","structure","createExportStructureContext","exports"],"sources":["index.ts"],"sourcesContent":["import type { CmsContext } from \"~/types\";\nimport { createExportStructureContext } from \"./exporting\";\n\nexport const createExportCrud = (context: CmsContext) => {\n return {\n structure: createExportStructureContext(context)\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAIC,OAAmB,IAAK;EACrD,OAAO;IACHC,SAAS,EAAE,IAAAC,uCAA4B,EAACF,OAAO;EACnD,CAAC;AACL,CAAC;AAACG,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsGroup, CmsModel } from "../../types";
2
- import { SanitizedCmsGroup, SanitizedCmsModel } from "../types";
1
+ import type { CmsGroup, CmsModel } from "../../types";
2
+ import type { SanitizedCmsGroup, SanitizedCmsModel } from "../types";
3
3
  export declare const sanitizeGroup: (group: CmsGroup) => SanitizedCmsGroup;
4
4
  export declare const sanitizeModel: (group: Pick<CmsGroup, "id">, model: CmsModel) => SanitizedCmsModel;
@@ -1 +1 @@
1
- {"version":3,"names":["sanitizeGroup","group","id","name","slug","description","icon","exports","sanitizeModel","model","modelId","singularApiName","pluralApiName","fields","layout","titleFieldId","descriptionFieldId","imageFieldId","tags"],"sources":["sanitize.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"~/types\";\nimport { SanitizedCmsGroup, SanitizedCmsModel } from \"~/export/types\";\n\nexport const sanitizeGroup = (group: CmsGroup): SanitizedCmsGroup => {\n return {\n id: group.id,\n name: group.name,\n slug: group.slug,\n description: group.description,\n icon: group.icon\n };\n};\n\nexport const sanitizeModel = (group: Pick<CmsGroup, \"id\">, model: CmsModel): SanitizedCmsModel => {\n return {\n modelId: model.modelId,\n name: model.name,\n group: group.id,\n icon: model.icon,\n description: model.description,\n singularApiName: model.singularApiName,\n pluralApiName: model.pluralApiName,\n fields: model.fields,\n layout: model.layout,\n titleFieldId: model.titleFieldId,\n descriptionFieldId: model.descriptionFieldId,\n imageFieldId: model.imageFieldId,\n tags: model.tags || []\n };\n};\n"],"mappings":";;;;;;AAGO,MAAMA,aAAa,GAAIC,KAAe,IAAwB;EACjE,OAAO;IACHC,EAAE,EAAED,KAAK,CAACC,EAAE;IACZC,IAAI,EAAEF,KAAK,CAACE,IAAI;IAChBC,IAAI,EAAEH,KAAK,CAACG,IAAI;IAChBC,WAAW,EAAEJ,KAAK,CAACI,WAAW;IAC9BC,IAAI,EAAEL,KAAK,CAACK;EAChB,CAAC;AACL,CAAC;AAACC,OAAA,CAAAP,aAAA,GAAAA,aAAA;AAEK,MAAMQ,aAAa,GAAGA,CAACP,KAA2B,EAAEQ,KAAe,KAAwB;EAC9F,OAAO;IACHC,OAAO,EAAED,KAAK,CAACC,OAAO;IACtBP,IAAI,EAAEM,KAAK,CAACN,IAAI;IAChBF,KAAK,EAAEA,KAAK,CAACC,EAAE;IACfI,IAAI,EAAEG,KAAK,CAACH,IAAI;IAChBD,WAAW,EAAEI,KAAK,CAACJ,WAAW;IAC9BM,eAAe,EAAEF,KAAK,CAACE,eAAe;IACtCC,aAAa,EAAEH,KAAK,CAACG,aAAa;IAClCC,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBC,MAAM,EAAEL,KAAK,CAACK,MAAM;IACpBC,YAAY,EAAEN,KAAK,CAACM,YAAY;IAChCC,kBAAkB,EAAEP,KAAK,CAACO,kBAAkB;IAC5CC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,IAAI,EAAET,KAAK,CAACS,IAAI,IAAI;EACxB,CAAC;AACL,CAAC;AAACX,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["sanitizeGroup","group","id","name","slug","description","icon","exports","sanitizeModel","model","modelId","singularApiName","pluralApiName","fields","layout","titleFieldId","descriptionFieldId","imageFieldId","tags"],"sources":["sanitize.ts"],"sourcesContent":["import type { CmsGroup, CmsModel } from \"~/types\";\nimport type { SanitizedCmsGroup, SanitizedCmsModel } from \"~/export/types\";\n\nexport const sanitizeGroup = (group: CmsGroup): SanitizedCmsGroup => {\n return {\n id: group.id,\n name: group.name,\n slug: group.slug,\n description: group.description,\n icon: group.icon\n };\n};\n\nexport const sanitizeModel = (group: Pick<CmsGroup, \"id\">, model: CmsModel): SanitizedCmsModel => {\n return {\n modelId: model.modelId,\n name: model.name,\n group: group.id,\n icon: model.icon,\n description: model.description,\n singularApiName: model.singularApiName,\n pluralApiName: model.pluralApiName,\n fields: model.fields,\n layout: model.layout,\n titleFieldId: model.titleFieldId,\n descriptionFieldId: model.descriptionFieldId,\n imageFieldId: model.imageFieldId,\n tags: model.tags || []\n };\n};\n"],"mappings":";;;;;;AAGO,MAAMA,aAAa,GAAIC,KAAe,IAAwB;EACjE,OAAO;IACHC,EAAE,EAAED,KAAK,CAACC,EAAE;IACZC,IAAI,EAAEF,KAAK,CAACE,IAAI;IAChBC,IAAI,EAAEH,KAAK,CAACG,IAAI;IAChBC,WAAW,EAAEJ,KAAK,CAACI,WAAW;IAC9BC,IAAI,EAAEL,KAAK,CAACK;EAChB,CAAC;AACL,CAAC;AAACC,OAAA,CAAAP,aAAA,GAAAA,aAAA;AAEK,MAAMQ,aAAa,GAAGA,CAACP,KAA2B,EAAEQ,KAAe,KAAwB;EAC9F,OAAO;IACHC,OAAO,EAAED,KAAK,CAACC,OAAO;IACtBP,IAAI,EAAEM,KAAK,CAACN,IAAI;IAChBF,KAAK,EAAEA,KAAK,CAACC,EAAE;IACfI,IAAI,EAAEG,KAAK,CAACH,IAAI;IAChBD,WAAW,EAAEI,KAAK,CAACJ,WAAW;IAC9BM,eAAe,EAAEF,KAAK,CAACE,eAAe;IACtCC,aAAa,EAAEH,KAAK,CAACG,aAAa;IAClCC,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBC,MAAM,EAAEL,KAAK,CAACK,MAAM;IACpBC,YAAY,EAAEN,KAAK,CAACM,YAAY;IAChCC,kBAAkB,EAAEP,KAAK,CAACO,kBAAkB;IAC5CC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,IAAI,EAAET,KAAK,CAACS,IAAI,IAAI;EACxB,CAAC;AACL,CAAC;AAACX,OAAA,CAAAC,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import { ContextPlugin } from "@webiny/handler";
2
- import { CmsContext } from "../../types";
2
+ import type { CmsContext } from "../../types";
3
3
  export declare const createExportGraphQL: () => ContextPlugin<CmsContext>;
@@ -1 +1 @@
1
- {"version":3,"names":["_plugins","require","_handlerGraphql","_handler","plugin","createCmsGraphQLSchemaPlugin","typeDefs","resolvers","Query","exportStructure","_","args","context","result","cms","export","structure","models","Response","JSON","stringify","ex","ErrorResponse","Mutation","validateImportStructure","importing","validate","data","importStructure","name","createExportGraphQL","ContextPlugin","MANAGE","plugins","register","exports"],"sources":["index.ts"],"sourcesContent":["import { createCmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport { CmsContext } from \"~/types\";\n\nconst plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsExportStructureResponse {\n data: String\n error: CmsError\n }\n\n input CmsImportStructureGroupInput {\n id: ID!\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n input CmsImportStructureModelInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n group: String!\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String!\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n enum CmsImportGroupStructureAction {\n create\n update\n code\n none\n }\n\n enum CmsImportModelStructureAction {\n create\n update\n code\n none\n }\n\n input CmsImportStructureInput {\n groups: [CmsImportStructureGroupInput!]!\n models: [CmsImportStructureModelInput!]!\n }\n\n type CmsImportValidateResponseDataGroupResultItem {\n id: String\n name: String\n }\n\n type CmsImportValidateResponseDataGroupResult {\n group: CmsImportValidateResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n }\n\n type CmsImportValidateResponseDataModelResultItem {\n modelId: String\n name: String\n group: String\n }\n\n type CmsImportValidateResponseDataModelResult {\n model: CmsImportValidateResponseDataModelResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n }\n\n type CmsImportValidateResponseData {\n groups: [CmsImportValidateResponseDataGroupResult!]!\n models: [CmsImportValidateResponseDataModelResult!]!\n message: String!\n }\n\n type CmsImportValidateResponse {\n data: CmsImportValidateResponseData\n error: CmsError\n }\n\n type CmsImportStructureResponseDataGroupResultItem {\n id: String!\n name: String!\n }\n type CmsImportStructureResponseDataGroupResult {\n group: CmsImportStructureResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseDataResultItem {\n modelId: String!\n name: String!\n group: String!\n }\n\n type CmsImportStructureResponseDataModelResult {\n model: CmsImportStructureResponseDataResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseData {\n groups: [CmsImportStructureResponseDataGroupResult!]!\n models: [CmsImportStructureResponseDataModelResult!]!\n message: String\n }\n\n type CmsImportStructureResponse {\n data: CmsImportStructureResponseData\n error: CmsError\n }\n\n extend type Query {\n exportStructure(models: [String!]): CmsExportStructureResponse!\n }\n\n extend type Mutation {\n validateImportStructure(data: CmsImportStructureInput!): CmsImportValidateResponse!\n importStructure(data: CmsImportStructureInput!): CmsImportStructureResponse!\n }\n `,\n resolvers: {\n Query: {\n exportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.export.structure({\n models: args.models\n });\n return new Response(JSON.stringify(result));\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n },\n Mutation: {\n validateImportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.validate({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n importStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.structure({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n }\n }\n});\nplugin.name = \"headless-cms.graphql.export\";\n\nexport const createExportGraphQL = () => {\n return new ContextPlugin<CmsContext>(async context => {\n if (!context.cms.MANAGE) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAGA,MAAMG,MAAM,GAAG,IAAAC,qCAA4B,EAAC;EACxCC,QAAQ,EAAE,aAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,eAAe,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACzC,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACC,SAAS,CAAC;YAC9CC,MAAM,EAAEN,IAAI,CAACM;UACjB,CAAC,CAAC;UACF,OAAO,IAAIC,wBAAQ,CAACC,IAAI,CAACC,SAAS,CAACP,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ;IACJ,CAAC;IACDE,QAAQ,EAAE;MACNC,uBAAuB,EAAE,MAAAA,CAAOd,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACjD,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACW,SAAS,CAACC,QAAQ,CAAC;YAChDC,IAAI,EAAEhB,IAAI,CAACgB;UACf,CAAC,CAAC;UACF,OAAO,IAAIT,wBAAQ,CAACL,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ,CAAC;MACDO,eAAe,EAAE,MAAAA,CAAOlB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACzC,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACW,SAAS,CAACT,SAAS,CAAC;YACjDW,IAAI,EAAEhB,IAAI,CAACgB;UACf,CAAC,CAAC;UACF,OAAO,IAAIT,wBAAQ,CAACL,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ;IACJ;EACJ;AACJ,CAAC,CAAC;AACFjB,MAAM,CAACyB,IAAI,GAAG,6BAA6B;AAEpC,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACrC,OAAO,IAAIC,sBAAa,CAAa,MAAMnB,OAAO,IAAI;IAClD,IAAI,CAACA,OAAO,CAACE,GAAG,CAACkB,MAAM,EAAE;MACrB;IACJ;IACApB,OAAO,CAACqB,OAAO,CAACC,QAAQ,CAAC9B,MAAM,CAAC;EACpC,CAAC,CAAC;AACN,CAAC;AAAC+B,OAAA,CAAAL,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_plugins","require","_handlerGraphql","_handler","plugin","createCmsGraphQLSchemaPlugin","typeDefs","resolvers","Query","exportStructure","_","args","context","result","cms","export","structure","models","Response","JSON","stringify","ex","ErrorResponse","Mutation","validateImportStructure","importing","validate","data","importStructure","name","createExportGraphQL","ContextPlugin","MANAGE","plugins","register","exports"],"sources":["index.ts"],"sourcesContent":["import { createCmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport type { CmsContext } from \"~/types\";\n\nconst plugin = createCmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsExportStructureResponse {\n data: String\n error: CmsError\n }\n\n input CmsImportStructureGroupInput {\n id: ID!\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n input CmsImportStructureModelInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n group: String!\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String!\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n enum CmsImportGroupStructureAction {\n create\n update\n code\n none\n }\n\n enum CmsImportModelStructureAction {\n create\n update\n code\n none\n }\n\n input CmsImportStructureInput {\n groups: [CmsImportStructureGroupInput!]!\n models: [CmsImportStructureModelInput!]!\n }\n\n type CmsImportValidateResponseDataGroupResultItem {\n id: String\n name: String\n }\n\n type CmsImportValidateResponseDataGroupResult {\n group: CmsImportValidateResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n }\n\n type CmsImportValidateResponseDataModelResultItem {\n modelId: String\n name: String\n group: String\n }\n\n type CmsImportValidateResponseDataModelResult {\n model: CmsImportValidateResponseDataModelResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n }\n\n type CmsImportValidateResponseData {\n groups: [CmsImportValidateResponseDataGroupResult!]!\n models: [CmsImportValidateResponseDataModelResult!]!\n message: String!\n }\n\n type CmsImportValidateResponse {\n data: CmsImportValidateResponseData\n error: CmsError\n }\n\n type CmsImportStructureResponseDataGroupResultItem {\n id: String!\n name: String!\n }\n type CmsImportStructureResponseDataGroupResult {\n group: CmsImportStructureResponseDataGroupResultItem!\n error: CmsError\n action: CmsImportGroupStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseDataResultItem {\n modelId: String!\n name: String!\n group: String!\n }\n\n type CmsImportStructureResponseDataModelResult {\n model: CmsImportStructureResponseDataResultItem!\n related: [String!]\n error: CmsError\n action: CmsImportModelStructureAction\n imported: Boolean\n }\n\n type CmsImportStructureResponseData {\n groups: [CmsImportStructureResponseDataGroupResult!]!\n models: [CmsImportStructureResponseDataModelResult!]!\n message: String\n }\n\n type CmsImportStructureResponse {\n data: CmsImportStructureResponseData\n error: CmsError\n }\n\n extend type Query {\n exportStructure(models: [String!]): CmsExportStructureResponse!\n }\n\n extend type Mutation {\n validateImportStructure(data: CmsImportStructureInput!): CmsImportValidateResponse!\n importStructure(data: CmsImportStructureInput!): CmsImportStructureResponse!\n }\n `,\n resolvers: {\n Query: {\n exportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.export.structure({\n models: args.models\n });\n return new Response(JSON.stringify(result));\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n },\n Mutation: {\n validateImportStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.validate({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n importStructure: async (_, args, context) => {\n try {\n const result = await context.cms.importing.structure({\n data: args.data\n });\n return new Response(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n }\n }\n }\n});\nplugin.name = \"headless-cms.graphql.export\";\n\nexport const createExportGraphQL = () => {\n return new ContextPlugin<CmsContext>(async context => {\n if (!context.cms.MANAGE) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAGA,MAAMG,MAAM,GAAG,IAAAC,qCAA4B,EAAC;EACxCC,QAAQ,EAAE,aAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,eAAe,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACzC,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,MAAM,CAACC,SAAS,CAAC;YAC9CC,MAAM,EAAEN,IAAI,CAACM;UACjB,CAAC,CAAC;UACF,OAAO,IAAIC,wBAAQ,CAACC,IAAI,CAACC,SAAS,CAACP,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ;IACJ,CAAC;IACDE,QAAQ,EAAE;MACNC,uBAAuB,EAAE,MAAAA,CAAOd,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACjD,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACW,SAAS,CAACC,QAAQ,CAAC;YAChDC,IAAI,EAAEhB,IAAI,CAACgB;UACf,CAAC,CAAC;UACF,OAAO,IAAIT,wBAAQ,CAACL,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ,CAAC;MACDO,eAAe,EAAE,MAAAA,CAAOlB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACzC,IAAI;UACA,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACW,SAAS,CAACT,SAAS,CAAC;YACjDW,IAAI,EAAEhB,IAAI,CAACgB;UACf,CAAC,CAAC;UACF,OAAO,IAAIT,wBAAQ,CAACL,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAOQ,EAAE,EAAE;UACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;QAChC;MACJ;IACJ;EACJ;AACJ,CAAC,CAAC;AACFjB,MAAM,CAACyB,IAAI,GAAG,6BAA6B;AAEpC,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACrC,OAAO,IAAIC,sBAAa,CAAa,MAAMnB,OAAO,IAAI;IAClD,IAAI,CAACA,OAAO,CAACE,GAAG,CAACkB,MAAM,EAAE;MACrB;IACJ;IACApB,OAAO,CAACqB,OAAO,CAACC,QAAQ,CAAC9B,MAAM,CAAC;EACpC,CAAC,CAAC;AACN,CAAC;AAAC+B,OAAA,CAAAL,mBAAA,GAAAA,mBAAA","ignoreList":[]}
package/export/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CmsGroup, CmsModel } from "../types";
1
+ import type { CmsGroup, CmsModel } from "../types";
2
2
  export interface CmsImportError {
3
3
  message: string;
4
4
  code: string | null;
@@ -1 +1 @@
1
- {"version":3,"names":["CmsImportAction","exports"],"sources":["types.ts"],"sourcesContent":["import { CmsGroup, CmsModel } from \"~/types\";\n\nexport interface CmsImportError {\n message: string;\n code: string | null;\n data?: Record<string, any> | null;\n stack?: any;\n}\n\nexport enum CmsImportAction {\n CREATE = \"create\",\n UPDATE = \"update\",\n CODE = \"code\",\n NONE = \"none\"\n}\n/**\n * Structure export - groups and models.\n */\n\nexport interface HeadlessCmsExportStructureParams {\n models?: string[];\n}\n\nexport type SanitizedCmsGroup = Pick<CmsGroup, \"id\" | \"name\" | \"slug\" | \"description\" | \"icon\">;\n\nexport interface SanitizedCmsModel\n extends Pick<\n CmsModel,\n | \"modelId\"\n | \"fields\"\n | \"titleFieldId\"\n | \"descriptionFieldId\"\n | \"imageFieldId\"\n | \"layout\"\n | \"icon\"\n | \"singularApiName\"\n | \"pluralApiName\"\n | \"name\"\n | \"description\"\n | \"tags\"\n > {\n group: string;\n}\n\nexport interface HeadlessCmsExportStructureResponse {\n groups: SanitizedCmsGroup[];\n models: SanitizedCmsModel[];\n}\n\nexport interface HeadlessCmsExportStructure {\n (params: HeadlessCmsExportStructureParams): Promise<HeadlessCmsExportStructureResponse>;\n}\n\nexport interface HeadlessCmsImportStructureParamsDataModel\n extends Omit<Partial<CmsModel>, \"group\"> {\n group?: string;\n}\n\nexport interface CmsImportStructureParamsData {\n groups: Partial<CmsGroup>[];\n models: HeadlessCmsImportStructureParamsDataModel[];\n}\n\nexport interface HeadlessCmsImportStructureParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface HeadlessCmsImportValidateParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface CmsGroupImportResult {\n action: CmsImportAction;\n group: Partial<Pick<CmsGroup, \"id\" | \"name\">>;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface CmsModelImportResult {\n action: CmsImportAction;\n model: Partial<Pick<CmsModel, \"modelId\" | \"name\">> & {\n group: string;\n };\n related?: string[] | null;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface HeadlessCmsImportStructureResponse {\n groups: CmsGroupImportResult[];\n models: CmsModelImportResult[];\n message?: string | null;\n error?: string;\n}\n\nexport interface HeadlessCmsImportStructure {\n (params: HeadlessCmsImportStructureParams): Promise<HeadlessCmsImportStructureResponse>;\n}\n\nexport interface ValidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n target?: string;\n error?: never;\n}\n\nexport interface InvalidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n target?: never;\n error: CmsImportError;\n}\n\nexport interface ValidatedCmsModel extends Omit<CmsModel, \"group\"> {\n group: string;\n}\nexport interface ValidCmsModelResult {\n model: ValidatedCmsModel;\n related: string[];\n action: CmsImportAction;\n error?: never;\n}\n\nexport interface InvalidCmsModelResult {\n model: ValidatedCmsModel;\n action: CmsImportAction;\n error: CmsImportError;\n}\n\nexport type ValidatedCmsGroupResult = ValidCmsGroupResult | InvalidCmsGroupResult;\nexport type ValidatedCmsModelResult = ValidCmsModelResult | InvalidCmsModelResult;\n\nexport interface HeadlessCmsImportValidateResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n message: string;\n}\n\nexport interface HeadlessCmsImportValidate {\n (params: HeadlessCmsImportValidateParams): Promise<HeadlessCmsImportValidateResponse>;\n}\n\n/**\n * Interface for the main context interface.\n */\nexport interface HeadlessCmsExport {\n structure: HeadlessCmsExportStructure;\n}\n\nexport interface HeadlessCmsImport {\n validate: HeadlessCmsImportValidate;\n structure: HeadlessCmsImportStructure;\n}\n"],"mappings":";;;;;;IASYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AA6HA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["CmsImportAction","exports"],"sources":["types.ts"],"sourcesContent":["import type { CmsGroup, CmsModel } from \"~/types\";\n\nexport interface CmsImportError {\n message: string;\n code: string | null;\n data?: Record<string, any> | null;\n stack?: any;\n}\n\nexport enum CmsImportAction {\n CREATE = \"create\",\n UPDATE = \"update\",\n CODE = \"code\",\n NONE = \"none\"\n}\n/**\n * Structure export - groups and models.\n */\n\nexport interface HeadlessCmsExportStructureParams {\n models?: string[];\n}\n\nexport type SanitizedCmsGroup = Pick<CmsGroup, \"id\" | \"name\" | \"slug\" | \"description\" | \"icon\">;\n\nexport interface SanitizedCmsModel\n extends Pick<\n CmsModel,\n | \"modelId\"\n | \"fields\"\n | \"titleFieldId\"\n | \"descriptionFieldId\"\n | \"imageFieldId\"\n | \"layout\"\n | \"icon\"\n | \"singularApiName\"\n | \"pluralApiName\"\n | \"name\"\n | \"description\"\n | \"tags\"\n > {\n group: string;\n}\n\nexport interface HeadlessCmsExportStructureResponse {\n groups: SanitizedCmsGroup[];\n models: SanitizedCmsModel[];\n}\n\nexport interface HeadlessCmsExportStructure {\n (params: HeadlessCmsExportStructureParams): Promise<HeadlessCmsExportStructureResponse>;\n}\n\nexport interface HeadlessCmsImportStructureParamsDataModel\n extends Omit<Partial<CmsModel>, \"group\"> {\n group?: string;\n}\n\nexport interface CmsImportStructureParamsData {\n groups: Partial<CmsGroup>[];\n models: HeadlessCmsImportStructureParamsDataModel[];\n}\n\nexport interface HeadlessCmsImportStructureParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface HeadlessCmsImportValidateParams {\n data: CmsImportStructureParamsData;\n}\n\nexport interface CmsGroupImportResult {\n action: CmsImportAction;\n group: Partial<Pick<CmsGroup, \"id\" | \"name\">>;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface CmsModelImportResult {\n action: CmsImportAction;\n model: Partial<Pick<CmsModel, \"modelId\" | \"name\">> & {\n group: string;\n };\n related?: string[] | null;\n error?: CmsImportError;\n imported: boolean;\n}\n\nexport interface HeadlessCmsImportStructureResponse {\n groups: CmsGroupImportResult[];\n models: CmsModelImportResult[];\n message?: string | null;\n error?: string;\n}\n\nexport interface HeadlessCmsImportStructure {\n (params: HeadlessCmsImportStructureParams): Promise<HeadlessCmsImportStructureResponse>;\n}\n\nexport interface ValidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n target?: string;\n error?: never;\n}\n\nexport interface InvalidCmsGroupResult {\n group: CmsGroup;\n action: CmsImportAction;\n target?: never;\n error: CmsImportError;\n}\n\nexport interface ValidatedCmsModel extends Omit<CmsModel, \"group\"> {\n group: string;\n}\nexport interface ValidCmsModelResult {\n model: ValidatedCmsModel;\n related: string[];\n action: CmsImportAction;\n error?: never;\n}\n\nexport interface InvalidCmsModelResult {\n model: ValidatedCmsModel;\n action: CmsImportAction;\n error: CmsImportError;\n}\n\nexport type ValidatedCmsGroupResult = ValidCmsGroupResult | InvalidCmsGroupResult;\nexport type ValidatedCmsModelResult = ValidCmsModelResult | InvalidCmsModelResult;\n\nexport interface HeadlessCmsImportValidateResponse {\n groups: ValidatedCmsGroupResult[];\n models: ValidatedCmsModelResult[];\n message: string;\n}\n\nexport interface HeadlessCmsImportValidate {\n (params: HeadlessCmsImportValidateParams): Promise<HeadlessCmsImportValidateResponse>;\n}\n\n/**\n * Interface for the main context interface.\n */\nexport interface HeadlessCmsExport {\n structure: HeadlessCmsExportStructure;\n}\n\nexport interface HeadlessCmsImport {\n validate: HeadlessCmsImportValidate;\n structure: HeadlessCmsImportStructure;\n}\n"],"mappings":";;;;;;IASYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AA6HA;AACA;AACA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import { CmsModelFieldConverterPlugin, ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
- import { GenericRecord } from "@webiny/api/types";
1
+ import type { ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
+ import { CmsModelFieldConverterPlugin } from "../plugins/CmsModelFieldConverterPlugin";
3
+ import type { GenericRecord } from "@webiny/api/types";
3
4
  export declare class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {
4
5
  name: string;
5
6
  getFieldType(): string;
@@ -1 +1 @@
1
- {"version":3,"names":["_CmsModelFieldConverterPlugin","require","CmsModelDefaultFieldConverterPlugin","CmsModelFieldConverterPlugin","name","getFieldType","convertToStorage","field","value","undefined","storageId","convertFromStorage","fieldId","exports"],"sources":["CmsModelDefaultFieldConverterPlugin.ts"],"sourcesContent":["import {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { GenericRecord } from \"@webiny/api/types\";\n\nexport class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.default\";\n\n public override getFieldType(): string {\n return \"*\";\n }\n\n public override convertToStorage({ field, value }: ConvertParams): GenericRecord {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.storageId]: value\n };\n }\n\n public override convertFromStorage({ field, value }: ConvertParams): GenericRecord {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.fieldId]: value\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA;AAMO,MAAMC,mCAAmC,SAASC,0DAA4B,CAAC;EAClEC,IAAI,GAAG,6BAA6B;EAEpCC,YAAYA,CAAA,EAAW;IACnC,OAAO,GAAG;EACd;EAEgBC,gBAAgBA,CAAC;IAAEC,KAAK;IAAEC;EAAqB,CAAC,EAAiB;IAC7E;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACG,SAAS,GAAGF;IACvB,CAAC;EACL;EAEgBG,kBAAkBA,CAAC;IAAEJ,KAAK;IAAEC;EAAqB,CAAC,EAAiB;IAC/E;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACK,OAAO,GAAGJ;IACrB,CAAC;EACL;AACJ;AAACK,OAAA,CAAAX,mCAAA,GAAAA,mCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_CmsModelFieldConverterPlugin","require","CmsModelDefaultFieldConverterPlugin","CmsModelFieldConverterPlugin","name","getFieldType","convertToStorage","field","value","undefined","storageId","convertFromStorage","fieldId","exports"],"sources":["CmsModelDefaultFieldConverterPlugin.ts"],"sourcesContent":["import type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\nexport class CmsModelDefaultFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.default\";\n\n public override getFieldType(): string {\n return \"*\";\n }\n\n public override convertToStorage({ field, value }: ConvertParams): GenericRecord {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.storageId]: value\n };\n }\n\n public override convertFromStorage({ field, value }: ConvertParams): GenericRecord {\n /**\n * Do not convert if no value was passed.\n */\n if (value === undefined) {\n return {};\n }\n /**\n * A single and multiple values field conversion;\n */\n return {\n [field.fieldId]: value\n };\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,6BAAA,GAAAC,OAAA;AAGO,MAAMC,mCAAmC,SAASC,0DAA4B,CAAC;EAClEC,IAAI,GAAG,6BAA6B;EAEpCC,YAAYA,CAAA,EAAW;IACnC,OAAO,GAAG;EACd;EAEgBC,gBAAgBA,CAAC;IAAEC,KAAK;IAAEC;EAAqB,CAAC,EAAiB;IAC7E;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACG,SAAS,GAAGF;IACvB,CAAC;EACL;EAEgBG,kBAAkBA,CAAC;IAAEJ,KAAK;IAAEC;EAAqB,CAAC,EAAiB;IAC/E;AACR;AACA;IACQ,IAAIA,KAAK,KAAKC,SAAS,EAAE;MACrB,OAAO,CAAC,CAAC;IACb;IACA;AACR;AACA;IACQ,OAAO;MACH,CAACF,KAAK,CAACK,OAAO,GAAGJ;IACrB,CAAC;EACL;AACJ;AAACK,OAAA,CAAAX,mCAAA,GAAAA,mCAAA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import { CmsModelFieldConverterPlugin, ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
- import { CmsEntryValues, CmsModelDynamicZoneField } from "../types";
1
+ import type { ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
+ import { CmsModelFieldConverterPlugin } from "../plugins/CmsModelFieldConverterPlugin";
3
+ import type { CmsEntryValues, CmsModelDynamicZoneField } from "../types";
3
4
  export declare class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {
4
5
  name: string;
5
6
  getFieldType(): string;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_CmsModelFieldConverterPlugin","CmsModelDynamicZoneFieldConverterPlugin","CmsModelFieldConverterPlugin","name","getFieldType","getTemplates","field","settings","templates","convertToStorage","params","value","converterCollection","length","multipleValues","Array","isArray","storageId","map","item","processToStorage","processedValue","undefined","templateId","_templateId","template","find","t","id","fields","reduce","values","converter","getConverter","type","converted","fieldId","Object","assign","convertFromStorage","arrayValue","processFromStorage","WebinyError","exports"],"sources":["CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { CmsDynamicZoneTemplate, CmsEntryValues, CmsModelDynamicZoneField } from \"~/types\";\nimport { ConverterCollection } from \"~/utils/converters/ConverterCollection\";\nimport { GenericRecord } from \"@webiny/api/types\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue.map(item => {\n return this.processFromStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n if (Array.isArray(value)) {\n throw new WebinyError(\n `Dynamic zone field \"${field.fieldId}\" is expecting a non-array value.`,\n \"DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE\",\n {\n field,\n value\n }\n );\n }\n\n const processedValue = this.processFromStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.fieldId]: processedValue\n };\n }\n\n private processFromStorage(params: ProcessValue) {\n const { templates, value, converterCollection } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const { _templateId } = value;\n\n const template = templates.find(t => t.id === _templateId);\n if (!template) {\n throw new WebinyError(\n \"Unknown template - converting from storage.\",\n \"UNKNOWN_TEMPLATE\",\n {\n templateId: _templateId\n }\n );\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertFromStorage({\n field,\n value: value[field.storageId]\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_CmsModelFieldConverterPlugin","CmsModelDynamicZoneFieldConverterPlugin","CmsModelFieldConverterPlugin","name","getFieldType","getTemplates","field","settings","templates","convertToStorage","params","value","converterCollection","length","multipleValues","Array","isArray","storageId","map","item","processToStorage","processedValue","undefined","templateId","_templateId","template","find","t","id","fields","reduce","values","converter","getConverter","type","converted","fieldId","Object","assign","convertFromStorage","arrayValue","processFromStorage","WebinyError","exports"],"sources":["CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport type { CmsDynamicZoneTemplate, CmsEntryValues, CmsModelDynamicZoneField } from \"~/types\";\nimport type { ConverterCollection } from \"~/utils/converters/ConverterCollection\";\nimport type { GenericRecord } from \"@webiny/api/types\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue.map(item => {\n return this.processFromStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n if (Array.isArray(value)) {\n throw new WebinyError(\n `Dynamic zone field \"${field.fieldId}\" is expecting a non-array value.`,\n \"DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE\",\n {\n field,\n value\n }\n );\n }\n\n const processedValue = this.processFromStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.fieldId]: processedValue\n };\n }\n\n private processFromStorage(params: ProcessValue) {\n const { templates, value, converterCollection } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const { _templateId } = value;\n\n const template = templates.find(t => t.id === _templateId);\n if (!template) {\n throw new WebinyError(\n \"Unknown template - converting from storage.\",\n \"UNKNOWN_TEMPLATE\",\n {\n templateId: _templateId\n }\n );\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertFromStorage({\n field,\n value: value[field.storageId]\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import { CmsModelFieldConverterPlugin, ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
- import { CmsEntryValues } from "../types";
1
+ import type { ConvertParams } from "../plugins/CmsModelFieldConverterPlugin";
2
+ import { CmsModelFieldConverterPlugin } from "../plugins/CmsModelFieldConverterPlugin";
3
+ import type { CmsEntryValues } from "../types";
3
4
  export declare class CmsModelObjectFieldConverterPlugin extends CmsModelFieldConverterPlugin {
4
5
  name: string;
5
6
  getFieldType(): string;