@webiny/api-headless-cms 5.43.3 → 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 (582) 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 +2 -2
  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 +1 -1
  47. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  48. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +5 -5
  49. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  50. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +4 -4
  51. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -1
  52. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +2 -2
  53. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -1
  54. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +4 -4
  55. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -1
  56. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +4 -4
  57. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -1
  58. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +1 -1
  59. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -1
  60. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  61. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  62. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  63. package/crud/contentEntry/markLockedFields.js.map +1 -1
  64. package/crud/contentEntry/referenceFieldsMapping.d.ts +1 -1
  65. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  66. package/crud/contentEntry/searchableFields.d.ts +3 -3
  67. package/crud/contentEntry/searchableFields.js +51 -4
  68. package/crud/contentEntry/searchableFields.js.map +1 -1
  69. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.d.ts +3 -3
  70. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntry.js.map +1 -1
  71. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.d.ts +2 -2
  72. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperation.js.map +1 -1
  73. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.d.ts +3 -3
  74. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntryOperationWithEvents.js.map +1 -1
  75. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.d.ts +3 -3
  76. package/crud/contentEntry/useCases/DeleteEntry/DeleteEntrySecure.js.map +1 -1
  77. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.d.ts +3 -3
  78. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBin.js.map +1 -1
  79. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.d.ts +2 -2
  80. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperation.js.map +1 -1
  81. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.d.ts +3 -3
  82. package/crud/contentEntry/useCases/DeleteEntry/MoveEntryToBinOperationWithEvents.js.map +1 -1
  83. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.d.ts +1 -1
  84. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryDelete.js.map +1 -1
  85. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.d.ts +2 -2
  86. package/crud/contentEntry/useCases/DeleteEntry/TransformEntryMoveToBin.js.map +1 -1
  87. package/crud/contentEntry/useCases/DeleteEntry/index.d.ts +5 -5
  88. package/crud/contentEntry/useCases/DeleteEntry/index.js.map +1 -1
  89. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.d.ts +7 -5
  90. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js +6 -2
  91. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIds.js.map +1 -1
  92. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.d.ts +2 -2
  93. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsNotDeleted.js.map +1 -1
  94. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.d.ts +3 -3
  95. package/crud/contentEntry/useCases/GetEntriesByIds/GetEntriesByIdsSecure.js.map +1 -1
  96. package/crud/contentEntry/useCases/GetEntriesByIds/index.d.ts +4 -2
  97. package/crud/contentEntry/useCases/GetEntriesByIds/index.js +1 -1
  98. package/crud/contentEntry/useCases/GetEntriesByIds/index.js.map +1 -1
  99. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.d.ts +7 -5
  100. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js +6 -2
  101. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIds.js.map +1 -1
  102. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.d.ts +2 -2
  103. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsNotDeleted.js.map +1 -1
  104. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.d.ts +3 -3
  105. package/crud/contentEntry/useCases/GetLatestEntriesByIds/GetLatestEntriesByIdsSecure.js.map +1 -1
  106. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.d.ts +4 -2
  107. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js +1 -1
  108. package/crud/contentEntry/useCases/GetLatestEntriesByIds/index.js.map +1 -1
  109. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.d.ts +7 -5
  110. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js +7 -2
  111. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryId.js.map +1 -1
  112. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.d.ts +2 -2
  113. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdDeleted.js.map +1 -1
  114. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.d.ts +2 -2
  115. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/GetLatestRevisionByEntryIdNotDeleted.js.map +1 -1
  116. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.d.ts +3 -1
  117. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js +1 -1
  118. package/crud/contentEntry/useCases/GetLatestRevisionByEntryId/index.js.map +1 -1
  119. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.d.ts +7 -5
  120. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js +7 -2
  121. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryId.js.map +1 -1
  122. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.d.ts +2 -2
  123. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/GetPreviousRevisionByEntryIdNotDeleted.js.map +1 -1
  124. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.d.ts +3 -1
  125. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js +1 -1
  126. package/crud/contentEntry/useCases/GetPreviousRevisionByEntryId/index.js.map +1 -1
  127. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.d.ts +7 -5
  128. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js +6 -2
  129. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIds.js.map +1 -1
  130. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.d.ts +2 -2
  131. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsNotDeleted.js.map +1 -1
  132. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.d.ts +3 -3
  133. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/GetPublishedEntriesByIdsSecure.js.map +1 -1
  134. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.d.ts +4 -2
  135. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js +1 -1
  136. package/crud/contentEntry/useCases/GetPublishedEntriesByIds/index.js.map +1 -1
  137. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.d.ts +7 -5
  138. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js +7 -2
  139. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryId.js.map +1 -1
  140. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.d.ts +2 -2
  141. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/GetPublishedRevisionByEntryIdNotDeleted.js.map +1 -1
  142. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.d.ts +3 -1
  143. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js +1 -1
  144. package/crud/contentEntry/useCases/GetPublishedRevisionByEntryId/index.js.map +1 -1
  145. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.d.ts +7 -5
  146. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js +7 -2
  147. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionById.js.map +1 -1
  148. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.d.ts +2 -2
  149. package/crud/contentEntry/useCases/GetRevisionById/GetRevisionByIdNotDeleted.js.map +1 -1
  150. package/crud/contentEntry/useCases/GetRevisionById/index.d.ts +3 -1
  151. package/crud/contentEntry/useCases/GetRevisionById/index.js +1 -1
  152. package/crud/contentEntry/useCases/GetRevisionById/index.js.map +1 -1
  153. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.d.ts +7 -5
  154. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js +6 -2
  155. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryId.js.map +1 -1
  156. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.d.ts +2 -2
  157. package/crud/contentEntry/useCases/GetRevisionsByEntryId/GetRevisionsByEntryIdNotDeleted.js.map +1 -1
  158. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.d.ts +4 -2
  159. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js +1 -1
  160. package/crud/contentEntry/useCases/GetRevisionsByEntryId/index.js.map +1 -1
  161. package/crud/contentEntry/useCases/ListEntries/GetEntry.d.ts +2 -2
  162. package/crud/contentEntry/useCases/ListEntries/GetEntry.js.map +1 -1
  163. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.d.ts +4 -4
  164. package/crud/contentEntry/useCases/ListEntries/GetEntrySecure.js.map +1 -1
  165. package/crud/contentEntry/useCases/ListEntries/ListEntries.d.ts +3 -3
  166. package/crud/contentEntry/useCases/ListEntries/ListEntries.js.map +1 -1
  167. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.d.ts +12 -5
  168. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js +9 -2
  169. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperation.js.map +1 -1
  170. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.d.ts +2 -2
  171. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationDeleted.js.map +1 -1
  172. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.d.ts +2 -2
  173. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationLatest.js.map +1 -1
  174. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.d.ts +2 -2
  175. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationNotDeleted.js.map +1 -1
  176. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.d.ts +2 -2
  177. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationPublished.js.map +1 -1
  178. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.d.ts +3 -3
  179. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithEvents.js.map +1 -1
  180. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.d.ts +5 -4
  181. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js +10 -2
  182. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSearchableFields.js.map +1 -1
  183. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.d.ts +2 -2
  184. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithSort.js.map +1 -1
  185. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.d.ts +2 -2
  186. package/crud/contentEntry/useCases/ListEntries/ListEntriesOperationWithStatusCheck.js.map +1 -1
  187. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.d.ts +5 -5
  188. package/crud/contentEntry/useCases/ListEntries/ListEntriesSecure.js.map +1 -1
  189. package/crud/contentEntry/useCases/ListEntries/index.d.ts +6 -4
  190. package/crud/contentEntry/useCases/ListEntries/index.js +2 -2
  191. package/crud/contentEntry/useCases/ListEntries/index.js.map +1 -1
  192. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.d.ts +3 -3
  193. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBin.js.map +1 -1
  194. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.d.ts +7 -5
  195. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js +4 -2
  196. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperation.js.map +1 -1
  197. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.d.ts +3 -3
  198. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinOperationWithEvents.js.map +1 -1
  199. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.d.ts +3 -3
  200. package/crud/contentEntry/useCases/RestoreEntryFromBin/RestoreEntryFromBinSecure.js.map +1 -1
  201. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.d.ts +2 -2
  202. package/crud/contentEntry/useCases/RestoreEntryFromBin/TransformEntryRestoreFromBin.js.map +1 -1
  203. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.d.ts +7 -5
  204. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js +1 -1
  205. package/crud/contentEntry/useCases/RestoreEntryFromBin/index.js.map +1 -1
  206. package/crud/contentEntry.crud.d.ts +5 -5
  207. package/crud/contentEntry.crud.js +21 -44
  208. package/crud/contentEntry.crud.js.map +1 -1
  209. package/crud/contentModel/beforeCreate.d.ts +2 -2
  210. package/crud/contentModel/beforeCreate.js.map +1 -1
  211. package/crud/contentModel/beforeDelete.d.ts +2 -2
  212. package/crud/contentModel/beforeDelete.js.map +1 -1
  213. package/crud/contentModel/beforeUpdate.d.ts +2 -2
  214. package/crud/contentModel/beforeUpdate.js.map +1 -1
  215. package/crud/contentModel/compatibility/modelApiName.d.ts +1 -1
  216. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  217. package/crud/contentModel/contentModelManagerFactory.d.ts +1 -1
  218. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  219. package/crud/contentModel/createFieldStorageId.d.ts +1 -1
  220. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  221. package/crud/contentModel/defaultFields.d.ts +1 -1
  222. package/crud/contentModel/defaultFields.js.map +1 -1
  223. package/crud/contentModel/ensureTypeTag.d.ts +1 -1
  224. package/crud/contentModel/ensureTypeTag.js.map +1 -1
  225. package/crud/contentModel/fields/descriptionField.d.ts +1 -1
  226. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  227. package/crud/contentModel/fields/getApplicableFieldById.d.ts +1 -1
  228. package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -1
  229. package/crud/contentModel/fields/imageField.d.ts +1 -1
  230. package/crud/contentModel/fields/imageField.js.map +1 -1
  231. package/crud/contentModel/fields/titleField.d.ts +1 -1
  232. package/crud/contentModel/fields/titleField.js.map +1 -1
  233. package/crud/contentModel/listModelsFromDatabase.d.ts +3 -3
  234. package/crud/contentModel/listModelsFromDatabase.js.map +1 -1
  235. package/crud/contentModel/validate/endingAllowed.d.ts +1 -1
  236. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  237. package/crud/contentModel/validate/modelId.d.ts +1 -1
  238. package/crud/contentModel/validate/modelId.js.map +1 -1
  239. package/crud/contentModel/validate/pluralApiName.d.ts +1 -1
  240. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  241. package/crud/contentModel/validate/singularApiName.d.ts +1 -1
  242. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  243. package/crud/contentModel/validateModel.d.ts +1 -1
  244. package/crud/contentModel/validateModel.js.map +1 -1
  245. package/crud/contentModel/validateModelFields.d.ts +1 -1
  246. package/crud/contentModel/validateModelFields.js.map +1 -1
  247. package/crud/contentModel/validation.d.ts +132 -132
  248. package/crud/contentModel.crud.d.ts +5 -5
  249. package/crud/contentModel.crud.js.map +1 -1
  250. package/crud/contentModelGroup/beforeCreate.d.ts +3 -3
  251. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  252. package/crud/contentModelGroup/beforeDelete.d.ts +3 -3
  253. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  254. package/crud/contentModelGroup/beforeUpdate.d.ts +3 -3
  255. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  256. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +1 -1
  257. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -1
  258. package/crud/contentModelGroup/validation.d.ts +2 -2
  259. package/crud/contentModelGroup.crud.d.ts +5 -5
  260. package/crud/contentModelGroup.crud.js.map +1 -1
  261. package/crud/system.crud.d.ts +4 -4
  262. package/crud/system.crud.js +10 -0
  263. package/crud/system.crud.js.map +1 -1
  264. package/export/crud/exporting.d.ts +2 -2
  265. package/export/crud/exporting.js.map +1 -1
  266. package/export/crud/importing.d.ts +2 -2
  267. package/export/crud/importing.js.map +1 -1
  268. package/export/crud/imports/importData.d.ts +2 -2
  269. package/export/crud/imports/importData.js.map +1 -1
  270. package/export/crud/imports/importGroups.d.ts +2 -2
  271. package/export/crud/imports/importGroups.js.map +1 -1
  272. package/export/crud/imports/importModels.d.ts +2 -2
  273. package/export/crud/imports/importModels.js.map +1 -1
  274. package/export/crud/imports/validateGroups.d.ts +2 -2
  275. package/export/crud/imports/validateGroups.js.map +1 -1
  276. package/export/crud/imports/validateInput.d.ts +2 -2
  277. package/export/crud/imports/validateInput.js.map +1 -1
  278. package/export/crud/imports/validateModels.d.ts +2 -2
  279. package/export/crud/imports/validateModels.js.map +1 -1
  280. package/export/crud/index.d.ts +1 -1
  281. package/export/crud/index.js.map +1 -1
  282. package/export/crud/sanitize.d.ts +2 -2
  283. package/export/crud/sanitize.js.map +1 -1
  284. package/export/graphql/index.d.ts +1 -1
  285. package/export/graphql/index.js.map +1 -1
  286. package/export/types.d.ts +1 -1
  287. package/export/types.js.map +1 -1
  288. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +3 -2
  289. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  290. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +3 -2
  291. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  292. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +3 -2
  293. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  294. package/graphql/buildSchemaPlugins.d.ts +2 -2
  295. package/graphql/buildSchemaPlugins.js.map +1 -1
  296. package/graphql/checkEndpointAccess.d.ts +1 -1
  297. package/graphql/checkEndpointAccess.js.map +1 -1
  298. package/graphql/createExecutableSchema.d.ts +1 -1
  299. package/graphql/createExecutableSchema.js.map +1 -1
  300. package/graphql/createRequestBody.d.ts +1 -1
  301. package/graphql/createRequestBody.js.map +1 -1
  302. package/graphql/generateSchema.d.ts +2 -2
  303. package/graphql/generateSchema.js.map +1 -1
  304. package/graphql/getSchema/generateCacheId.d.ts +3 -3
  305. package/graphql/getSchema/generateCacheId.js.map +1 -1
  306. package/graphql/getSchema/generateCacheKey.d.ts +1 -1
  307. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  308. package/graphql/getSchema.d.ts +4 -4
  309. package/graphql/getSchema.js.map +1 -1
  310. package/graphql/graphQLHandlerFactory.d.ts +1 -1
  311. package/graphql/graphQLHandlerFactory.js.map +1 -1
  312. package/graphql/handleRequest.d.ts +2 -2
  313. package/graphql/handleRequest.js.map +1 -1
  314. package/graphql/index.d.ts +2 -2
  315. package/graphql/index.js.map +1 -1
  316. package/graphql/scalars/RevisionIdScalarPlugin.d.ts +1 -1
  317. package/graphql/scalars/RevisionIdScalarPlugin.js.map +1 -1
  318. package/graphql/schema/baseContentSchema.d.ts +2 -2
  319. package/graphql/schema/baseContentSchema.js.map +1 -1
  320. package/graphql/schema/baseSchema.js +0 -1
  321. package/graphql/schema/baseSchema.js.map +1 -1
  322. package/graphql/schema/contentEntries.d.ts +2 -2
  323. package/graphql/schema/contentEntries.js.map +1 -1
  324. package/graphql/schema/contentModelGroups.d.ts +2 -2
  325. package/graphql/schema/contentModelGroups.js.map +1 -1
  326. package/graphql/schema/contentModels.d.ts +2 -2
  327. package/graphql/schema/contentModels.js.map +1 -1
  328. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  329. package/graphql/schema/createFieldResolvers.js.map +1 -1
  330. package/graphql/schema/createFieldTypePluginRecords.d.ts +2 -2
  331. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  332. package/graphql/schema/createManageSDL.d.ts +2 -2
  333. package/graphql/schema/createManageSDL.js.map +1 -1
  334. package/graphql/schema/createPreviewResolvers.js +0 -5
  335. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  336. package/graphql/schema/createReadResolvers.js +0 -5
  337. package/graphql/schema/createReadResolvers.js.map +1 -1
  338. package/graphql/schema/createReadSDL.d.ts +2 -2
  339. package/graphql/schema/createReadSDL.js +0 -1
  340. package/graphql/schema/createReadSDL.js.map +1 -1
  341. package/graphql/schema/createSingularSDL.d.ts +1 -1
  342. package/graphql/schema/createSingularSDL.js.map +1 -1
  343. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +1 -1
  344. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  345. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +1 -1
  346. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  347. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
  348. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  349. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +1 -1
  350. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  351. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +1 -1
  352. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  353. package/graphql/schema/resolvers/manage/resolveGet.d.ts +1 -1
  354. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  355. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
  356. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  357. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
  358. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  359. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +1 -1
  360. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  361. package/graphql/schema/resolvers/manage/resolveList.d.ts +1 -1
  362. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  363. package/graphql/schema/resolvers/manage/resolveListDeleted.d.ts +1 -1
  364. package/graphql/schema/resolvers/manage/resolveListDeleted.js.map +1 -1
  365. package/graphql/schema/resolvers/manage/resolveMove.d.ts +1 -1
  366. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  367. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +1 -1
  368. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  369. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
  370. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  371. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.d.ts +1 -1
  372. package/graphql/schema/resolvers/manage/resolveRestoreFromBin.js.map +1 -1
  373. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
  374. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  375. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
  376. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  377. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +1 -1
  378. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -1
  379. package/graphql/schema/resolvers/preview/resolveGet.d.ts +1 -1
  380. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  381. package/graphql/schema/resolvers/preview/resolveList.d.ts +1 -1
  382. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  383. package/graphql/schema/resolvers/read/resolveGet.d.ts +1 -1
  384. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  385. package/graphql/schema/resolvers/read/resolveList.d.ts +1 -1
  386. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  387. package/graphql/schema/resolvers/singular/resolveGet.d.ts +1 -1
  388. package/graphql/schema/resolvers/singular/resolveGet.js.map +1 -1
  389. package/graphql/schema/resolvers/singular/resolveUpdate.d.ts +1 -1
  390. package/graphql/schema/resolvers/singular/resolveUpdate.js.map +1 -1
  391. package/graphql/schema/schemaPlugins.d.ts +1 -1
  392. package/graphql/schema/schemaPlugins.js.map +1 -1
  393. package/graphql/system.d.ts +1 -1
  394. package/graphql/system.js.map +1 -1
  395. package/graphqlFields/boolean.d.ts +1 -1
  396. package/graphqlFields/boolean.js.map +1 -1
  397. package/graphqlFields/datetime.d.ts +1 -1
  398. package/graphqlFields/datetime.js.map +1 -1
  399. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  400. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  401. package/graphqlFields/file.d.ts +1 -1
  402. package/graphqlFields/file.js.map +1 -1
  403. package/graphqlFields/helpers.d.ts +1 -1
  404. package/graphqlFields/helpers.js.map +1 -1
  405. package/graphqlFields/index.d.ts +1 -1
  406. package/graphqlFields/index.js +2 -1
  407. package/graphqlFields/index.js.map +1 -1
  408. package/graphqlFields/json.d.ts +1 -1
  409. package/graphqlFields/json.js.map +1 -1
  410. package/graphqlFields/longText.d.ts +1 -1
  411. package/graphqlFields/longText.js.map +1 -1
  412. package/graphqlFields/number.d.ts +1 -1
  413. package/graphqlFields/number.js.map +1 -1
  414. package/graphqlFields/object.d.ts +1 -1
  415. package/graphqlFields/object.js.map +1 -1
  416. package/graphqlFields/ref.d.ts +1 -1
  417. package/graphqlFields/ref.js.map +1 -1
  418. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +1 -1
  419. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -1
  420. package/graphqlFields/richText/richTextResolver.d.ts +2 -2
  421. package/graphqlFields/richText/richTextResolver.js.map +1 -1
  422. package/graphqlFields/richText.d.ts +1 -1
  423. package/graphqlFields/richText.js.map +1 -1
  424. package/graphqlFields/searchableJson.d.ts +2 -0
  425. package/graphqlFields/searchableJson.js +60 -0
  426. package/graphqlFields/searchableJson.js.map +1 -0
  427. package/graphqlFields/text.d.ts +1 -1
  428. package/graphqlFields/text.js.map +1 -1
  429. package/htmlRenderer/LexicalRenderer.d.ts +1 -1
  430. package/htmlRenderer/LexicalRenderer.js.map +1 -1
  431. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -1
  432. package/index.d.ts +3 -3
  433. package/index.js.map +1 -1
  434. package/modelManager/SingletonModelManager.d.ts +1 -1
  435. package/modelManager/SingletonModelManager.js.map +1 -1
  436. package/modelManager/index.d.ts +1 -1
  437. package/modelManager/index.js.map +1 -1
  438. package/package.json +21 -21
  439. package/parameters/header.js.map +1 -1
  440. package/parameters/manual.d.ts +2 -1
  441. package/parameters/manual.js.map +1 -1
  442. package/parameters/path.js.map +1 -1
  443. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.d.ts +3 -2
  444. package/plugins/CmsGraphQLSchemaPlugin/CmsGraphQLSchemaPlugin.js.map +1 -1
  445. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +1 -1
  446. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  447. package/plugins/CmsGroupPlugin.d.ts +1 -1
  448. package/plugins/CmsGroupPlugin.js.map +1 -1
  449. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  450. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  451. package/plugins/CmsModelPlugin.d.ts +1 -1
  452. package/plugins/CmsModelPlugin.js.map +1 -1
  453. package/plugins/CmsParametersPlugin.d.ts +1 -1
  454. package/plugins/CmsParametersPlugin.js.map +1 -1
  455. package/plugins/StorageOperationsCmsModelPlugin.d.ts +1 -1
  456. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  457. package/plugins/StorageTransformPlugin.d.ts +2 -2
  458. package/plugins/StorageTransformPlugin.js.map +1 -1
  459. package/storage/date.d.ts +1 -1
  460. package/storage/date.js.map +1 -1
  461. package/storage/dynamicZone.js.map +1 -1
  462. package/storage/json.js +34 -5
  463. package/storage/json.js.map +1 -1
  464. package/storage/object.js.map +1 -1
  465. package/types/context.d.ts +7 -7
  466. package/types/context.js.map +1 -1
  467. package/types/fields/dynamicZoneField.d.ts +1 -1
  468. package/types/fields/dynamicZoneField.js.map +1 -1
  469. package/types/fields/objectField.d.ts +1 -1
  470. package/types/fields/objectField.js.map +1 -1
  471. package/types/model.d.ts +3 -3
  472. package/types/model.js.map +1 -1
  473. package/types/modelAst.d.ts +1 -1
  474. package/types/modelAst.js.map +1 -1
  475. package/types/modelField.d.ts +2 -2
  476. package/types/modelField.js.map +1 -1
  477. package/types/modelGroup.d.ts +1 -1
  478. package/types/modelGroup.js.map +1 -1
  479. package/types/plugins.d.ts +6 -6
  480. package/types/plugins.js.map +1 -1
  481. package/types/types.d.ts +20 -43
  482. package/types/types.js.map +1 -1
  483. package/utils/RichTextRenderer.d.ts +2 -2
  484. package/utils/RichTextRenderer.js.map +1 -1
  485. package/utils/caching/Cache.d.ts +1 -1
  486. package/utils/caching/Cache.js.map +1 -1
  487. package/utils/caching/CacheKey.d.ts +2 -2
  488. package/utils/caching/CacheKey.js.map +1 -1
  489. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +1 -1
  490. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  491. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +1 -1
  492. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  493. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +1 -1
  494. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  495. package/utils/contentModelAst/CmsModelToAstConverter.d.ts +1 -1
  496. package/utils/contentModelAst/CmsModelToAstConverter.js.map +1 -1
  497. package/utils/converters/Converter.d.ts +3 -3
  498. package/utils/converters/Converter.js.map +1 -1
  499. package/utils/converters/ConverterCollection.d.ts +2 -2
  500. package/utils/converters/ConverterCollection.js.map +1 -1
  501. package/utils/converters/valueKeyStorageConverter.d.ts +3 -3
  502. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  503. package/utils/createModelField.d.ts +1 -1
  504. package/utils/createModelField.js.map +1 -1
  505. package/utils/createTypeFromFields.d.ts +1 -1
  506. package/utils/createTypeFromFields.js.map +1 -1
  507. package/utils/entryStorage.d.ts +8 -1
  508. package/utils/entryStorage.js +37 -4
  509. package/utils/entryStorage.js.map +1 -1
  510. package/utils/getBaseFieldType.d.ts +1 -1
  511. package/utils/getBaseFieldType.js.map +1 -1
  512. package/utils/getEntryDescription.d.ts +1 -1
  513. package/utils/getEntryDescription.js.map +1 -1
  514. package/utils/getEntryImage.d.ts +1 -1
  515. package/utils/getEntryImage.js.map +1 -1
  516. package/utils/getEntryTitle.d.ts +1 -1
  517. package/utils/getEntryTitle.js.map +1 -1
  518. package/utils/getSchemaFromFieldPlugins.d.ts +4 -4
  519. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  520. package/utils/identity.d.ts +1 -1
  521. package/utils/identity.js.map +1 -1
  522. package/utils/isHeadlessCmsReady.d.ts +1 -1
  523. package/utils/isHeadlessCmsReady.js.map +1 -1
  524. package/utils/modelFieldTraverser/ModelFieldTraverser.d.ts +1 -1
  525. package/utils/modelFieldTraverser/ModelFieldTraverser.js.map +1 -1
  526. package/utils/renderFields.d.ts +1 -1
  527. package/utils/renderFields.js.map +1 -1
  528. package/utils/renderGetFilterFields.d.ts +1 -1
  529. package/utils/renderGetFilterFields.js.map +1 -1
  530. package/utils/renderInputFields.d.ts +1 -1
  531. package/utils/renderInputFields.js.map +1 -1
  532. package/utils/renderListFilterFields.d.ts +1 -1
  533. package/utils/renderListFilterFields.js.map +1 -1
  534. package/utils/renderSortEnum.d.ts +2 -2
  535. package/utils/renderSortEnum.js.map +1 -1
  536. package/validators/dateGte.d.ts +1 -1
  537. package/validators/dateGte.js.map +1 -1
  538. package/validators/dateLte.d.ts +1 -1
  539. package/validators/dateLte.js.map +1 -1
  540. package/validators/gte.d.ts +1 -1
  541. package/validators/gte.js.map +1 -1
  542. package/validators/in.d.ts +1 -1
  543. package/validators/in.js.map +1 -1
  544. package/validators/lte.d.ts +1 -1
  545. package/validators/lte.js.map +1 -1
  546. package/validators/maxLength.d.ts +1 -1
  547. package/validators/maxLength.js.map +1 -1
  548. package/validators/minLength.d.ts +1 -1
  549. package/validators/minLength.js.map +1 -1
  550. package/validators/pattern.d.ts +1 -1
  551. package/validators/pattern.js.map +1 -1
  552. package/validators/patternPlugins/email.d.ts +1 -1
  553. package/validators/patternPlugins/email.js.map +1 -1
  554. package/validators/patternPlugins/index.d.ts +1 -1
  555. package/validators/patternPlugins/index.js.map +1 -1
  556. package/validators/patternPlugins/lowerCase.d.ts +1 -1
  557. package/validators/patternPlugins/lowerCase.js.map +1 -1
  558. package/validators/patternPlugins/lowerCaseSpace.d.ts +1 -1
  559. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  560. package/validators/patternPlugins/upperCase.d.ts +1 -1
  561. package/validators/patternPlugins/upperCase.js.map +1 -1
  562. package/validators/patternPlugins/upperCaseSpace.d.ts +1 -1
  563. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  564. package/validators/patternPlugins/url.d.ts +1 -1
  565. package/validators/patternPlugins/url.js.map +1 -1
  566. package/validators/required.d.ts +1 -1
  567. package/validators/required.js.map +1 -1
  568. package/validators/timeGte.d.ts +1 -1
  569. package/validators/timeGte.js.map +1 -1
  570. package/validators/timeLte.d.ts +1 -1
  571. package/validators/timeLte.js.map +1 -1
  572. package/validators/unique.d.ts +1 -1
  573. package/validators/unique.js.map +1 -1
  574. package/crud/contentEntry/FullTextSearchFields.d.ts +0 -22
  575. package/crud/contentEntry/FullTextSearchFields.js +0 -109
  576. package/crud/contentEntry/FullTextSearchFields.js.map +0 -1
  577. package/graphql/schema/resolvers/preview/resolveGetById.d.ts +0 -7
  578. package/graphql/schema/resolvers/preview/resolveGetById.js +0 -24
  579. package/graphql/schema/resolvers/preview/resolveGetById.js.map +0 -1
  580. package/graphql/schema/resolvers/read/resolveGetById.d.ts +0 -7
  581. package/graphql/schema/resolvers/read/resolveGetById.js +0 -24
  582. package/graphql/schema/resolvers/read/resolveGetById.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_CmsModelPlugin","_getBaseFieldType","markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","baseType","getBaseFieldType","alreadyLocked","some","lockedField","fieldId","storageId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","message","code","exports","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsContext, CmsEntry, CmsModel, CmsModelLockedFieldPlugin, LockedField } from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\n\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const baseType = getBaseFieldType(field);\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.storageId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === baseType);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.storageId,\n multipleValues: !!field.multipleValues,\n type: baseType,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n /**\n * At this point we know this is a CmsModel, so it is safe to cast.\n */\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: newLockedFields\n } as CmsModel\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\n\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_CmsModelPlugin","_getBaseFieldType","markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","baseType","getBaseFieldType","alreadyLocked","some","lockedField","fieldId","storageId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","message","code","exports","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelLockedFieldPlugin,\n LockedField\n} from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\n\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const baseType = getBaseFieldType(field);\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.storageId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === baseType);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.storageId,\n multipleValues: !!field.multipleValues,\n type: baseType,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n /**\n * At this point we know this is a CmsModel, so it is safe to cast.\n */\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: newLockedFields\n } as CmsModel\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\n\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsContext, CmsModel } from "../../types";
1
+ import type { CmsContext, CmsModel } from "../../types";
2
2
  interface ReferenceObject {
3
3
  id: string;
4
4
  modelId: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_dotProp","_interopRequireDefault","require","_error","_utils","_getBaseFieldType","buildReferenceFieldPaths","params","fields","parentPaths","initialParentPaths","input","isMultipleValues","Array","isArray","filter","field","includes","getBaseFieldType","reduce","collection","baseType","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","templates","settings","values","forEach","value","index","template","find","tpl","id","result","concat","String","objFieldPath","objFieldInputValue","results","getReferenceFieldValue","ref","modelId","entryId","trim","referenceFieldsMapping","context","model","validateEntries","output","referenceFieldPaths","validateReferencedEntries","refValue","maybeEntryId","parseIdentifier","set","exports","referencesByModel","Map","has","size","models","security","withoutAuthorization","cms","listModels","entries","promises","map","getEntriesByIds","allEntries","Promise","all","then","res","flat","entriesByModel","acc","entry","ids","modelEntriesInDb","WebinyError"],"sources":["referenceFieldsMapping.ts"],"sourcesContent":["import dotProp from \"dot-prop\";\nimport WebinyError from \"@webiny/error\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { CmsContext, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from \"~/types\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ntype RefValue = Pick<CmsRefEntry, \"id\" | \"modelId\"> & {\n entryId?: string;\n};\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface Params {\n context: CmsContext;\n model: CmsModel;\n input: Record<string, ReferenceObject | ReferenceObject[]>;\n validateEntries?: boolean;\n}\n\ninterface BuildReferenceFieldPaths {\n fields: CmsModelField[];\n parentPaths: string[];\n input: Record<string, any>;\n}\n\nconst buildReferenceFieldPaths = (params: BuildReferenceFieldPaths): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (!Array.isArray(inputValue)) {\n return collection;\n }\n\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n if (field.multipleValues) {\n const values = dotProp.get(input, field.fieldId, []);\n if (!Array.isArray(values)) {\n return collection;\n }\n\n values.forEach((value, index) => {\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n if (!template) {\n return;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value,\n parentPaths: parentPaths.concat([field.fieldId, String(index)])\n });\n\n collection.push(...result);\n });\n\n return collection;\n }\n\n const value = dotProp.get(input, field.fieldId, {});\n if (!value) {\n return collection;\n }\n\n // @ts-expect-error We're sure that a template value contains a _templateId property.\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n\n if (!template) {\n return collection;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value ?? {},\n parentPaths: parentPaths.concat([field.fieldId])\n });\n collection.push(...result);\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotProp.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.multipleValues) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, [] as string[]);\n};\n\nconst getReferenceFieldValue = (ref: any): { id: string | null; modelId: string | null } => {\n if (!ref) {\n return {\n id: null,\n modelId: null\n };\n }\n return {\n id: (ref.id || ref.entryId || \"\").trim() || null,\n modelId: (ref.modelId || \"\").trim() || null\n };\n};\n\n/**\n * This function traverses the content entry input value, extracts all occurrences of the `ref` field,\n * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to\n * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via\n * the `read` and `preview` endpoint.\n */\nexport const referenceFieldsMapping = async (params: Params): Promise<Record<string, any>> => {\n const { context, model, input, validateEntries = false } = params;\n\n let output: Record<string, any> = {\n ...input\n };\n\n const referenceFieldPaths = buildReferenceFieldPaths({\n fields: model.fields,\n input,\n parentPaths: []\n });\n\n if (!referenceFieldPaths.length) {\n return output;\n }\n\n if (validateEntries) {\n await validateReferencedEntries({ output, context, referenceFieldPaths });\n }\n\n /**\n * Assign the entryId, id and model values to the output.\n */\n for (const path of referenceFieldPaths) {\n // It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.\n const refValue: RefValue | undefined = dotProp.get(input, path);\n if (!refValue) {\n continue;\n }\n\n /**\n * Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards\n * compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need\n * to make sure that the legacy structure { entryId, modelId } is supported.\n */\n const { id, modelId, entryId: maybeEntryId } = refValue;\n\n const { id: entryId } = parseIdentifier(maybeEntryId || id);\n\n output = dotProp.set(output, path, {\n // If `id` is not set, we're dealing with the legacy structure.\n id: id ?? maybeEntryId,\n entryId,\n modelId\n });\n }\n\n return output;\n};\n\ninterface ValidateReferencedEntriesParams {\n output: Record<string, any>;\n context: CmsContext;\n referenceFieldPaths: string[];\n}\n\nasync function validateReferencedEntries({\n output,\n context,\n referenceFieldPaths\n}: ValidateReferencedEntriesParams) {\n const referencesByModel = new Map<string, string[]>();\n\n /**\n * Group references by modelId.\n */\n for (const path of referenceFieldPaths) {\n const ref = dotProp.get(output, path) as ReferenceObject | any;\n\n const { id, modelId } = getReferenceFieldValue(ref);\n\n if (!id || !modelId) {\n continue;\n }\n\n if (!referencesByModel.has(modelId)) {\n referencesByModel.set(modelId, []);\n }\n\n referencesByModel.get(modelId)?.push(id);\n }\n\n if (!referencesByModel.size) {\n return;\n }\n\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel.get(model.modelId);\n if (!Array.isArray(entries) || entries.length === 0) {\n return false;\n }\n return true;\n });\n });\n\n if (!models.length) {\n return;\n }\n\n /**\n * Load all the entries by their IDs.\n */\n const promises = await context.security.withoutAuthorization(async () => {\n return models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);\n });\n });\n\n const allEntries = await Promise.all(promises).then(res => res.flat());\n const entriesByModel = allEntries.reduce<Record<string, string[]>>((acc, entry) => {\n return { ...acc, [entry.modelId]: [...(acc[entry.modelId] || []), entry.id] };\n }, {});\n\n /**\n * Verify that all entries exist.\n */\n referencesByModel.forEach((ids, modelId) => {\n const modelEntriesInDb = entriesByModel[modelId];\n for (const id of ids) {\n if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n }\n });\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AA+BA,MAAMI,wBAAwB,GAAIC,MAAgC,IAAe;EAC7E,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC,kBAAkB;IAAEC;EAAM,CAAC,GAAGJ,MAAM;EAEjE,MAAME,WAAW,GAAG,CAAC,GAAGC,kBAAkB,CAAC;EAE3C,MAAME,gBAAgB,GAAGC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC;EAE7C,OAAOH,MAAM,CACRO,MAAM,CAACC,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAACC,QAAQ,CAAC,IAAAC,kCAAgB,EAACF,KAAK,CAAC,CAAC,CAAC,CACnFG,MAAM,CAAC,CAACC,UAAU,EAAEJ,KAAK,KAAK;IAC3B;AACZ;AACA;IACY,MAAMK,QAAQ,GAAG,IAAAH,kCAAgB,EAACF,KAAK,CAAC;IACxC,IAAIK,QAAQ,KAAK,KAAK,EAAE;MACpB,MAAMC,gBAAgB,GAAGb,WAAW,CAACc,MAAM,GAAG,CAAC,GAAG,GAAGd,WAAW,CAACe,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;MAClF,IAAIR,KAAK,CAACS,cAAc,EAAE;QACtB,MAAMC,UAAU,GAAGC,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAE,GAAGK,KAAK,CAACa,OAAO,EAAE,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAChB,KAAK,CAACC,OAAO,CAACY,UAAU,CAAC,EAAE;UAC5B,OAAON,UAAU;QACrB;QAEA,KAAK,MAAMU,GAAG,IAAIJ,UAAU,EAAE;UAC1B,MAAMK,IAAI,GAAG,GAAGT,gBAAgB,GAAGN,KAAK,CAACa,OAAO,IAAIC,GAAG,EAAE;UACzDV,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;QACzB;QACA,OAAOX,UAAU;MACrB;MAEA,IAAIR,gBAAgB,EAAE;QAClB,KAAK,MAAMkB,GAAG,IAAInB,KAAK,EAAE;UACrB,MAAMoB,IAAI,GAAG,GAAGT,gBAAgB,GAAGQ,GAAG,IAAId,KAAK,CAACa,OAAO,EAAE;UACzDT,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;QACzB;QACA,OAAOX,UAAU;MACrB;MAEAA,UAAU,CAACY,IAAI,CAAC,GAAGV,gBAAgB,GAAGN,KAAK,CAACa,OAAO,EAAE,CAAC;MAEtD,OAAOT,UAAU;IACrB;IAEA,IAAIC,QAAQ,KAAK,aAAa,EAAE;MAC5B,MAAMY,SAAmC,GAAGjB,KAAK,CAACkB,QAAQ,EAAED,SAAS,IAAI,EAAE;MAE3E,IAAIjB,KAAK,CAACS,cAAc,EAAE;QACtB,MAAMU,MAAM,GAAGR,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAEK,KAAK,CAACa,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,CAAChB,KAAK,CAACC,OAAO,CAACqB,MAAM,CAAC,EAAE;UACxB,OAAOf,UAAU;QACrB;QAEAe,MAAM,CAACC,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;UAC7B,MAAMC,QAAQ,GAAGN,SAAS,CAACO,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,EAAE,KAAKL,KAAK,CAAC,aAAa,CAAC,CAAC;UACvE,IAAI,CAACE,QAAQ,EAAE;YACX;UACJ;UAEA,MAAMI,MAAM,GAAGrC,wBAAwB,CAAC;YACpCE,MAAM,EAAE+B,QAAQ,CAAC/B,MAAM;YACvBG,KAAK,EAAE0B,KAAK;YACZ5B,WAAW,EAAEA,WAAW,CAACmC,MAAM,CAAC,CAAC5B,KAAK,CAACa,OAAO,EAAEgB,MAAM,CAACP,KAAK,CAAC,CAAC;UAClE,CAAC,CAAC;UAEFlB,UAAU,CAACY,IAAI,CAAC,GAAGW,MAAM,CAAC;QAC9B,CAAC,CAAC;QAEF,OAAOvB,UAAU;MACrB;MAEA,MAAMiB,KAAK,GAAGV,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAEK,KAAK,CAACa,OAAO,EAAE,CAAC,CAAC,CAAC;MACnD,IAAI,CAACQ,KAAK,EAAE;QACR,OAAOjB,UAAU;MACrB;;MAEA;MACA,MAAMmB,QAAQ,GAAGN,SAAS,CAACO,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,EAAE,KAAKL,KAAK,CAAC,aAAa,CAAC,CAAC;MAEvE,IAAI,CAACE,QAAQ,EAAE;QACX,OAAOnB,UAAU;MACrB;MAEA,MAAMuB,MAAM,GAAGrC,wBAAwB,CAAC;QACpCE,MAAM,EAAE+B,QAAQ,CAAC/B,MAAM;QACvBG,KAAK,EAAE0B,KAAK,IAAI,CAAC,CAAC;QAClB5B,WAAW,EAAEA,WAAW,CAACmC,MAAM,CAAC,CAAC5B,KAAK,CAACa,OAAO,CAAC;MACnD,CAAC,CAAC;MACFT,UAAU,CAACY,IAAI,CAAC,GAAGW,MAAM,CAAC;MAE1B,OAAOvB,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAME,gBAAgB,GAAGb,WAAW,CAACc,MAAM,GAAG,CAAC,GAAG,GAAGd,WAAW,CAACe,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;IAClF;AACZ;AACA;IACY,IAAIZ,gBAAgB,EAAE;MAClB,KAAK,MAAMkB,GAAG,IAAInB,KAAK,EAAE;QACrB,MAAMoB,IAAI,GAAG,GAAGT,gBAAgB,GAAGQ,GAAG,IAAId,KAAK,CAACa,OAAO,EAAE;QACzDT,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;MACzB;MACA,OAAOX,UAAU;IACrB;IAEA,MAAM0B,YAAY,GAAG,GAAG9B,KAAK,CAACa,OAAO,EAAE;IACvC,MAAMkB,kBAAkB,GAAGpB,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAEmC,YAAY,EAAE,EAAE,CAAC;;IAE/D;AACZ;AACA;IACY,IAAI9B,KAAK,CAACS,cAAc,EAAE;MACtB,IAAIZ,KAAK,CAACC,OAAO,CAACiC,kBAAkB,CAAC,KAAK,KAAK,EAAE;QAC7C,OAAO3B,UAAU;MACrB;MACA,KAAK,MAAMU,GAAG,IAAIiB,kBAAkB,EAAE;QAClC,MAAMJ,MAAM,GAAGrC,wBAAwB,CAAC;UACpCE,MAAM,EAAEQ,KAAK,CAACkB,QAAQ,EAAE1B,MAAM,IAAI,EAAE;UACpCG,KAAK,EAAEoC,kBAAkB,CAACjB,GAAG,CAAC;UAC9BrB,WAAW,EAAEA,WAAW,CAACmC,MAAM,CAAC,CAAC5B,KAAK,CAACa,OAAO,EAAEC,GAAG,CAAC;QACxD,CAAC,CAAC;QACFV,UAAU,CAACY,IAAI,CAAC,GAAGW,MAAM,CAAC;MAC9B;MAEA,OAAOvB,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAM4B,OAAO,GAAG1C,wBAAwB,CAAC;MACrCE,MAAM,EAAEQ,KAAK,CAACkB,QAAQ,EAAE1B,MAAM,IAAI,EAAE;MACpCG,KAAK,EAAEoC,kBAAkB;MACzBtC,WAAW,EAAEA,WAAW,CAACmC,MAAM,CAAC,CAAC5B,KAAK,CAACa,OAAO,CAAC;IACnD,CAAC,CAAC;IAEF,OAAOT,UAAU,CAACwB,MAAM,CAACI,OAAO,CAAC;EACrC,CAAC,EAAE,EAAc,CAAC;AAC1B,CAAC;AAED,MAAMC,sBAAsB,GAAIC,GAAQ,IAAoD;EACxF,IAAI,CAACA,GAAG,EAAE;IACN,OAAO;MACHR,EAAE,EAAE,IAAI;MACRS,OAAO,EAAE;IACb,CAAC;EACL;EACA,OAAO;IACHT,EAAE,EAAE,CAACQ,GAAG,CAACR,EAAE,IAAIQ,GAAG,CAACE,OAAO,IAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,IAAI,IAAI;IAChDF,OAAO,EAAE,CAACD,GAAG,CAACC,OAAO,IAAI,EAAE,EAAEE,IAAI,CAAC,CAAC,IAAI;EAC3C,CAAC;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAG,MAAO/C,MAAc,IAAmC;EAC1F,MAAM;IAAEgD,OAAO;IAAEC,KAAK;IAAE7C,KAAK;IAAE8C,eAAe,GAAG;EAAM,CAAC,GAAGlD,MAAM;EAEjE,IAAImD,MAA2B,GAAG;IAC9B,GAAG/C;EACP,CAAC;EAED,MAAMgD,mBAAmB,GAAGrD,wBAAwB,CAAC;IACjDE,MAAM,EAAEgD,KAAK,CAAChD,MAAM;IACpBG,KAAK;IACLF,WAAW,EAAE;EACjB,CAAC,CAAC;EAEF,IAAI,CAACkD,mBAAmB,CAACpC,MAAM,EAAE;IAC7B,OAAOmC,MAAM;EACjB;EAEA,IAAID,eAAe,EAAE;IACjB,MAAMG,yBAAyB,CAAC;MAAEF,MAAM;MAAEH,OAAO;MAAEI;IAAoB,CAAC,CAAC;EAC7E;;EAEA;AACJ;AACA;EACI,KAAK,MAAM5B,IAAI,IAAI4B,mBAAmB,EAAE;IACpC;IACA,MAAME,QAA8B,GAAGlC,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAEoB,IAAI,CAAC;IAC/D,IAAI,CAAC8B,QAAQ,EAAE;MACX;IACJ;;IAEA;AACR;AACA;AACA;AACA;IACQ,MAAM;MAAEnB,EAAE;MAAES,OAAO;MAAEC,OAAO,EAAEU;IAAa,CAAC,GAAGD,QAAQ;IAEvD,MAAM;MAAEnB,EAAE,EAAEU;IAAQ,CAAC,GAAG,IAAAW,sBAAe,EAACD,YAAY,IAAIpB,EAAE,CAAC;IAE3DgB,MAAM,GAAG/B,gBAAO,CAACqC,GAAG,CAACN,MAAM,EAAE3B,IAAI,EAAE;MAC/B;MACAW,EAAE,EAAEA,EAAE,IAAIoB,YAAY;MACtBV,OAAO;MACPD;IACJ,CAAC,CAAC;EACN;EAEA,OAAOO,MAAM;AACjB,CAAC;AAACO,OAAA,CAAAX,sBAAA,GAAAA,sBAAA;AAQF,eAAeM,yBAAyBA,CAAC;EACrCF,MAAM;EACNH,OAAO;EACPI;AAC6B,CAAC,EAAE;EAChC,MAAMO,iBAAiB,GAAG,IAAIC,GAAG,CAAmB,CAAC;;EAErD;AACJ;AACA;EACI,KAAK,MAAMpC,IAAI,IAAI4B,mBAAmB,EAAE;IACpC,MAAMT,GAAG,GAAGvB,gBAAO,CAACC,GAAG,CAAC8B,MAAM,EAAE3B,IAAI,CAA0B;IAE9D,MAAM;MAAEW,EAAE;MAAES;IAAQ,CAAC,GAAGF,sBAAsB,CAACC,GAAG,CAAC;IAEnD,IAAI,CAACR,EAAE,IAAI,CAACS,OAAO,EAAE;MACjB;IACJ;IAEA,IAAI,CAACe,iBAAiB,CAACE,GAAG,CAACjB,OAAO,CAAC,EAAE;MACjCe,iBAAiB,CAACF,GAAG,CAACb,OAAO,EAAE,EAAE,CAAC;IACtC;IAEAe,iBAAiB,CAACtC,GAAG,CAACuB,OAAO,CAAC,EAAEnB,IAAI,CAACU,EAAE,CAAC;EAC5C;EAEA,IAAI,CAACwB,iBAAiB,CAACG,IAAI,EAAE;IACzB;EACJ;;EAEA;AACJ;AACA;EACI,MAAMC,MAAM,GAAG,MAAMf,OAAO,CAACgB,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IACnE,OAAO,CAAC,MAAMjB,OAAO,CAACkB,GAAG,CAACC,UAAU,CAAC,CAAC,EAAE3D,MAAM,CAACyC,KAAK,IAAI;MACpD,MAAMmB,OAAO,GAAGT,iBAAiB,CAACtC,GAAG,CAAC4B,KAAK,CAACL,OAAO,CAAC;MACpD,IAAI,CAACtC,KAAK,CAACC,OAAO,CAAC6D,OAAO,CAAC,IAAIA,OAAO,CAACpD,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,KAAK;MAChB;MACA,OAAO,IAAI;IACf,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,IAAI,CAAC+C,MAAM,CAAC/C,MAAM,EAAE;IAChB;EACJ;;EAEA;AACJ;AACA;EACI,MAAMqD,QAAQ,GAAG,MAAMrB,OAAO,CAACgB,QAAQ,CAACC,oBAAoB,CAAC,YAAY;IACrE,OAAOF,MAAM,CAACO,GAAG,CAACrB,KAAK,IAAI;MACvB,OAAOD,OAAO,CAACkB,GAAG,CAACK,eAAe,CAACtB,KAAK,EAAEU,iBAAiB,CAACtC,GAAG,CAAC4B,KAAK,CAACL,OAAO,CAAC,IAAI,EAAE,CAAC;IACzF,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,MAAM4B,UAAU,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACL,QAAQ,CAAC,CAACM,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC;EACtE,MAAMC,cAAc,GAAGN,UAAU,CAAC5D,MAAM,CAA2B,CAACmE,GAAG,EAAEC,KAAK,KAAK;IAC/E,OAAO;MAAE,GAAGD,GAAG;MAAE,CAACC,KAAK,CAACpC,OAAO,GAAG,CAAC,IAAImC,GAAG,CAACC,KAAK,CAACpC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAEoC,KAAK,CAAC7C,EAAE;IAAE,CAAC;EACjF,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEN;AACJ;AACA;EACIwB,iBAAiB,CAAC9B,OAAO,CAAC,CAACoD,GAAG,EAAErC,OAAO,KAAK;IACxC,MAAMsC,gBAAgB,GAAGJ,cAAc,CAAClC,OAAO,CAAC;IAChD,KAAK,MAAMT,EAAE,IAAI8C,GAAG,EAAE;MAClB,IAAI,CAACC,gBAAgB,IAAI,CAACA,gBAAgB,CAACxE,QAAQ,CAACyB,EAAE,CAAC,EAAE;QACrD,MAAM,IAAIgD,cAAW,CACjB,qCAAqChD,EAAE,eAAeS,OAAO,IAAI,EACjE,iBAAiB,EACjB;UACIT,EAAE;UACFc,KAAK,EAAEL;QACX,CACJ,CAAC;MACL;IACJ;EACJ,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["_dotProp","_interopRequireDefault","require","_error","_utils","_getBaseFieldType","buildReferenceFieldPaths","params","fields","parentPaths","initialParentPaths","input","isMultipleValues","Array","isArray","filter","field","includes","getBaseFieldType","reduce","collection","baseType","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","templates","settings","values","forEach","value","index","template","find","tpl","id","result","concat","String","objFieldPath","objFieldInputValue","results","getReferenceFieldValue","ref","modelId","entryId","trim","referenceFieldsMapping","context","model","validateEntries","output","referenceFieldPaths","validateReferencedEntries","refValue","maybeEntryId","parseIdentifier","set","exports","referencesByModel","Map","has","size","models","security","withoutAuthorization","cms","listModels","entries","promises","map","getEntriesByIds","allEntries","Promise","all","then","res","flat","entriesByModel","acc","entry","ids","modelEntriesInDb","WebinyError"],"sources":["referenceFieldsMapping.ts"],"sourcesContent":["import dotProp from \"dot-prop\";\nimport WebinyError from \"@webiny/error\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport type { CmsContext, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from \"~/types\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ntype RefValue = Pick<CmsRefEntry, \"id\" | \"modelId\"> & {\n entryId?: string;\n};\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface Params {\n context: CmsContext;\n model: CmsModel;\n input: Record<string, ReferenceObject | ReferenceObject[]>;\n validateEntries?: boolean;\n}\n\ninterface BuildReferenceFieldPaths {\n fields: CmsModelField[];\n parentPaths: string[];\n input: Record<string, any>;\n}\n\nconst buildReferenceFieldPaths = (params: BuildReferenceFieldPaths): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\", \"dynamicZone\"].includes(getBaseFieldType(field)))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (!Array.isArray(inputValue)) {\n return collection;\n }\n\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n }\n\n if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n\n if (field.multipleValues) {\n const values = dotProp.get(input, field.fieldId, []);\n if (!Array.isArray(values)) {\n return collection;\n }\n\n values.forEach((value, index) => {\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n if (!template) {\n return;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value,\n parentPaths: parentPaths.concat([field.fieldId, String(index)])\n });\n\n collection.push(...result);\n });\n\n return collection;\n }\n\n const value = dotProp.get(input, field.fieldId, {});\n if (!value) {\n return collection;\n }\n\n // @ts-expect-error We're sure that a template value contains a _templateId property.\n const template = templates.find(tpl => tpl.id === value[\"_templateId\"]);\n\n if (!template) {\n return collection;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: value ?? {},\n parentPaths: parentPaths.concat([field.fieldId])\n });\n collection.push(...result);\n\n return collection;\n }\n\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotProp.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.multipleValues) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, [] as string[]);\n};\n\nconst getReferenceFieldValue = (ref: any): { id: string | null; modelId: string | null } => {\n if (!ref) {\n return {\n id: null,\n modelId: null\n };\n }\n return {\n id: (ref.id || ref.entryId || \"\").trim() || null,\n modelId: (ref.modelId || \"\").trim() || null\n };\n};\n\n/**\n * This function traverses the content entry input value, extracts all occurrences of the `ref` field,\n * optionally verifies that those referenced entries exist (by loading them), and normalizes the `ref` value to\n * always contain `{ id, modelId, entryId }`. `entryId` is important when data is being loaded via\n * the `read` and `preview` endpoint.\n */\nexport const referenceFieldsMapping = async (params: Params): Promise<Record<string, any>> => {\n const { context, model, input, validateEntries = false } = params;\n\n let output: Record<string, any> = {\n ...input\n };\n\n const referenceFieldPaths = buildReferenceFieldPaths({\n fields: model.fields,\n input,\n parentPaths: []\n });\n\n if (!referenceFieldPaths.length) {\n return output;\n }\n\n if (validateEntries) {\n await validateReferencedEntries({ output, context, referenceFieldPaths });\n }\n\n /**\n * Assign the entryId, id and model values to the output.\n */\n for (const path of referenceFieldPaths) {\n // It is safe to cast here, because `referenceFieldPaths` array is generated from the `input`.\n const refValue: RefValue | undefined = dotProp.get(input, path);\n if (!refValue) {\n continue;\n }\n\n /**\n * Over time, the structure of `RefInput` was changing, and we need to handle different cases for backwards\n * compatibility. The latest valid structure of a `ref` field value is { id, modelId }, but we also need\n * to make sure that the legacy structure { entryId, modelId } is supported.\n */\n const { id, modelId, entryId: maybeEntryId } = refValue;\n\n const { id: entryId } = parseIdentifier(maybeEntryId || id);\n\n output = dotProp.set(output, path, {\n // If `id` is not set, we're dealing with the legacy structure.\n id: id ?? maybeEntryId,\n entryId,\n modelId\n });\n }\n\n return output;\n};\n\ninterface ValidateReferencedEntriesParams {\n output: Record<string, any>;\n context: CmsContext;\n referenceFieldPaths: string[];\n}\n\nasync function validateReferencedEntries({\n output,\n context,\n referenceFieldPaths\n}: ValidateReferencedEntriesParams) {\n const referencesByModel = new Map<string, string[]>();\n\n /**\n * Group references by modelId.\n */\n for (const path of referenceFieldPaths) {\n const ref = dotProp.get(output, path) as ReferenceObject | any;\n\n const { id, modelId } = getReferenceFieldValue(ref);\n\n if (!id || !modelId) {\n continue;\n }\n\n if (!referencesByModel.has(modelId)) {\n referencesByModel.set(modelId, []);\n }\n\n referencesByModel.get(modelId)?.push(id);\n }\n\n if (!referencesByModel.size) {\n return;\n }\n\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel.get(model.modelId);\n if (!Array.isArray(entries) || entries.length === 0) {\n return false;\n }\n return true;\n });\n });\n\n if (!models.length) {\n return;\n }\n\n /**\n * Load all the entries by their IDs.\n */\n const promises = await context.security.withoutAuthorization(async () => {\n return models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel.get(model.modelId) || []);\n });\n });\n\n const allEntries = await Promise.all(promises).then(res => res.flat());\n const entriesByModel = allEntries.reduce<Record<string, string[]>>((acc, entry) => {\n return { ...acc, [entry.modelId]: [...(acc[entry.modelId] || []), entry.id] };\n }, {});\n\n /**\n * Verify that all entries exist.\n */\n referencesByModel.forEach((ids, modelId) => {\n const modelEntriesInDb = entriesByModel[modelId];\n for (const id of ids) {\n if (!modelEntriesInDb || !modelEntriesInDb.includes(id)) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import type { CmsModelField, IFullTextSearchFields } from "../../types";
1
+ import type { CmsModelField } from "../../types";
2
2
  import type { PluginsContainer } from "@webiny/plugins";
3
- interface IGetSearchableFieldsParams {
3
+ interface Params {
4
4
  input: string[];
5
5
  fields: CmsModelField[];
6
6
  plugins: PluginsContainer;
7
7
  }
8
- export declare const getSearchableFields: (params: IGetSearchableFieldsParams) => IFullTextSearchFields;
8
+ export declare const getSearchableFields: (params: Params) => string[];
9
9
  export {};
@@ -4,7 +4,53 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getSearchableFields = void 0;
7
- var _FullTextSearchFields = require("./FullTextSearchFields");
7
+ const buildSearchableFieldList = params => {
8
+ const {
9
+ input,
10
+ plugins,
11
+ fields,
12
+ parents
13
+ } = params;
14
+ return fields.reduce((result, field) => {
15
+ /**
16
+ * We need to check if the field is full text searchable, and for that we need a plugin for the field type.
17
+ */
18
+ const plugin = plugins[field.type];
19
+ if (!plugin) {
20
+ return result;
21
+ }
22
+ /**
23
+ * There is a possibility that searchable fields exist in nested object field, so check that as well.
24
+ */
25
+ const childFields = field.settings?.fields || [];
26
+ if (childFields.length > 0) {
27
+ /**
28
+ * So we build a list of searchable child fields and push it into the main result set.
29
+ */
30
+ const childResults = buildSearchableFieldList({
31
+ fields: childFields,
32
+ parents: [...parents, field.fieldId],
33
+ plugins,
34
+ input
35
+ });
36
+ result.push(...childResults);
37
+ return result;
38
+ }
39
+ /**
40
+ * If not searchable, continue further.
41
+ */
42
+ if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {
43
+ return result;
44
+ }
45
+
46
+ /**
47
+ * Combine all parent paths with the current one and push it.
48
+ */
49
+ const path = [...parents, field.fieldId].join(".");
50
+ result.push(path);
51
+ return result;
52
+ }, []);
53
+ };
8
54
  const getSearchableFields = params => {
9
55
  const {
10
56
  plugins,
@@ -15,10 +61,11 @@ const getSearchableFields = params => {
15
61
  collection[field.fieldType] = field;
16
62
  return collection;
17
63
  }, {});
18
- return new _FullTextSearchFields.FullTextSearchFields({
64
+ return buildSearchableFieldList({
19
65
  fields,
20
- allowedFields: input,
21
- plugins: fieldPluginMap
66
+ input,
67
+ plugins: fieldPluginMap,
68
+ parents: []
22
69
  });
23
70
  };
24
71
  exports.getSearchableFields = getSearchableFields;
@@ -1 +1 @@
1
- {"version":3,"names":["_FullTextSearchFields","require","getSearchableFields","params","plugins","input","fields","fieldPluginMap","byType","reduce","collection","field","fieldType","FullTextSearchFields","allowedFields","exports"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin, IFullTextSearchFields } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\nimport { FullTextSearchFields } from \"./FullTextSearchFields\";\n\ninterface IGetSearchableFieldsParams {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\n\nexport const getSearchableFields = (params: IGetSearchableFieldsParams): IFullTextSearchFields => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n return new FullTextSearchFields({\n fields,\n allowedFields: input,\n plugins: fieldPluginMap\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,qBAAA,GAAAC,OAAA;AAQO,MAAMC,mBAAmB,GAAIC,MAAkC,IAA4B;EAC9F,MAAM;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMI,cAAc,GAAGH,OAAO,CACzBI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAC,CAACC,UAAU,EAAEC,KAAK,KAAK;IAC3BD,UAAU,CAACC,KAAK,CAACC,SAAS,CAAC,GAAGD,KAAK;IACnC,OAAOD,UAAU;EACrB,CAAC,EAAE,CAAC,CAAiD,CAAC;EAE1D,OAAO,IAAIG,0CAAoB,CAAC;IAC5BP,MAAM;IACNQ,aAAa,EAAET,KAAK;IACpBD,OAAO,EAAEG;EACb,CAAC,CAAC;AACN,CAAC;AAACQ,OAAA,CAAAb,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","disableFullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType","exports"],"sources":["searchableFields.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>((result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch || field.settings?.disableFullTextSearch === true) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n }, []);\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: []\n });\n};\n"],"mappings":";;;;;;AASA,MAAMA,wBAAwB,GAAIC,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAAW,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACR;AACA;IACQ,MAAMI,WAAW,GAAGH,KAAK,CAACI,QAAQ,EAAER,MAAM,IAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACR;AACA;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAc,IAAIT,KAAK,CAACI,QAAQ,EAAEM,qBAAqB,KAAK,IAAI,EAAE;MAC1E,OAAOX,MAAM;IACjB;;IAEA;AACR;AACA;IACQ,MAAMY,IAAI,GAAG,CAAC,GAAGd,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IAClDb,MAAM,CAACS,IAAI,CAACG,IAAI,CAAC;IAEjB,OAAOZ,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAOM,MAAMc,mBAAmB,GAAIpB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMqB,cAAc,GAAGnB,OAAO,CACzBoB,MAAM,CAA+B,4BAA4B,CAAC,CAClEjB,MAAM,CAAC,CAACkB,UAAU,EAAEhB,KAAK,KAAK;IAC3BgB,UAAU,CAAChB,KAAK,CAACiB,SAAS,CAAC,GAAGjB,KAAK;IACnC,OAAOgB,UAAU;EACrB,CAAC,EAAE,CAAC,CAAiD,CAAC;EAE1D,OAAOxB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEmB,cAAc;IACvBjB,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC;AAACqB,OAAA,CAAAL,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { IDeleteEntry, IDeleteEntryOperation, IGetLatestRevisionByEntryId } from "../../abstractions";
2
- import { CmsDeleteEntryOptions, CmsModel } from "../../../../types";
3
- import { TransformEntryDelete } from "./TransformEntryDelete";
1
+ import type { IDeleteEntry, IDeleteEntryOperation, IGetLatestRevisionByEntryId } from "../../abstractions";
2
+ import type { CmsDeleteEntryOptions, CmsModel } from "../../../../types";
3
+ import type { TransformEntryDelete } from "./TransformEntryDelete";
4
4
  export declare class DeleteEntry implements IDeleteEntry {
5
5
  private getEntry;
6
6
  private transformEntry;
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_utils","DeleteEntry","constructor","getEntry","transformEntry","deleteEntry","execute","model","id","options","force","entryToDelete","entryId","parseIdentifier","entry","NotFoundError","exports"],"sources":["DeleteEntry.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n IDeleteEntry,\n IDeleteEntryOperation,\n IGetLatestRevisionByEntryId\n} from \"../../abstractions\";\nimport { CmsDeleteEntryOptions, CmsEntry, CmsModel } from \"~/types\";\nimport { TransformEntryDelete } from \"./TransformEntryDelete\";\n\nexport class DeleteEntry implements IDeleteEntry {\n private getEntry: IGetLatestRevisionByEntryId;\n private transformEntry: TransformEntryDelete;\n private deleteEntry: IDeleteEntryOperation;\n\n constructor(\n getEntry: IGetLatestRevisionByEntryId,\n transformEntry: TransformEntryDelete,\n deleteEntry: IDeleteEntryOperation\n ) {\n this.getEntry = getEntry;\n this.transformEntry = transformEntry;\n this.deleteEntry = deleteEntry;\n }\n\n async execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions) {\n const { force } = options;\n\n const entryToDelete = await this.getEntry.execute(model, { id });\n\n /**\n * In the case we are forcing the deletion, we do not need the storageEntry to exist as it might be an error when loading single database record.\n *\n * This happens, sometimes, in the Elasticsearch system as the entry might get deleted from the DynamoDB but not from the Elasticsearch.\n * This is due to high load on the Elasticsearch at the time of the deletion.\n */\n if (!entryToDelete && force) {\n const { id: entryId } = parseIdentifier(id);\n const entry = {\n id,\n entryId\n } as CmsEntry;\n return await this.deleteEntry.execute(model, { entry });\n }\n\n /**\n * If there is no entry, and we do not force the deletion, just throw an error.\n */\n if (!entryToDelete) {\n throw new NotFoundError(`Entry \"${id}\" was not found!`);\n }\n\n const { entry } = await this.transformEntry.execute(model, entryToDelete);\n\n await this.deleteEntry.execute(model, { entry });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,WAAW,CAAyB;EAK7CC,WAAWA,CACPC,QAAqC,EACrCC,cAAoC,EACpCC,WAAkC,EACpC;IACE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,OAA8B,EAAE;IACvE,MAAM;MAAEC;IAAM,CAAC,GAAGD,OAAO;IAEzB,MAAME,aAAa,GAAG,MAAM,IAAI,CAACR,QAAQ,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;;IAEhE;AACR;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACG,aAAa,IAAID,KAAK,EAAE;MACzB,MAAM;QAAEF,EAAE,EAAEI;MAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACL,EAAE,CAAC;MAC3C,MAAMM,KAAK,GAAG;QACVN,EAAE;QACFI;MACJ,CAAa;MACb,OAAO,MAAM,IAAI,CAACP,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;QAAEO;MAAM,CAAC,CAAC;IAC3D;;IAEA;AACR;AACA;IACQ,IAAI,CAACH,aAAa,EAAE;MAChB,MAAM,IAAII,6BAAa,CAAC,UAAUP,EAAE,kBAAkB,CAAC;IAC3D;IAEA,MAAM;MAAEM;IAAM,CAAC,GAAG,MAAM,IAAI,CAACV,cAAc,CAACE,OAAO,CAACC,KAAK,EAAEI,aAAa,CAAC;IAEzE,MAAM,IAAI,CAACN,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;MAAEO;IAAM,CAAC,CAAC;EACpD;AACJ;AAACE,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_handlerGraphql","require","_utils","DeleteEntry","constructor","getEntry","transformEntry","deleteEntry","execute","model","id","options","force","entryToDelete","entryId","parseIdentifier","entry","NotFoundError","exports"],"sources":["DeleteEntry.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport type {\n IDeleteEntry,\n IDeleteEntryOperation,\n IGetLatestRevisionByEntryId\n} from \"../../abstractions\";\nimport type { CmsDeleteEntryOptions, CmsEntry, CmsModel } from \"~/types\";\nimport type { TransformEntryDelete } from \"./TransformEntryDelete\";\n\nexport class DeleteEntry implements IDeleteEntry {\n private getEntry: IGetLatestRevisionByEntryId;\n private transformEntry: TransformEntryDelete;\n private deleteEntry: IDeleteEntryOperation;\n\n constructor(\n getEntry: IGetLatestRevisionByEntryId,\n transformEntry: TransformEntryDelete,\n deleteEntry: IDeleteEntryOperation\n ) {\n this.getEntry = getEntry;\n this.transformEntry = transformEntry;\n this.deleteEntry = deleteEntry;\n }\n\n async execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions) {\n const { force } = options;\n\n const entryToDelete = await this.getEntry.execute(model, { id });\n\n /**\n * In the case we are forcing the deletion, we do not need the storageEntry to exist as it might be an error when loading single database record.\n *\n * This happens, sometimes, in the Elasticsearch system as the entry might get deleted from the DynamoDB but not from the Elasticsearch.\n * This is due to high load on the Elasticsearch at the time of the deletion.\n */\n if (!entryToDelete && force) {\n const { id: entryId } = parseIdentifier(id);\n const entry = {\n id,\n entryId\n } as CmsEntry;\n return await this.deleteEntry.execute(model, { entry });\n }\n\n /**\n * If there is no entry, and we do not force the deletion, just throw an error.\n */\n if (!entryToDelete) {\n throw new NotFoundError(`Entry \"${id}\" was not found!`);\n }\n\n const { entry } = await this.transformEntry.execute(model, entryToDelete);\n\n await this.deleteEntry.execute(model, { entry });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASO,MAAME,WAAW,CAAyB;EAK7CC,WAAWA,CACPC,QAAqC,EACrCC,cAAoC,EACpCC,WAAkC,EACpC;IACE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,OAA8B,EAAE;IACvE,MAAM;MAAEC;IAAM,CAAC,GAAGD,OAAO;IAEzB,MAAME,aAAa,GAAG,MAAM,IAAI,CAACR,QAAQ,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;;IAEhE;AACR;AACA;AACA;AACA;AACA;IACQ,IAAI,CAACG,aAAa,IAAID,KAAK,EAAE;MACzB,MAAM;QAAEF,EAAE,EAAEI;MAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACL,EAAE,CAAC;MAC3C,MAAMM,KAAK,GAAG;QACVN,EAAE;QACFI;MACJ,CAAa;MACb,OAAO,MAAM,IAAI,CAACP,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;QAAEO;MAAM,CAAC,CAAC;IAC3D;;IAEA;AACR;AACA;IACQ,IAAI,CAACH,aAAa,EAAE;MAChB,MAAM,IAAII,6BAAa,CAAC,UAAUP,EAAE,kBAAkB,CAAC;IAC3D;IAEA,MAAM;MAAEM;IAAM,CAAC,GAAG,MAAM,IAAI,CAACV,cAAc,CAACE,OAAO,CAACC,KAAK,EAAEI,aAAa,CAAC;IAEzE,MAAM,IAAI,CAACN,WAAW,CAACC,OAAO,CAACC,KAAK,EAAE;MAAEO;IAAM,CAAC,CAAC;EACpD;AACJ;AAACE,OAAA,CAAAf,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IDeleteEntryOperation } from "../../abstractions";
2
- import { CmsEntryStorageOperations, CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
1
+ import type { IDeleteEntryOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperations, CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
3
3
  export declare class DeleteEntryOperation implements IDeleteEntryOperation {
4
4
  private operation;
5
5
  constructor(operation: CmsEntryStorageOperations["delete"]);
@@ -1 +1 @@
1
- {"version":3,"names":["DeleteEntryOperation","constructor","operation","execute","model","params","exports"],"sources":["DeleteEntryOperation.ts"],"sourcesContent":["import { IDeleteEntryOperation } from \"../../abstractions\";\nimport {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsDeleteParams,\n CmsModel\n} from \"~/types\";\n\nexport class DeleteEntryOperation implements IDeleteEntryOperation {\n private operation: CmsEntryStorageOperations[\"delete\"];\n\n constructor(operation: CmsEntryStorageOperations[\"delete\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) {\n await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,oBAAoB,CAAkC;EAG/DC,WAAWA,CAACC,SAA8C,EAAE;IACxD,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA6C,EAAE;IAC1E,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EACvC;AACJ;AAACC,OAAA,CAAAN,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["DeleteEntryOperation","constructor","operation","execute","model","params","exports"],"sources":["DeleteEntryOperation.ts"],"sourcesContent":["import type { IDeleteEntryOperation } from \"../../abstractions\";\nimport type {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsDeleteParams,\n CmsModel\n} from \"~/types\";\n\nexport class DeleteEntryOperation implements IDeleteEntryOperation {\n private operation: CmsEntryStorageOperations[\"delete\"];\n\n constructor(operation: CmsEntryStorageOperations[\"delete\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) {\n await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,oBAAoB,CAAkC;EAG/DC,WAAWA,CAACC,SAA8C,EAAE;IACxD,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA6C,EAAE;IAC1E,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EACvC;AACJ;AAACC,OAAA,CAAAN,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { IDeleteEntryOperation } from "../../abstractions";
2
- import { CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
3
- import { DeleteEntryUseCasesTopics } from "./index";
1
+ import type { IDeleteEntryOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
3
+ import type { DeleteEntryUseCasesTopics } from "./index";
4
4
  export declare class DeleteEntryOperationWithEvents implements IDeleteEntryOperation {
5
5
  private topics;
6
6
  private operation;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","DeleteEntryOperationWithEvents","constructor","topics","operation","execute","model","params","entry","onEntryBeforeDelete","publish","permanent","onEntryAfterDelete","ex","onEntryDeleteError","error","WebinyError","message","code","exports"],"sources":["DeleteEntryOperationWithEvents.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { IDeleteEntryOperation } from \"../../abstractions\";\nimport { CmsEntryStorageOperationsDeleteParams, CmsModel } from \"~/types\";\nimport { DeleteEntryUseCasesTopics } from \"./index\";\n\nexport class DeleteEntryOperationWithEvents implements IDeleteEntryOperation {\n private topics: DeleteEntryUseCasesTopics;\n private operation: IDeleteEntryOperation;\n\n constructor(topics: DeleteEntryUseCasesTopics, operation: IDeleteEntryOperation) {\n this.topics = topics;\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) {\n const { entry } = params;\n try {\n await this.topics.onEntryBeforeDelete.publish({\n entry,\n model,\n permanent: true\n });\n\n await this.operation.execute(model, params);\n\n await this.topics.onEntryAfterDelete.publish({\n entry,\n model,\n permanent: true\n });\n } catch (ex) {\n await this.topics.onEntryDeleteError.publish({\n entry,\n model,\n permanent: true,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not delete entry.\",\n ex.code || \"DELETE_ERROR\",\n {\n entry\n }\n );\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,MAAMC,8BAA8B,CAAkC;EAIzEC,WAAWA,CAACC,MAAiC,EAAEC,SAAgC,EAAE;IAC7E,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA6C,EAAE;IAC1E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IACxB,IAAI;MACA,MAAM,IAAI,CAACJ,MAAM,CAACM,mBAAmB,CAACC,OAAO,CAAC;QAC1CF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;MAEF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;MAE3C,MAAM,IAAI,CAACJ,MAAM,CAACS,kBAAkB,CAACF,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;IACN,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAI,CAACV,MAAM,CAACW,kBAAkB,CAACJ,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAEF;MACX,CAAC,CAAC;MACF,MAAM,IAAIG,cAAW,CACjBH,EAAE,CAACI,OAAO,IAAI,yBAAyB,EACvCJ,EAAE,CAACK,IAAI,IAAI,cAAc,EACzB;QACIV;MACJ,CACJ,CAAC;IACL;EACJ;AACJ;AAACW,OAAA,CAAAlB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","DeleteEntryOperationWithEvents","constructor","topics","operation","execute","model","params","entry","onEntryBeforeDelete","publish","permanent","onEntryAfterDelete","ex","onEntryDeleteError","error","WebinyError","message","code","exports"],"sources":["DeleteEntryOperationWithEvents.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { IDeleteEntryOperation } from \"../../abstractions\";\nimport type { CmsEntryStorageOperationsDeleteParams, CmsModel } from \"~/types\";\nimport type { DeleteEntryUseCasesTopics } from \"./index\";\n\nexport class DeleteEntryOperationWithEvents implements IDeleteEntryOperation {\n private topics: DeleteEntryUseCasesTopics;\n private operation: IDeleteEntryOperation;\n\n constructor(topics: DeleteEntryUseCasesTopics, operation: IDeleteEntryOperation) {\n this.topics = topics;\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsDeleteParams) {\n const { entry } = params;\n try {\n await this.topics.onEntryBeforeDelete.publish({\n entry,\n model,\n permanent: true\n });\n\n await this.operation.execute(model, params);\n\n await this.topics.onEntryAfterDelete.publish({\n entry,\n model,\n permanent: true\n });\n } catch (ex) {\n await this.topics.onEntryDeleteError.publish({\n entry,\n model,\n permanent: true,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not delete entry.\",\n ex.code || \"DELETE_ERROR\",\n {\n entry\n }\n );\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,MAAMC,8BAA8B,CAAkC;EAIzEC,WAAWA,CAACC,MAAiC,EAAEC,SAAgC,EAAE;IAC7E,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA6C,EAAE;IAC1E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IACxB,IAAI;MACA,MAAM,IAAI,CAACJ,MAAM,CAACM,mBAAmB,CAACC,OAAO,CAAC;QAC1CF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;MAEF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;MAE3C,MAAM,IAAI,CAACJ,MAAM,CAACS,kBAAkB,CAACF,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;IACN,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAI,CAACV,MAAM,CAACW,kBAAkB,CAACJ,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE,IAAI;QACfI,KAAK,EAAEF;MACX,CAAC,CAAC;MACF,MAAM,IAAIG,cAAW,CACjBH,EAAE,CAACI,OAAO,IAAI,yBAAyB,EACvCJ,EAAE,CAACK,IAAI,IAAI,cAAc,EACzB;QACIV;MACJ,CACJ,CAAC;IACL;EACJ;AACJ;AAACW,OAAA,CAAAlB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { IDeleteEntry } from "../../abstractions";
2
- import { AccessControl } from "../../../AccessControl/AccessControl";
3
- import { CmsDeleteEntryOptions, CmsModel } from "../../../../types";
1
+ import type { IDeleteEntry } from "../../abstractions";
2
+ import type { AccessControl } from "../../../AccessControl/AccessControl";
3
+ import type { CmsDeleteEntryOptions, CmsModel } from "../../../../types";
4
4
  export declare class DeleteEntrySecure implements IDeleteEntry {
5
5
  private accessControl;
6
6
  private useCase;
@@ -1 +1 @@
1
- {"version":3,"names":["DeleteEntrySecure","constructor","accessControl","useCase","execute","model","id","options","ensureCanAccessEntry","rwd","exports"],"sources":["DeleteEntrySecure.ts"],"sourcesContent":["import { IDeleteEntry } from \"~/crud/contentEntry/abstractions\";\nimport { AccessControl } from \"~/crud/AccessControl/AccessControl\";\nimport { CmsDeleteEntryOptions, CmsModel } from \"~/types\";\n\nexport class DeleteEntrySecure implements IDeleteEntry {\n private accessControl: AccessControl;\n private useCase: IDeleteEntry;\n\n constructor(accessControl: AccessControl, useCase: IDeleteEntry) {\n this.accessControl = accessControl;\n this.useCase = useCase;\n }\n\n async execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions) {\n await this.accessControl.ensureCanAccessEntry({ model, rwd: \"d\" });\n await this.useCase.execute(model, id, options);\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,iBAAiB,CAAyB;EAInDC,WAAWA,CAACC,aAA4B,EAAEC,OAAqB,EAAE;IAC7D,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,OAA8B,EAAE;IACvE,MAAM,IAAI,CAACL,aAAa,CAACM,oBAAoB,CAAC;MAAEH,KAAK;MAAEI,GAAG,EAAE;IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,CAACN,OAAO,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;EAClD;AACJ;AAACG,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["DeleteEntrySecure","constructor","accessControl","useCase","execute","model","id","options","ensureCanAccessEntry","rwd","exports"],"sources":["DeleteEntrySecure.ts"],"sourcesContent":["import type { IDeleteEntry } from \"~/crud/contentEntry/abstractions\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl\";\nimport type { CmsDeleteEntryOptions, CmsModel } from \"~/types\";\n\nexport class DeleteEntrySecure implements IDeleteEntry {\n private accessControl: AccessControl;\n private useCase: IDeleteEntry;\n\n constructor(accessControl: AccessControl, useCase: IDeleteEntry) {\n this.accessControl = accessControl;\n this.useCase = useCase;\n }\n\n async execute(model: CmsModel, id: string, options: CmsDeleteEntryOptions) {\n await this.accessControl.ensureCanAccessEntry({ model, rwd: \"d\" });\n await this.useCase.execute(model, id, options);\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,iBAAiB,CAAyB;EAInDC,WAAWA,CAACC,aAA4B,EAAEC,OAAqB,EAAE;IAC7D,IAAI,CAACD,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAEC,OAA8B,EAAE;IACvE,MAAM,IAAI,CAACL,aAAa,CAACM,oBAAoB,CAAC;MAAEH,KAAK;MAAEI,GAAG,EAAE;IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,CAACN,OAAO,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;EAClD;AACJ;AAACG,OAAA,CAAAV,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { IDeleteEntry, IGetLatestRevisionByEntryId, IMoveEntryToBinOperation } from "../../abstractions";
2
- import { TransformEntryMoveToBin } from "./TransformEntryMoveToBin";
3
- import { CmsModel } from "../../../../types";
1
+ import type { IDeleteEntry, IGetLatestRevisionByEntryId, IMoveEntryToBinOperation } from "../../abstractions";
2
+ import type { TransformEntryMoveToBin } from "./TransformEntryMoveToBin";
3
+ import type { CmsModel } from "../../../../types";
4
4
  export declare class MoveEntryToBin implements IDeleteEntry {
5
5
  private getEntry;
6
6
  private transformEntry;
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","MoveEntryToBin","constructor","getEntry","transformEntry","moveEntryToBin","execute","model","id","entryToDelete","NotFoundError","entry","storageEntry","exports"],"sources":["MoveEntryToBin.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n IDeleteEntry,\n IGetLatestRevisionByEntryId,\n IMoveEntryToBinOperation\n} from \"~/crud/contentEntry/abstractions\";\nimport { TransformEntryMoveToBin } from \"./TransformEntryMoveToBin\";\nimport { CmsModel } from \"~/types\";\n\nexport class MoveEntryToBin implements IDeleteEntry {\n private getEntry: IGetLatestRevisionByEntryId;\n private transformEntry: TransformEntryMoveToBin;\n private moveEntryToBin: IMoveEntryToBinOperation;\n\n constructor(\n getEntry: IGetLatestRevisionByEntryId,\n transformEntry: TransformEntryMoveToBin,\n moveEntryToBin: IMoveEntryToBinOperation\n ) {\n this.getEntry = getEntry;\n this.transformEntry = transformEntry;\n this.moveEntryToBin = moveEntryToBin;\n }\n\n async execute(model: CmsModel, id: string) {\n const entryToDelete = await this.getEntry.execute(model, { id });\n\n if (!entryToDelete) {\n throw new NotFoundError(`Entry \"${id}\" was not found!`);\n }\n\n const { entry, storageEntry } = await this.transformEntry.execute(model, entryToDelete);\n\n await this.moveEntryToBin.execute(model, { entry, storageEntry });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AASO,MAAMC,cAAc,CAAyB;EAKhDC,WAAWA,CACPC,QAAqC,EACrCC,cAAuC,EACvCC,cAAwC,EAC1C;IACE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAE;IACvC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,QAAQ,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;IAEhE,IAAI,CAACC,aAAa,EAAE;MAChB,MAAM,IAAIC,6BAAa,CAAC,UAAUF,EAAE,kBAAkB,CAAC;IAC3D;IAEA,MAAM;MAAEG,KAAK;MAAEC;IAAa,CAAC,GAAG,MAAM,IAAI,CAACR,cAAc,CAACE,OAAO,CAACC,KAAK,EAAEE,aAAa,CAAC;IAEvF,MAAM,IAAI,CAACJ,cAAc,CAACC,OAAO,CAACC,KAAK,EAAE;MAAEI,KAAK;MAAEC;IAAa,CAAC,CAAC;EACrE;AACJ;AAACC,OAAA,CAAAZ,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["_handlerGraphql","require","MoveEntryToBin","constructor","getEntry","transformEntry","moveEntryToBin","execute","model","id","entryToDelete","NotFoundError","entry","storageEntry","exports"],"sources":["MoveEntryToBin.ts"],"sourcesContent":["import { NotFoundError } from \"@webiny/handler-graphql\";\nimport type {\n IDeleteEntry,\n IGetLatestRevisionByEntryId,\n IMoveEntryToBinOperation\n} from \"~/crud/contentEntry/abstractions\";\nimport type { TransformEntryMoveToBin } from \"./TransformEntryMoveToBin\";\nimport type { CmsModel } from \"~/types\";\n\nexport class MoveEntryToBin implements IDeleteEntry {\n private getEntry: IGetLatestRevisionByEntryId;\n private transformEntry: TransformEntryMoveToBin;\n private moveEntryToBin: IMoveEntryToBinOperation;\n\n constructor(\n getEntry: IGetLatestRevisionByEntryId,\n transformEntry: TransformEntryMoveToBin,\n moveEntryToBin: IMoveEntryToBinOperation\n ) {\n this.getEntry = getEntry;\n this.transformEntry = transformEntry;\n this.moveEntryToBin = moveEntryToBin;\n }\n\n async execute(model: CmsModel, id: string) {\n const entryToDelete = await this.getEntry.execute(model, { id });\n\n if (!entryToDelete) {\n throw new NotFoundError(`Entry \"${id}\" was not found!`);\n }\n\n const { entry, storageEntry } = await this.transformEntry.execute(model, entryToDelete);\n\n await this.moveEntryToBin.execute(model, { entry, storageEntry });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AASO,MAAMC,cAAc,CAAyB;EAKhDC,WAAWA,CACPC,QAAqC,EACrCC,cAAuC,EACvCC,cAAwC,EAC1C;IACE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,cAAc,GAAGA,cAAc;EACxC;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAE;IACvC,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACN,QAAQ,CAACG,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;IAEhE,IAAI,CAACC,aAAa,EAAE;MAChB,MAAM,IAAIC,6BAAa,CAAC,UAAUF,EAAE,kBAAkB,CAAC;IAC3D;IAEA,MAAM;MAAEG,KAAK;MAAEC;IAAa,CAAC,GAAG,MAAM,IAAI,CAACR,cAAc,CAACE,OAAO,CAACC,KAAK,EAAEE,aAAa,CAAC;IAEvF,MAAM,IAAI,CAACJ,cAAc,CAACC,OAAO,CAACC,KAAK,EAAE;MAAEI,KAAK;MAAEC;IAAa,CAAC,CAAC;EACrE;AACJ;AAACC,OAAA,CAAAZ,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IMoveEntryToBinOperation } from "../../abstractions";
2
- import { CmsEntryStorageOperations, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
1
+ import type { IMoveEntryToBinOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperations, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
3
3
  export declare class MoveEntryToBinOperation implements IMoveEntryToBinOperation {
4
4
  private operation;
5
5
  constructor(operation: CmsEntryStorageOperations["moveToBin"]);
@@ -1 +1 @@
1
- {"version":3,"names":["MoveEntryToBinOperation","constructor","operation","execute","model","params","exports"],"sources":["MoveEntryToBinOperation.ts"],"sourcesContent":["import { IMoveEntryToBinOperation } from \"~/crud/contentEntry/abstractions\";\nimport {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsMoveToBinParams,\n CmsModel\n} from \"~/types\";\n\nexport class MoveEntryToBinOperation implements IMoveEntryToBinOperation {\n private operation: CmsEntryStorageOperations[\"moveToBin\"];\n\n constructor(operation: CmsEntryStorageOperations[\"moveToBin\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsMoveToBinParams) {\n await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,uBAAuB,CAAqC;EAGrEC,WAAWA,CAACC,SAAiD,EAAE;IAC3D,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAAgD,EAAE;IAC7E,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EACvC;AACJ;AAACC,OAAA,CAAAN,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["MoveEntryToBinOperation","constructor","operation","execute","model","params","exports"],"sources":["MoveEntryToBinOperation.ts"],"sourcesContent":["import type { IMoveEntryToBinOperation } from \"~/crud/contentEntry/abstractions\";\nimport type {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsMoveToBinParams,\n CmsModel\n} from \"~/types\";\n\nexport class MoveEntryToBinOperation implements IMoveEntryToBinOperation {\n private operation: CmsEntryStorageOperations[\"moveToBin\"];\n\n constructor(operation: CmsEntryStorageOperations[\"moveToBin\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsMoveToBinParams) {\n await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,uBAAuB,CAAqC;EAGrEC,WAAWA,CAACC,SAAiD,EAAE;IAC3D,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAAgD,EAAE;IAC7E,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EACvC;AACJ;AAACC,OAAA,CAAAN,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { IMoveEntryToBinOperation } from "../../abstractions";
2
- import { CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
3
- import { DeleteEntryUseCasesTopics } from "./index";
1
+ import type { IMoveEntryToBinOperation } from "../../abstractions";
2
+ import type { CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
3
+ import type { DeleteEntryUseCasesTopics } from "./index";
4
4
  export declare class MoveEntryToBinOperationWithEvents implements IMoveEntryToBinOperation {
5
5
  private topics;
6
6
  private operation;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","MoveEntryToBinOperationWithEvents","constructor","topics","operation","execute","model","params","entry","onEntryBeforeDelete","publish","permanent","onEntryAfterDelete","ex","onEntryDeleteError","error","WebinyError","message","code","exports"],"sources":["MoveEntryToBinOperationWithEvents.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { IMoveEntryToBinOperation } from \"../../abstractions\";\nimport { CmsEntryStorageOperationsMoveToBinParams, CmsModel } from \"~/types\";\nimport { DeleteEntryUseCasesTopics } from \"./index\";\n\nexport class MoveEntryToBinOperationWithEvents implements IMoveEntryToBinOperation {\n private topics: DeleteEntryUseCasesTopics;\n private operation: IMoveEntryToBinOperation;\n\n constructor(topics: DeleteEntryUseCasesTopics, operation: IMoveEntryToBinOperation) {\n this.topics = topics;\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsMoveToBinParams) {\n const { entry } = params;\n try {\n await this.topics.onEntryBeforeDelete.publish({\n entry,\n model,\n permanent: false\n });\n\n await this.operation.execute(model, params);\n\n await this.topics.onEntryAfterDelete.publish({\n entry,\n model,\n permanent: false\n });\n } catch (ex) {\n await this.topics.onEntryDeleteError.publish({\n entry,\n model,\n permanent: false,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not delete entry.\",\n ex.code || \"DELETE_ERROR\",\n {\n entry\n }\n );\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,MAAMC,iCAAiC,CAAqC;EAI/EC,WAAWA,CAACC,MAAiC,EAAEC,SAAmC,EAAE;IAChF,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAAgD,EAAE;IAC7E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IACxB,IAAI;MACA,MAAM,IAAI,CAACJ,MAAM,CAACM,mBAAmB,CAACC,OAAO,CAAC;QAC1CF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;MAEF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;MAE3C,MAAM,IAAI,CAACJ,MAAM,CAACS,kBAAkB,CAACF,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;IACN,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAI,CAACV,MAAM,CAACW,kBAAkB,CAACJ,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE,KAAK;QAChBI,KAAK,EAAEF;MACX,CAAC,CAAC;MACF,MAAM,IAAIG,cAAW,CACjBH,EAAE,CAACI,OAAO,IAAI,yBAAyB,EACvCJ,EAAE,CAACK,IAAI,IAAI,cAAc,EACzB;QACIV;MACJ,CACJ,CAAC;IACL;EACJ;AACJ;AAACW,OAAA,CAAAlB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","MoveEntryToBinOperationWithEvents","constructor","topics","operation","execute","model","params","entry","onEntryBeforeDelete","publish","permanent","onEntryAfterDelete","ex","onEntryDeleteError","error","WebinyError","message","code","exports"],"sources":["MoveEntryToBinOperationWithEvents.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { IMoveEntryToBinOperation } from \"../../abstractions\";\nimport type { CmsEntryStorageOperationsMoveToBinParams, CmsModel } from \"~/types\";\nimport type { DeleteEntryUseCasesTopics } from \"./index\";\n\nexport class MoveEntryToBinOperationWithEvents implements IMoveEntryToBinOperation {\n private topics: DeleteEntryUseCasesTopics;\n private operation: IMoveEntryToBinOperation;\n\n constructor(topics: DeleteEntryUseCasesTopics, operation: IMoveEntryToBinOperation) {\n this.topics = topics;\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsMoveToBinParams) {\n const { entry } = params;\n try {\n await this.topics.onEntryBeforeDelete.publish({\n entry,\n model,\n permanent: false\n });\n\n await this.operation.execute(model, params);\n\n await this.topics.onEntryAfterDelete.publish({\n entry,\n model,\n permanent: false\n });\n } catch (ex) {\n await this.topics.onEntryDeleteError.publish({\n entry,\n model,\n permanent: false,\n error: ex\n });\n throw new WebinyError(\n ex.message || \"Could not delete entry.\",\n ex.code || \"DELETE_ERROR\",\n {\n entry\n }\n );\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKO,MAAMC,iCAAiC,CAAqC;EAI/EC,WAAWA,CAACC,MAAiC,EAAEC,SAAmC,EAAE;IAChF,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAAgD,EAAE;IAC7E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IACxB,IAAI;MACA,MAAM,IAAI,CAACJ,MAAM,CAACM,mBAAmB,CAACC,OAAO,CAAC;QAC1CF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;MAEF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,MAAM,CAAC;MAE3C,MAAM,IAAI,CAACJ,MAAM,CAACS,kBAAkB,CAACF,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE;MACf,CAAC,CAAC;IACN,CAAC,CAAC,OAAOE,EAAE,EAAE;MACT,MAAM,IAAI,CAACV,MAAM,CAACW,kBAAkB,CAACJ,OAAO,CAAC;QACzCF,KAAK;QACLF,KAAK;QACLK,SAAS,EAAE,KAAK;QAChBI,KAAK,EAAEF;MACX,CAAC,CAAC;MACF,MAAM,IAAIG,cAAW,CACjBH,EAAE,CAACI,OAAO,IAAI,yBAAyB,EACvCJ,EAAE,CAACK,IAAI,IAAI,cAAc,EACzB;QACIV;MACJ,CACJ,CAAC;IACL;EACJ;AACJ;AAACW,OAAA,CAAAlB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { CmsContext, CmsEntry, CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
1
+ import type { CmsContext, CmsEntry, CmsEntryStorageOperationsDeleteParams, CmsModel } from "../../../../types";
2
2
  export declare class TransformEntryDelete {
3
3
  private context;
4
4
  constructor(context: CmsContext);
@@ -1 +1 @@
1
- {"version":3,"names":["_entryStorage","require","TransformEntryDelete","constructor","context","execute","model","initialEntry","entry","entryFromStorageTransform","exports"],"sources":["TransformEntryDelete.ts"],"sourcesContent":["import { entryFromStorageTransform } from \"~/utils/entryStorage\";\nimport { CmsContext, CmsEntry, CmsEntryStorageOperationsDeleteParams, CmsModel } from \"~/types\";\n\nexport class TransformEntryDelete {\n private context: CmsContext;\n\n constructor(context: CmsContext) {\n this.context = context;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsDeleteParams> {\n const entry = await entryFromStorageTransform(this.context, model, initialEntry);\n\n return {\n entry\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAGO,MAAMC,oBAAoB,CAAC;EAG9BC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EACwB;IAC9C,MAAMC,KAAK,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACL,OAAO,EAAEE,KAAK,EAAEC,YAAY,CAAC;IAEhF,OAAO;MACHC;IACJ,CAAC;EACL;AACJ;AAACE,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_entryStorage","require","TransformEntryDelete","constructor","context","execute","model","initialEntry","entry","entryFromStorageTransform","exports"],"sources":["TransformEntryDelete.ts"],"sourcesContent":["import { entryFromStorageTransform } from \"~/utils/entryStorage\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryStorageOperationsDeleteParams,\n CmsModel\n} from \"~/types\";\n\nexport class TransformEntryDelete {\n private context: CmsContext;\n\n constructor(context: CmsContext) {\n this.context = context;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsDeleteParams> {\n const entry = await entryFromStorageTransform(this.context, model, initialEntry);\n\n return {\n entry\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAQO,MAAMC,oBAAoB,CAAC;EAG9BC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EACwB;IAC9C,MAAMC,KAAK,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACL,OAAO,EAAEE,KAAK,EAAEC,YAAY,CAAC;IAEhF,OAAO;MACHC;IACJ,CAAC;EACL;AACJ;AAACE,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { SecurityIdentity } from "@webiny/api-security/types";
2
- import { CmsContext, CmsEntry, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
1
+ import type { SecurityIdentity } from "@webiny/api-security/types";
2
+ import type { CmsContext, CmsEntry, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from "../../../../types";
3
3
  export declare class TransformEntryMoveToBin {
4
4
  private context;
5
5
  private getIdentity;
@@ -1 +1 @@
1
- {"version":3,"names":["_entryStorage","require","_date","_identity","_constants","TransformEntryMoveToBin","constructor","context","getIdentity","execute","model","initialEntry","originalEntry","entryFromStorageTransform","entry","createDeleteEntryData","storageEntry","entryToStorageTransform","currentDateTime","Date","toISOString","currentIdentity","wbyDeleted","location","folderId","ROOT_FOLDER","binOriginalFolderId","deletedOn","getDate","deletedBy","revisionDeletedOn","revisionDeletedBy","exports"],"sources":["TransformEntryMoveToBin.ts"],"sourcesContent":["import { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { entryFromStorageTransform, entryToStorageTransform } from \"~/utils/entryStorage\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport { CmsContext, CmsEntry, CmsEntryStorageOperationsMoveToBinParams, CmsModel } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class TransformEntryMoveToBin {\n private context: CmsContext;\n private getIdentity: () => SecurityIdentity;\n\n constructor(context: CmsContext, getIdentity: () => SecurityIdentity) {\n this.context = context;\n this.getIdentity = getIdentity;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsMoveToBinParams> {\n const originalEntry = await entryFromStorageTransform(this.context, model, initialEntry);\n const entry = await this.createDeleteEntryData(model, originalEntry);\n const storageEntry = await entryToStorageTransform(this.context, model, entry);\n\n return {\n entry,\n storageEntry\n };\n }\n\n private async createDeleteEntryData(model: CmsModel, originalEntry: CmsEntry) {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.getIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n wbyDeleted: true,\n\n /**\n * Entry location fields. 👇\n */\n location: {\n folderId: ROOT_FOLDER\n },\n binOriginalFolderId: originalEntry.location?.folderId,\n\n /**\n * Entry-level meta fields. 👇\n */\n deletedOn: getDate(currentDateTime, null),\n deletedBy: getIdentity(currentIdentity, null),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionDeletedOn: getDate(currentDateTime, null),\n revisionDeletedBy: getIdentity(currentIdentity, null)\n };\n\n return entry;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAEO,MAAMI,uBAAuB,CAAC;EAIjCC,WAAWA,CAACC,OAAmB,EAAEC,WAAmC,EAAE;IAClE,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EAC2B;IACjD,MAAMC,aAAa,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACN,OAAO,EAAEG,KAAK,EAAEC,YAAY,CAAC;IACxF,MAAMG,KAAK,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACL,KAAK,EAAEE,aAAa,CAAC;IACpE,MAAMI,YAAY,GAAG,MAAM,IAAAC,qCAAuB,EAAC,IAAI,CAACV,OAAO,EAAEG,KAAK,EAAEI,KAAK,CAAC;IAE9E,OAAO;MACHA,KAAK;MACLE;IACJ,CAAC;EACL;EAEA,MAAcD,qBAAqBA,CAACL,KAAe,EAAEE,aAAuB,EAAE;IAC1E,MAAMM,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAG,IAAI,CAACb,WAAW,CAAC,CAAC;IAE1C,MAAMM,KAAe,GAAG;MACpB,GAAGF,aAAa;MAChBU,UAAU,EAAE,IAAI;MAEhB;AACZ;AACA;MACYC,QAAQ,EAAE;QACNC,QAAQ,EAAEC;MACd,CAAC;MACDC,mBAAmB,EAAEd,aAAa,CAACW,QAAQ,EAAEC,QAAQ;MAErD;AACZ;AACA;MACYG,SAAS,EAAE,IAAAC,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACzCW,SAAS,EAAE,IAAArB,qBAAW,EAACa,eAAe,EAAE,IAAI,CAAC;MAE7C;AACZ;AACA;MACYS,iBAAiB,EAAE,IAAAF,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACjDa,iBAAiB,EAAE,IAAAvB,qBAAW,EAACa,eAAe,EAAE,IAAI;IACxD,CAAC;IAED,OAAOP,KAAK;EAChB;AACJ;AAACkB,OAAA,CAAA3B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_entryStorage","require","_date","_identity","_constants","TransformEntryMoveToBin","constructor","context","getIdentity","execute","model","initialEntry","originalEntry","entryFromStorageTransform","entry","createDeleteEntryData","storageEntry","entryToStorageTransform","currentDateTime","Date","toISOString","currentIdentity","wbyDeleted","location","folderId","ROOT_FOLDER","binOriginalFolderId","deletedOn","getDate","deletedBy","revisionDeletedOn","revisionDeletedBy","exports"],"sources":["TransformEntryMoveToBin.ts"],"sourcesContent":["import type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { entryFromStorageTransform, entryToStorageTransform } from \"~/utils/entryStorage\";\nimport { getDate } from \"~/utils/date\";\nimport { getIdentity } from \"~/utils/identity\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsEntryStorageOperationsMoveToBinParams,\n CmsModel\n} from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class TransformEntryMoveToBin {\n private context: CmsContext;\n private getIdentity: () => SecurityIdentity;\n\n constructor(context: CmsContext, getIdentity: () => SecurityIdentity) {\n this.context = context;\n this.getIdentity = getIdentity;\n }\n async execute(\n model: CmsModel,\n initialEntry: CmsEntry\n ): Promise<CmsEntryStorageOperationsMoveToBinParams> {\n const originalEntry = await entryFromStorageTransform(this.context, model, initialEntry);\n const entry = await this.createDeleteEntryData(model, originalEntry);\n const storageEntry = await entryToStorageTransform(this.context, model, entry);\n\n return {\n entry,\n storageEntry\n };\n }\n\n private async createDeleteEntryData(model: CmsModel, originalEntry: CmsEntry) {\n const currentDateTime = new Date().toISOString();\n const currentIdentity = this.getIdentity();\n\n const entry: CmsEntry = {\n ...originalEntry,\n wbyDeleted: true,\n\n /**\n * Entry location fields. 👇\n */\n location: {\n folderId: ROOT_FOLDER\n },\n binOriginalFolderId: originalEntry.location?.folderId,\n\n /**\n * Entry-level meta fields. 👇\n */\n deletedOn: getDate(currentDateTime, null),\n deletedBy: getIdentity(currentIdentity, null),\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionDeletedOn: getDate(currentDateTime, null),\n revisionDeletedBy: getIdentity(currentIdentity, null)\n };\n\n return entry;\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAOA,IAAAG,UAAA,GAAAH,OAAA;AAEO,MAAMI,uBAAuB,CAAC;EAIjCC,WAAWA,CAACC,OAAmB,EAAEC,WAAmC,EAAE;IAClE,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,WAAW,GAAGA,WAAW;EAClC;EACA,MAAMC,OAAOA,CACTC,KAAe,EACfC,YAAsB,EAC2B;IACjD,MAAMC,aAAa,GAAG,MAAM,IAAAC,uCAAyB,EAAC,IAAI,CAACN,OAAO,EAAEG,KAAK,EAAEC,YAAY,CAAC;IACxF,MAAMG,KAAK,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACL,KAAK,EAAEE,aAAa,CAAC;IACpE,MAAMI,YAAY,GAAG,MAAM,IAAAC,qCAAuB,EAAC,IAAI,CAACV,OAAO,EAAEG,KAAK,EAAEI,KAAK,CAAC;IAE9E,OAAO;MACHA,KAAK;MACLE;IACJ,CAAC;EACL;EAEA,MAAcD,qBAAqBA,CAACL,KAAe,EAAEE,aAAuB,EAAE;IAC1E,MAAMM,eAAe,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IAChD,MAAMC,eAAe,GAAG,IAAI,CAACb,WAAW,CAAC,CAAC;IAE1C,MAAMM,KAAe,GAAG;MACpB,GAAGF,aAAa;MAChBU,UAAU,EAAE,IAAI;MAEhB;AACZ;AACA;MACYC,QAAQ,EAAE;QACNC,QAAQ,EAAEC;MACd,CAAC;MACDC,mBAAmB,EAAEd,aAAa,CAACW,QAAQ,EAAEC,QAAQ;MAErD;AACZ;AACA;MACYG,SAAS,EAAE,IAAAC,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACzCW,SAAS,EAAE,IAAArB,qBAAW,EAACa,eAAe,EAAE,IAAI,CAAC;MAE7C;AACZ;AACA;MACYS,iBAAiB,EAAE,IAAAF,aAAO,EAACV,eAAe,EAAE,IAAI,CAAC;MACjDa,iBAAiB,EAAE,IAAAvB,qBAAW,EAACa,eAAe,EAAE,IAAI;IACxD,CAAC;IAED,OAAOP,KAAK;EAChB;AACJ;AAACkB,OAAA,CAAA3B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  import { DeleteEntryOperationWithEvents } from "./DeleteEntryOperationWithEvents";
2
2
  import { DeleteEntrySecure } from "./DeleteEntrySecure";
3
- import { Topic } from "@webiny/pubsub/types";
4
- import { CmsContext, CmsEntryStorageOperations, OnEntryAfterDeleteTopicParams, OnEntryBeforeDeleteTopicParams, OnEntryDeleteErrorTopicParams } from "../../../../types";
5
- import { AccessControl } from "../../../AccessControl/AccessControl";
6
- import { SecurityIdentity } from "@webiny/api-security/types";
7
- import { IGetLatestRevisionByEntryId } from "../../abstractions";
3
+ import type { Topic } from "@webiny/pubsub/types";
4
+ import type { CmsContext, CmsEntryStorageOperations, OnEntryAfterDeleteTopicParams, OnEntryBeforeDeleteTopicParams, OnEntryDeleteErrorTopicParams } from "../../../../types";
5
+ import type { AccessControl } from "../../../AccessControl/AccessControl";
6
+ import type { SecurityIdentity } from "@webiny/api-security/types";
7
+ import type { IGetLatestRevisionByEntryId } from "../../abstractions";
8
8
  export interface DeleteEntryUseCasesTopics {
9
9
  onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;
10
10
  onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;
@@ -1 +1 @@
1
- {"version":3,"names":["_DeleteEntry","require","_DeleteEntryOperation","_DeleteEntryOperationWithEvents","_DeleteEntrySecure","_MoveEntryToBin","_MoveEntryToBinOperation","_MoveEntryToBinOperationWithEvents","_TransformEntryDelete","_TransformEntryMoveToBin","deleteEntryUseCases","params","deleteEntryOperation","DeleteEntryOperation","deleteOperation","deleteEntryOperationWithEvents","DeleteEntryOperationWithEvents","topics","deleteTransform","TransformEntryDelete","context","deleteEntry","DeleteEntry","getEntryWithDeleted","deleteEntrySecure","DeleteEntrySecure","accessControl","moveEntryToBinOperation","MoveEntryToBinOperation","moveToBinOperation","moveEntryToBinOperationWithEvents","MoveEntryToBinOperationWithEvents","moveToBinTransform","TransformEntryMoveToBin","getIdentity","moveEntryToBin","MoveEntryToBin","getEntry","moveEntryToBinSecure","deleteEntryUseCase","moveEntryToBinUseCase","exports"],"sources":["index.ts"],"sourcesContent":["import { DeleteEntry } from \"./DeleteEntry\";\nimport { DeleteEntryOperation } from \"./DeleteEntryOperation\";\nimport { DeleteEntryOperationWithEvents } from \"./DeleteEntryOperationWithEvents\";\nimport { DeleteEntrySecure } from \"./DeleteEntrySecure\";\nimport { MoveEntryToBin } from \"./MoveEntryToBin\";\nimport { MoveEntryToBinOperation } from \"./MoveEntryToBinOperation\";\nimport { MoveEntryToBinOperationWithEvents } from \"./MoveEntryToBinOperationWithEvents\";\nimport { TransformEntryDelete } from \"./TransformEntryDelete\";\nimport { TransformEntryMoveToBin } from \"./TransformEntryMoveToBin\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport {\n CmsContext,\n CmsEntryStorageOperations,\n OnEntryAfterDeleteTopicParams,\n OnEntryBeforeDeleteTopicParams,\n OnEntryDeleteErrorTopicParams\n} from \"~/types\";\nimport { AccessControl } from \"~/crud/AccessControl/AccessControl\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { IGetLatestRevisionByEntryId } from \"~/crud/contentEntry/abstractions\";\n\nexport interface DeleteEntryUseCasesTopics {\n onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;\n}\n\ninterface DeleteEntryUseCasesParams {\n deleteOperation: CmsEntryStorageOperations[\"delete\"];\n moveToBinOperation: CmsEntryStorageOperations[\"moveToBin\"];\n getEntry: IGetLatestRevisionByEntryId;\n getEntryWithDeleted: IGetLatestRevisionByEntryId;\n accessControl: AccessControl;\n topics: DeleteEntryUseCasesTopics;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const deleteEntryUseCases = (params: DeleteEntryUseCasesParams) => {\n /**\n * Delete an entry, destroying it from the database\n */\n const deleteEntryOperation = new DeleteEntryOperation(params.deleteOperation);\n const deleteEntryOperationWithEvents = new DeleteEntryOperationWithEvents(\n params.topics,\n deleteEntryOperation\n );\n const deleteTransform = new TransformEntryDelete(params.context);\n const deleteEntry = new DeleteEntry(\n params.getEntryWithDeleted,\n deleteTransform,\n deleteEntryOperationWithEvents\n );\n const deleteEntrySecure = new DeleteEntrySecure(params.accessControl, deleteEntry);\n\n /**\n * Move entry to the bin, marking it as deleted\n */\n const moveEntryToBinOperation = new MoveEntryToBinOperation(params.moveToBinOperation);\n const moveEntryToBinOperationWithEvents = new MoveEntryToBinOperationWithEvents(\n params.topics,\n moveEntryToBinOperation\n );\n const moveToBinTransform = new TransformEntryMoveToBin(params.context, params.getIdentity);\n const moveEntryToBin = new MoveEntryToBin(\n params.getEntry,\n moveToBinTransform,\n moveEntryToBinOperationWithEvents\n );\n const moveEntryToBinSecure = new DeleteEntrySecure(params.accessControl, moveEntryToBin);\n\n return {\n deleteEntryUseCase: deleteEntrySecure,\n moveEntryToBinUseCase: moveEntryToBinSecure,\n deleteEntryOperation: deleteEntryOperationWithEvents\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,kCAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,wBAAA,GAAAR,OAAA;AA8BO,MAAMS,mBAAmB,GAAIC,MAAiC,IAAK;EACtE;AACJ;AACA;EACI,MAAMC,oBAAoB,GAAG,IAAIC,0CAAoB,CAACF,MAAM,CAACG,eAAe,CAAC;EAC7E,MAAMC,8BAA8B,GAAG,IAAIC,8DAA8B,CACrEL,MAAM,CAACM,MAAM,EACbL,oBACJ,CAAC;EACD,MAAMM,eAAe,GAAG,IAAIC,0CAAoB,CAACR,MAAM,CAACS,OAAO,CAAC;EAChE,MAAMC,WAAW,GAAG,IAAIC,wBAAW,CAC/BX,MAAM,CAACY,mBAAmB,EAC1BL,eAAe,EACfH,8BACJ,CAAC;EACD,MAAMS,iBAAiB,GAAG,IAAIC,oCAAiB,CAACd,MAAM,CAACe,aAAa,EAAEL,WAAW,CAAC;;EAElF;AACJ;AACA;EACI,MAAMM,uBAAuB,GAAG,IAAIC,gDAAuB,CAACjB,MAAM,CAACkB,kBAAkB,CAAC;EACtF,MAAMC,iCAAiC,GAAG,IAAIC,oEAAiC,CAC3EpB,MAAM,CAACM,MAAM,EACbU,uBACJ,CAAC;EACD,MAAMK,kBAAkB,GAAG,IAAIC,gDAAuB,CAACtB,MAAM,CAACS,OAAO,EAAET,MAAM,CAACuB,WAAW,CAAC;EAC1F,MAAMC,cAAc,GAAG,IAAIC,8BAAc,CACrCzB,MAAM,CAAC0B,QAAQ,EACfL,kBAAkB,EAClBF,iCACJ,CAAC;EACD,MAAMQ,oBAAoB,GAAG,IAAIb,oCAAiB,CAACd,MAAM,CAACe,aAAa,EAAES,cAAc,CAAC;EAExF,OAAO;IACHI,kBAAkB,EAAEf,iBAAiB;IACrCgB,qBAAqB,EAAEF,oBAAoB;IAC3C1B,oBAAoB,EAAEG;EAC1B,CAAC;AACL,CAAC;AAAC0B,OAAA,CAAA/B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_DeleteEntry","require","_DeleteEntryOperation","_DeleteEntryOperationWithEvents","_DeleteEntrySecure","_MoveEntryToBin","_MoveEntryToBinOperation","_MoveEntryToBinOperationWithEvents","_TransformEntryDelete","_TransformEntryMoveToBin","deleteEntryUseCases","params","deleteEntryOperation","DeleteEntryOperation","deleteOperation","deleteEntryOperationWithEvents","DeleteEntryOperationWithEvents","topics","deleteTransform","TransformEntryDelete","context","deleteEntry","DeleteEntry","getEntryWithDeleted","deleteEntrySecure","DeleteEntrySecure","accessControl","moveEntryToBinOperation","MoveEntryToBinOperation","moveToBinOperation","moveEntryToBinOperationWithEvents","MoveEntryToBinOperationWithEvents","moveToBinTransform","TransformEntryMoveToBin","getIdentity","moveEntryToBin","MoveEntryToBin","getEntry","moveEntryToBinSecure","deleteEntryUseCase","moveEntryToBinUseCase","exports"],"sources":["index.ts"],"sourcesContent":["import { DeleteEntry } from \"./DeleteEntry\";\nimport { DeleteEntryOperation } from \"./DeleteEntryOperation\";\nimport { DeleteEntryOperationWithEvents } from \"./DeleteEntryOperationWithEvents\";\nimport { DeleteEntrySecure } from \"./DeleteEntrySecure\";\nimport { MoveEntryToBin } from \"./MoveEntryToBin\";\nimport { MoveEntryToBinOperation } from \"./MoveEntryToBinOperation\";\nimport { MoveEntryToBinOperationWithEvents } from \"./MoveEntryToBinOperationWithEvents\";\nimport { TransformEntryDelete } from \"./TransformEntryDelete\";\nimport { TransformEntryMoveToBin } from \"./TransformEntryMoveToBin\";\nimport type { Topic } from \"@webiny/pubsub/types\";\nimport type {\n CmsContext,\n CmsEntryStorageOperations,\n OnEntryAfterDeleteTopicParams,\n OnEntryBeforeDeleteTopicParams,\n OnEntryDeleteErrorTopicParams\n} from \"~/types\";\nimport type { AccessControl } from \"~/crud/AccessControl/AccessControl\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport type { IGetLatestRevisionByEntryId } from \"~/crud/contentEntry/abstractions\";\n\nexport interface DeleteEntryUseCasesTopics {\n onEntryBeforeDelete: Topic<OnEntryBeforeDeleteTopicParams>;\n onEntryAfterDelete: Topic<OnEntryAfterDeleteTopicParams>;\n onEntryDeleteError: Topic<OnEntryDeleteErrorTopicParams>;\n}\n\ninterface DeleteEntryUseCasesParams {\n deleteOperation: CmsEntryStorageOperations[\"delete\"];\n moveToBinOperation: CmsEntryStorageOperations[\"moveToBin\"];\n getEntry: IGetLatestRevisionByEntryId;\n getEntryWithDeleted: IGetLatestRevisionByEntryId;\n accessControl: AccessControl;\n topics: DeleteEntryUseCasesTopics;\n context: CmsContext;\n getIdentity: () => SecurityIdentity;\n}\n\nexport const deleteEntryUseCases = (params: DeleteEntryUseCasesParams) => {\n /**\n * Delete an entry, destroying it from the database\n */\n const deleteEntryOperation = new DeleteEntryOperation(params.deleteOperation);\n const deleteEntryOperationWithEvents = new DeleteEntryOperationWithEvents(\n params.topics,\n deleteEntryOperation\n );\n const deleteTransform = new TransformEntryDelete(params.context);\n const deleteEntry = new DeleteEntry(\n params.getEntryWithDeleted,\n deleteTransform,\n deleteEntryOperationWithEvents\n );\n const deleteEntrySecure = new DeleteEntrySecure(params.accessControl, deleteEntry);\n\n /**\n * Move entry to the bin, marking it as deleted\n */\n const moveEntryToBinOperation = new MoveEntryToBinOperation(params.moveToBinOperation);\n const moveEntryToBinOperationWithEvents = new MoveEntryToBinOperationWithEvents(\n params.topics,\n moveEntryToBinOperation\n );\n const moveToBinTransform = new TransformEntryMoveToBin(params.context, params.getIdentity);\n const moveEntryToBin = new MoveEntryToBin(\n params.getEntry,\n moveToBinTransform,\n moveEntryToBinOperationWithEvents\n );\n const moveEntryToBinSecure = new DeleteEntrySecure(params.accessControl, moveEntryToBin);\n\n return {\n deleteEntryUseCase: deleteEntrySecure,\n moveEntryToBinUseCase: moveEntryToBinSecure,\n deleteEntryOperation: deleteEntryOperationWithEvents\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AACA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,kCAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,wBAAA,GAAAR,OAAA;AA8BO,MAAMS,mBAAmB,GAAIC,MAAiC,IAAK;EACtE;AACJ;AACA;EACI,MAAMC,oBAAoB,GAAG,IAAIC,0CAAoB,CAACF,MAAM,CAACG,eAAe,CAAC;EAC7E,MAAMC,8BAA8B,GAAG,IAAIC,8DAA8B,CACrEL,MAAM,CAACM,MAAM,EACbL,oBACJ,CAAC;EACD,MAAMM,eAAe,GAAG,IAAIC,0CAAoB,CAACR,MAAM,CAACS,OAAO,CAAC;EAChE,MAAMC,WAAW,GAAG,IAAIC,wBAAW,CAC/BX,MAAM,CAACY,mBAAmB,EAC1BL,eAAe,EACfH,8BACJ,CAAC;EACD,MAAMS,iBAAiB,GAAG,IAAIC,oCAAiB,CAACd,MAAM,CAACe,aAAa,EAAEL,WAAW,CAAC;;EAElF;AACJ;AACA;EACI,MAAMM,uBAAuB,GAAG,IAAIC,gDAAuB,CAACjB,MAAM,CAACkB,kBAAkB,CAAC;EACtF,MAAMC,iCAAiC,GAAG,IAAIC,oEAAiC,CAC3EpB,MAAM,CAACM,MAAM,EACbU,uBACJ,CAAC;EACD,MAAMK,kBAAkB,GAAG,IAAIC,gDAAuB,CAACtB,MAAM,CAACS,OAAO,EAAET,MAAM,CAACuB,WAAW,CAAC;EAC1F,MAAMC,cAAc,GAAG,IAAIC,8BAAc,CACrCzB,MAAM,CAAC0B,QAAQ,EACfL,kBAAkB,EAClBF,iCACJ,CAAC;EACD,MAAMQ,oBAAoB,GAAG,IAAIb,oCAAiB,CAACd,MAAM,CAACe,aAAa,EAAES,cAAc,CAAC;EAExF,OAAO;IACHI,kBAAkB,EAAEf,iBAAiB;IACrCgB,qBAAqB,EAAEF,oBAAoB;IAC3C1B,oBAAoB,EAAEG;EAC1B,CAAC;AACL,CAAC;AAAC0B,OAAA,CAAA/B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,7 +1,9 @@
1
- import { IGetEntriesByIds } from "../../abstractions";
2
- import { CmsEntryStorageOperations, CmsEntryStorageOperationsGetByIdsParams, CmsModel } from "../../../../types";
1
+ import type { IGetEntriesByIds } from "../../abstractions";
2
+ import type { CmsEntryStorageOperations, CmsEntryStorageOperationsGetByIdsParams, CmsModel } from "../../../../types";
3
+ import type { ITransformEntryCallable } from "../../../../utils/entryStorage.js";
3
4
  export declare class GetEntriesByIds implements IGetEntriesByIds {
4
- private operation;
5
- constructor(operation: CmsEntryStorageOperations["getByIds"]);
6
- execute(model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams): Promise<import("../../../../types").CmsStorageEntry[]>;
5
+ private readonly operation;
6
+ private readonly transform;
7
+ constructor(operation: CmsEntryStorageOperations["getByIds"], transform: ITransformEntryCallable);
8
+ execute(model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams): Promise<import("../../../../types").CmsEntry<import("../../../../types").CmsEntryValues>[]>;
7
9
  }
@@ -5,11 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.GetEntriesByIds = void 0;
7
7
  class GetEntriesByIds {
8
- constructor(operation) {
8
+ constructor(operation, transform) {
9
9
  this.operation = operation;
10
+ this.transform = transform;
10
11
  }
11
12
  async execute(model, params) {
12
- return await this.operation(model, params);
13
+ const result = await this.operation(model, params);
14
+ return await Promise.all(result.map(entry => {
15
+ return this.transform(model, entry);
16
+ }));
13
17
  }
14
18
  }
15
19
  exports.GetEntriesByIds = GetEntriesByIds;
@@ -1 +1 @@
1
- {"version":3,"names":["GetEntriesByIds","constructor","operation","execute","model","params","exports"],"sources":["GetEntriesByIds.ts"],"sourcesContent":["import { IGetEntriesByIds } from \"../../abstractions\";\nimport {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsGetByIdsParams,\n CmsModel\n} from \"~/types\";\n\nexport class GetEntriesByIds implements IGetEntriesByIds {\n private operation: CmsEntryStorageOperations[\"getByIds\"];\n\n constructor(operation: CmsEntryStorageOperations[\"getByIds\"]) {\n this.operation = operation;\n }\n\n async execute(model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams) {\n return await this.operation(model, params);\n }\n}\n"],"mappings":";;;;;;AAOO,MAAMA,eAAe,CAA6B;EAGrDC,WAAWA,CAACC,SAAgD,EAAE;IAC1D,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,MAA+C,EAAE;IAC5E,OAAO,MAAM,IAAI,CAACH,SAAS,CAACE,KAAK,EAAEC,MAAM,CAAC;EAC9C;AACJ;AAACC,OAAA,CAAAN,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["GetEntriesByIds","constructor","operation","transform","execute","model","params","result","Promise","all","map","entry","exports"],"sources":["GetEntriesByIds.ts"],"sourcesContent":["import type { IGetEntriesByIds } from \"../../abstractions\";\nimport type {\n CmsEntryStorageOperations,\n CmsEntryStorageOperationsGetByIdsParams,\n CmsModel\n} from \"~/types\";\nimport type { ITransformEntryCallable } from \"~/utils/entryStorage.js\";\n\nexport class GetEntriesByIds implements IGetEntriesByIds {\n private readonly operation: CmsEntryStorageOperations[\"getByIds\"];\n private readonly transform: ITransformEntryCallable;\n\n public constructor(\n operation: CmsEntryStorageOperations[\"getByIds\"],\n transform: ITransformEntryCallable\n ) {\n this.operation = operation;\n this.transform = transform;\n }\n\n public async execute(model: CmsModel, params: CmsEntryStorageOperationsGetByIdsParams) {\n const result = await this.operation(model, params);\n\n return await Promise.all(\n result.map(entry => {\n return this.transform(model, entry);\n })\n );\n }\n}\n"],"mappings":";;;;;;AAQO,MAAMA,eAAe,CAA6B;EAI9CC,WAAWA,CACdC,SAAgD,EAChDC,SAAkC,EACpC;IACE,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAaC,OAAOA,CAACC,KAAe,EAAEC,MAA+C,EAAE;IACnF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACL,SAAS,CAACG,KAAK,EAAEC,MAAM,CAAC;IAElD,OAAO,MAAME,OAAO,CAACC,GAAG,CACpBF,MAAM,CAACG,GAAG,CAACC,KAAK,IAAI;MAChB,OAAO,IAAI,CAACR,SAAS,CAACE,KAAK,EAAEM,KAAK,CAAC;IACvC,CAAC,CACL,CAAC;EACL;AACJ;AAACC,OAAA,CAAAZ,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IGetEntriesByIds } from "../../abstractions";
2
- import { CmsEntryStorageOperationsGetByIdsParams, CmsModel } from "../../../../types";
1
+ import type { IGetEntriesByIds } from "../../abstractions";
2
+ import type { CmsEntryStorageOperationsGetByIdsParams, CmsModel } from "../../../../types";
3
3
  export declare class GetEntriesByIdsNotDeleted implements IGetEntriesByIds {
4
4
  private getEntriesByIds;
5
5
  constructor(getEntriesByIds: IGetEntriesByIds);