@webiny/api-aco 6.3.0 → 6.4.0-beta.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 (346) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/createAcoContext.d.ts +1 -1
  4. package/createAcoContext.js +75 -103
  5. package/createAcoContext.js.map +1 -1
  6. package/createAcoGraphQL.js +42 -43
  7. package/createAcoGraphQL.js.map +1 -1
  8. package/createAcoStorageOperations.js +5 -6
  9. package/createAcoStorageOperations.js.map +1 -1
  10. package/createAcoTasks.js +7 -8
  11. package/createAcoTasks.js.map +1 -1
  12. package/domain/folder/abstractions.js +2 -5
  13. package/domain/folder/abstractions.js.map +1 -1
  14. package/domain/folder/errors.js +42 -47
  15. package/domain/folder/errors.js.map +1 -1
  16. package/domain/folder/folder.model.js +52 -36
  17. package/domain/folder/folder.model.js.map +1 -1
  18. package/exports/api/aco/flp.js +0 -2
  19. package/exports/api/aco/folder.js +4 -6
  20. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  21. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  22. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  23. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  24. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  25. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  26. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  27. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  28. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  29. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  30. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  31. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  32. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  33. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  34. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  35. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  36. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +27 -28
  37. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  38. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +27 -27
  39. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  40. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +27 -28
  41. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  42. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +27 -28
  43. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  44. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  45. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  46. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  47. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  48. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  49. package/features/cms/feature.js +19 -25
  50. package/features/cms/feature.js.map +1 -1
  51. package/features/cms/index.js +0 -2
  52. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  53. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  54. package/features/flp/CreateFlp/abstractions.js +2 -5
  55. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  56. package/features/flp/CreateFlp/feature.js +7 -8
  57. package/features/flp/CreateFlp/feature.js.map +1 -1
  58. package/features/flp/CreateFlp/index.js +0 -2
  59. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +27 -27
  60. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  61. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  62. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  63. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  64. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  65. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  66. package/features/flp/DeleteFlp/abstractions.js +2 -5
  67. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  68. package/features/flp/DeleteFlp/feature.js +7 -8
  69. package/features/flp/DeleteFlp/feature.js.map +1 -1
  70. package/features/flp/DeleteFlp/index.js +0 -2
  71. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +27 -27
  72. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  73. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  74. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  75. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  76. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +87 -108
  77. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  78. package/features/flp/FolderLevelPermissions/abstractions.js +2 -2
  79. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  80. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  81. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  82. package/features/flp/FolderLevelPermissions/index.js +0 -2
  83. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  84. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  85. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  86. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  87. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  88. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  89. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  90. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  91. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  92. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  93. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  94. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  95. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  96. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  97. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  98. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  99. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  100. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  101. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  102. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  103. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  104. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  105. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  106. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  107. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  108. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  109. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  110. package/features/flp/GetFlp/abstractions.js +2 -2
  111. package/features/flp/GetFlp/abstractions.js.map +1 -1
  112. package/features/flp/GetFlp/feature.js +7 -8
  113. package/features/flp/GetFlp/feature.js.map +1 -1
  114. package/features/flp/GetFlp/index.js +0 -2
  115. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  116. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  117. package/features/flp/ListFlps/abstractions.js +2 -2
  118. package/features/flp/ListFlps/abstractions.js.map +1 -1
  119. package/features/flp/ListFlps/feature.js +7 -8
  120. package/features/flp/ListFlps/feature.js.map +1 -1
  121. package/features/flp/ListFlps/index.js +0 -2
  122. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +133 -184
  123. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  124. package/features/flp/UpdateFlp/abstractions.js +2 -5
  125. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  126. package/features/flp/UpdateFlp/feature.js +7 -8
  127. package/features/flp/UpdateFlp/feature.js.map +1 -1
  128. package/features/flp/UpdateFlp/index.js +0 -2
  129. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +29 -29
  130. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  131. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  132. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  133. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  134. package/features/folder/CreateFolder/CreateFolderRepository.js +67 -90
  135. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  136. package/features/folder/CreateFolder/CreateFolderUseCase.js +27 -30
  137. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  138. package/features/folder/CreateFolder/abstractions.js +5 -22
  139. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  140. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +29 -34
  141. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  142. package/features/folder/CreateFolder/events.js +16 -14
  143. package/features/folder/CreateFolder/events.js.map +1 -1
  144. package/features/folder/CreateFolder/feature.js +8 -7
  145. package/features/folder/CreateFolder/feature.js.map +1 -1
  146. package/features/folder/CreateFolder/index.js +1 -3
  147. package/features/folder/DeleteFolder/DeleteFolderRepository.js +22 -20
  148. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  149. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +35 -43
  150. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  151. package/features/folder/DeleteFolder/abstractions.js +5 -22
  152. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  153. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  154. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  155. package/features/folder/DeleteFolder/events.js +16 -14
  156. package/features/folder/DeleteFolder/events.js.map +1 -1
  157. package/features/folder/DeleteFolder/feature.js +8 -7
  158. package/features/folder/DeleteFolder/feature.js.map +1 -1
  159. package/features/folder/DeleteFolder/index.js +1 -3
  160. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +43 -44
  161. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  162. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -2
  163. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  164. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  165. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  166. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  167. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +16 -20
  168. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  169. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  170. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  171. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  172. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +36 -44
  173. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  174. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  175. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  176. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  177. package/features/folder/GetAncestors/GetAncestorsRepository.js +45 -75
  178. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  179. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  180. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  181. package/features/folder/GetAncestors/abstractions.js +3 -14
  182. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  183. package/features/folder/GetAncestors/feature.js +7 -6
  184. package/features/folder/GetAncestors/feature.js.map +1 -1
  185. package/features/folder/GetAncestors/index.js +0 -2
  186. package/features/folder/GetFolder/GetFolderRepository.js +21 -19
  187. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  188. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  189. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  190. package/features/folder/GetFolder/abstractions.js +5 -21
  191. package/features/folder/GetFolder/abstractions.js.map +1 -1
  192. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  193. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  194. package/features/folder/GetFolder/feature.js +8 -7
  195. package/features/folder/GetFolder/feature.js.map +1 -1
  196. package/features/folder/GetFolder/index.js +0 -2
  197. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +67 -86
  198. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  199. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  200. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  201. package/features/folder/GetFolderHierarchy/abstractions.js +3 -14
  202. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  203. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  204. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  205. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  206. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  207. package/features/folder/GetFolderHierarchy/index.js +0 -2
  208. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +65 -58
  209. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  210. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -5
  211. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  212. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  213. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  214. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  215. package/features/folder/ListFolders/ListFoldersRepository.js +39 -41
  216. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  217. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  218. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  219. package/features/folder/ListFolders/abstractions.js +3 -14
  220. package/features/folder/ListFolders/abstractions.js.map +1 -1
  221. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  222. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  223. package/features/folder/ListFolders/feature.js +8 -7
  224. package/features/folder/ListFolders/feature.js.map +1 -1
  225. package/features/folder/ListFolders/index.js +0 -2
  226. package/features/folder/UpdateFolder/UpdateFolderRepository.js +66 -92
  227. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  228. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +38 -45
  229. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  230. package/features/folder/UpdateFolder/abstractions.js +5 -22
  231. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  232. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +45 -64
  233. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  234. package/features/folder/UpdateFolder/events.js +16 -14
  235. package/features/folder/UpdateFolder/events.js.map +1 -1
  236. package/features/folder/UpdateFolder/feature.js +8 -7
  237. package/features/folder/UpdateFolder/feature.js.map +1 -1
  238. package/features/folder/UpdateFolder/index.js +0 -2
  239. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  240. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  241. package/features/folder/shared/abstractions.js +2 -2
  242. package/features/folder/shared/abstractions.js.map +1 -1
  243. package/filter/filter.crud.js +28 -31
  244. package/filter/filter.crud.js.map +1 -1
  245. package/filter/filter.gql.js +32 -48
  246. package/filter/filter.gql.js.map +1 -1
  247. package/filter/filter.model.js +44 -35
  248. package/filter/filter.model.js.map +1 -1
  249. package/filter/filter.so.js +73 -93
  250. package/filter/filter.so.js.map +1 -1
  251. package/filter/filter.types.js +5 -4
  252. package/filter/filter.types.js.map +1 -1
  253. package/flp/flp.crud.js +69 -86
  254. package/flp/flp.crud.js.map +1 -1
  255. package/flp/flp.so.js +162 -199
  256. package/flp/flp.so.js.map +1 -1
  257. package/flp/flp.types.js +0 -3
  258. package/flp/index.js +0 -2
  259. package/flp/tasks/createFlp.task.js +26 -27
  260. package/flp/tasks/createFlp.task.js.map +1 -1
  261. package/flp/tasks/deleteFlp.task.js +26 -27
  262. package/flp/tasks/deleteFlp.task.js.map +1 -1
  263. package/flp/tasks/index.js +13 -12
  264. package/flp/tasks/index.js.map +1 -1
  265. package/flp/tasks/syncFlp.task.js +83 -112
  266. package/flp/tasks/syncFlp.task.js.map +1 -1
  267. package/flp/tasks/updateFlp.task.js +33 -32
  268. package/flp/tasks/updateFlp.task.js.map +1 -1
  269. package/folder/createFolderModelModifier.js +50 -50
  270. package/folder/createFolderModelModifier.js.map +1 -1
  271. package/folder/createFolderTypeDefs.js +39 -50
  272. package/folder/createFolderTypeDefs.js.map +1 -1
  273. package/folder/folder.gql.js +100 -133
  274. package/folder/folder.gql.js.map +1 -1
  275. package/folder/folder.types.js +0 -3
  276. package/index.d.ts +1 -1
  277. package/index.js +7 -4
  278. package/index.js.map +1 -1
  279. package/package.json +25 -25
  280. package/types.js +5 -4
  281. package/types.js.map +1 -1
  282. package/utils/FoldersCacheFactory.js +20 -19
  283. package/utils/FoldersCacheFactory.js.map +1 -1
  284. package/utils/ListCache.js +20 -19
  285. package/utils/ListCache.js.map +1 -1
  286. package/utils/Path.js +5 -6
  287. package/utils/Path.js.map +1 -1
  288. package/utils/compress.js +8 -7
  289. package/utils/compress.js.map +1 -1
  290. package/utils/createListSort.js +4 -7
  291. package/utils/createListSort.js.map +1 -1
  292. package/utils/createOperationsWrapper.js +12 -19
  293. package/utils/createOperationsWrapper.js.map +1 -1
  294. package/utils/decorators/CmsEntriesCrudDecorators.js +165 -196
  295. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  296. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  297. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  298. package/utils/decorators/ListEntriesFactory.js +65 -98
  299. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  300. package/utils/decorators/hasRootFolderId.js +6 -12
  301. package/utils/decorators/hasRootFolderId.js.map +1 -1
  302. package/utils/decorators/isPageModel.js +5 -10
  303. package/utils/decorators/isPageModel.js.map +1 -1
  304. package/utils/ensureAuthentication.js +6 -7
  305. package/utils/ensureAuthentication.js.map +1 -1
  306. package/utils/pickEntryFieldValues.js +24 -18
  307. package/utils/pickEntryFieldValues.js.map +1 -1
  308. package/utils/resolve.js +7 -6
  309. package/utils/resolve.js.map +1 -1
  310. package/exports/api/aco/flp.js.map +0 -1
  311. package/exports/api/aco/folder.js.map +0 -1
  312. package/features/cms/index.js.map +0 -1
  313. package/features/flp/CreateFlp/index.js.map +0 -1
  314. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  315. package/features/flp/DeleteFlp/index.js.map +0 -1
  316. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  317. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  318. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  319. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  320. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  321. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  322. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  323. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  324. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  325. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  326. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  327. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  328. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  329. package/features/flp/GetFlp/index.js.map +0 -1
  330. package/features/flp/ListFlps/index.js.map +0 -1
  331. package/features/flp/UpdateFlp/index.js.map +0 -1
  332. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  333. package/features/folder/CreateFolder/index.js.map +0 -1
  334. package/features/folder/DeleteFolder/index.js.map +0 -1
  335. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  336. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  337. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  338. package/features/folder/GetAncestors/index.js.map +0 -1
  339. package/features/folder/GetFolder/index.js.map +0 -1
  340. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  341. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  342. package/features/folder/ListFolders/index.js.map +0 -1
  343. package/features/folder/UpdateFolder/index.js.map +0 -1
  344. package/flp/flp.types.js.map +0 -1
  345. package/flp/index.js.map +0 -1
  346. package/folder/folder.types.js.map +0 -1
@@ -1,36 +1,35 @@
1
- import { createDecorator } from "@webiny/feature/api";
2
- import { Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
3
2
  import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
4
3
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
5
4
  import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
6
5
  class ListLatestEntriesWithFlpDecoratorImpl {
7
- constructor(folderLevelPermissions, decoratee) {
8
- this.decoratee = decoratee;
9
- this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
10
- }
11
- async execute(model, params) {
12
- const loader = async params => {
13
- const result = await this.decoratee.execute(model, params);
14
- return result.value;
15
- };
16
- const {
17
- entries,
18
- meta
19
- } = await this.listEntriesHandler.execute({
20
- model,
21
- dataLoader: loader,
22
- initialParams: params
23
- });
24
- return Result.ok({
25
- entries,
26
- meta
27
- });
28
- }
6
+ constructor(folderLevelPermissions, decoratee){
7
+ this.decoratee = decoratee;
8
+ this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
9
+ }
10
+ async execute(model, params) {
11
+ const loader = async (params)=>{
12
+ const result = await this.decoratee.execute(model, params);
13
+ return result.value;
14
+ };
15
+ const { entries, meta } = await this.listEntriesHandler.execute({
16
+ model,
17
+ dataLoader: loader,
18
+ initialParams: params
19
+ });
20
+ return Result.ok({
21
+ entries,
22
+ meta
23
+ });
24
+ }
29
25
  }
30
- export const ListLatestEntriesWithFlpDecorator = createDecorator({
31
- abstraction: ListLatestEntriesUseCase,
32
- decorator: ListLatestEntriesWithFlpDecoratorImpl,
33
- dependencies: [FolderLevelPermissions]
26
+ const ListLatestEntriesWithFlpDecorator = createDecorator({
27
+ abstraction: ListLatestEntriesUseCase,
28
+ decorator: ListLatestEntriesWithFlpDecoratorImpl,
29
+ dependencies: [
30
+ FolderLevelPermissions
31
+ ]
34
32
  });
33
+ export { ListLatestEntriesWithFlpDecorator };
35
34
 
36
35
  //# sourceMappingURL=ListLatestEntriesWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","ListLatestEntriesUseCase","FolderLevelPermissions","ListEntriesFactory","ListLatestEntriesWithFlpDecoratorImpl","constructor","folderLevelPermissions","decoratee","listEntriesHandler","execute","model","params","loader","result","value","entries","meta","dataLoader","initialParams","ok","ListLatestEntriesWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["ListLatestEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListLatestEntriesWithFlpDecoratorImpl implements ListLatestEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListLatestEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListLatestEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListLatestEntriesWithFlpDecorator = createDecorator({\n abstraction: ListLatestEntriesUseCase,\n decorator: ListLatestEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,wBAAwB,QAAQ,4EAA4E;AAMrH,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAE3B,MAAMC,qCAAqC,CAA+C;EAGtFC,WAAWA,CACPC,sBAAwD,EAChDC,SAA6C,EACvD;IAAA,KADUA,SAA6C,GAA7CA,SAA6C;IAErD,IAAI,CAACC,kBAAkB,GAAG,IAAIL,kBAAkB,CAACG,sBAAsB,CAAC;EAC5E;EAEA,MAAMG,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACO;IAClC,MAAMC,MAAM,GAAG,MAAOD,MAA2B,IAAK;MAClD,MAAME,MAAM,GAAG,MAAM,IAAI,CAACN,SAAS,CAACE,OAAO,CAAIC,KAAK,EAAEC,MAAM,CAAC;MAC7D,OAAOE,MAAM,CAACC,KAAK;IACvB,CAAC;IAED,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAG,MAAM,IAAI,CAACR,kBAAkB,CAACC,OAAO,CAAI;MAC/DC,KAAK;MACLO,UAAU,EAAEL,MAAM;MAClBM,aAAa,EAAEP;IACnB,CAAC,CAAC;IAEF,OAAOX,MAAM,CAACmB,EAAE,CAAC;MAAEJ,OAAO;MAAEC;IAAK,CAAC,CAAC;EACvC;AACJ;AAEA,OAAO,MAAMI,iCAAiC,GAAGrB,eAAe,CAAC;EAC7DsB,WAAW,EAAEpB,wBAAwB;EACrCqB,SAAS,EAAElB,qCAAqC;EAChDmB,YAAY,EAAE,CAACrB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/ListLatestEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListLatestEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListLatestEntriesWithFlpDecoratorImpl implements ListLatestEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListLatestEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListLatestEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListLatestEntriesWithFlpDecorator = createDecorator({\n abstraction: ListLatestEntriesUseCase,\n decorator: ListLatestEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListLatestEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListLatestEntriesWithFlpDecorator","createDecorator","ListLatestEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAA6C,CACvD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACO;QAClC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,OAAOE,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,oCAAoCC,gBAAgB;IAC7D,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
@@ -1,36 +1,35 @@
1
- import { createDecorator } from "@webiny/feature/api";
2
- import { Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
3
2
  import { ListPublishedEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
4
3
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
5
4
  import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
6
5
  class ListPublishedEntriesWithFlpDecoratorImpl {
7
- constructor(folderLevelPermissions, decoratee) {
8
- this.decoratee = decoratee;
9
- this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
10
- }
11
- async execute(model, params) {
12
- const loader = async params => {
13
- const result = await this.decoratee.execute(model, params);
14
- return result.value;
15
- };
16
- const {
17
- entries,
18
- meta
19
- } = await this.listEntriesHandler.execute({
20
- model,
21
- dataLoader: loader,
22
- initialParams: params
23
- });
24
- return Result.ok({
25
- entries,
26
- meta
27
- });
28
- }
6
+ constructor(folderLevelPermissions, decoratee){
7
+ this.decoratee = decoratee;
8
+ this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);
9
+ }
10
+ async execute(model, params) {
11
+ const loader = async (params)=>{
12
+ const result = await this.decoratee.execute(model, params);
13
+ return result.value;
14
+ };
15
+ const { entries, meta } = await this.listEntriesHandler.execute({
16
+ model,
17
+ dataLoader: loader,
18
+ initialParams: params
19
+ });
20
+ return Result.ok({
21
+ entries,
22
+ meta
23
+ });
24
+ }
29
25
  }
30
- export const ListPublishedEntriesWithFlpDecorator = createDecorator({
31
- abstraction: ListPublishedEntriesUseCase,
32
- decorator: ListPublishedEntriesWithFlpDecoratorImpl,
33
- dependencies: [FolderLevelPermissions]
26
+ const ListPublishedEntriesWithFlpDecorator = createDecorator({
27
+ abstraction: ListPublishedEntriesUseCase,
28
+ decorator: ListPublishedEntriesWithFlpDecoratorImpl,
29
+ dependencies: [
30
+ FolderLevelPermissions
31
+ ]
34
32
  });
33
+ export { ListPublishedEntriesWithFlpDecorator };
35
34
 
36
35
  //# sourceMappingURL=ListPublishedEntriesWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","ListPublishedEntriesUseCase","FolderLevelPermissions","ListEntriesFactory","ListPublishedEntriesWithFlpDecoratorImpl","constructor","folderLevelPermissions","decoratee","listEntriesHandler","execute","model","params","loader","result","value","entries","meta","dataLoader","initialParams","ok","ListPublishedEntriesWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["ListPublishedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListPublishedEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListPublishedEntriesWithFlpDecoratorImpl implements ListPublishedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListPublishedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListPublishedEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListPublishedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListPublishedEntriesUseCase,\n decorator: ListPublishedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,2BAA2B,QAAQ,4EAA4E;AAMxH,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAE3B,MAAMC,wCAAwC,CAAkD;EAG5FC,WAAWA,CACPC,sBAAwD,EAChDC,SAAgD,EAC1D;IAAA,KADUA,SAAgD,GAAhDA,SAAgD;IAExD,IAAI,CAACC,kBAAkB,GAAG,IAAIL,kBAAkB,CAACG,sBAAsB,CAAC;EAC5E;EAEA,MAAMG,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACU;IACrC,MAAMC,MAAM,GAAG,MAAOD,MAA2B,IAAK;MAClD,MAAME,MAAM,GAAG,MAAM,IAAI,CAACN,SAAS,CAACE,OAAO,CAAIC,KAAK,EAAEC,MAAM,CAAC;MAC7D,OAAOE,MAAM,CAACC,KAAK;IACvB,CAAC;IAED,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAG,MAAM,IAAI,CAACR,kBAAkB,CAACC,OAAO,CAAI;MAC/DC,KAAK;MACLO,UAAU,EAAEL,MAAM;MAClBM,aAAa,EAAEP;IACnB,CAAC,CAAC;IAEF,OAAOX,MAAM,CAACmB,EAAE,CAAC;MAAEJ,OAAO;MAAEC;IAAK,CAAC,CAAC;EACvC;AACJ;AAEA,OAAO,MAAMI,oCAAoC,GAAGrB,eAAe,CAAC;EAChEsB,WAAW,EAAEpB,2BAA2B;EACxCqB,SAAS,EAAElB,wCAAwC;EACnDmB,YAAY,EAAE,CAACrB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListPublishedEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsModel,\n CmsEntryValues,\n CmsEntryListParams\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListEntriesFactory } from \"~/utils/decorators/ListEntriesFactory.js\";\n\nclass ListPublishedEntriesWithFlpDecoratorImpl implements ListPublishedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListPublishedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListPublishedEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n return result.value;\n };\n\n const { entries, meta } = await this.listEntriesHandler.execute<T>({\n model,\n dataLoader: loader,\n initialParams: params\n });\n\n return Result.ok({ entries, meta });\n }\n}\n\nexport const ListPublishedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListPublishedEntriesUseCase,\n decorator: ListPublishedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListPublishedEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListPublishedEntriesWithFlpDecorator","createDecorator","ListPublishedEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAAgD,CAC1D;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACU;QACrC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,OAAOE,OAAO,KAAK;QACvB;QAEA,MAAM,EAAEC,OAAO,EAAEC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAI;YAC/DL;YACA,YAAYE;YACZ,eAAeD;QACnB;QAEA,OAAOK,OAAO,EAAE,CAAC;YAAEF;YAASC;QAAK;IACrC;AACJ;AAEO,MAAME,uCAAuCC,gBAAgB;IAChE,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
@@ -1,63 +1,49 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { MoveEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js";
3
3
  import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
4
4
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
5
5
  import { ROOT_FOLDER } from "../../../constants.js";
6
6
  import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
7
7
  class MoveEntryWithFlpDecoratorImpl {
8
- constructor(folderLevelPermissions, getRevisionById, decoratee) {
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.getRevisionById = getRevisionById;
11
- this.decoratee = decoratee;
12
- }
13
- async execute(model, id, targetFolderId) {
14
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
15
- return this.decoratee.execute(model, id, targetFolderId);
8
+ constructor(folderLevelPermissions, getRevisionById, decoratee){
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.getRevisionById = getRevisionById;
11
+ this.decoratee = decoratee;
16
12
  }
17
-
18
- // First, get the entry to check its current folder
19
- const entryResult = await this.getRevisionById.execute(model, id);
20
- if (entryResult.isFail()) {
21
- return this.decoratee.execute(model, id, targetFolderId);
22
- }
23
- const entry = entryResult.value;
24
- const currentFolderId = entry?.location?.folderId || ROOT_FOLDER;
25
-
26
- // If the entry is in the same folder we are trying to move it to, just continue
27
- if (currentFolderId === targetFolderId) {
28
- return this.decoratee.execute(model, id, targetFolderId);
29
- }
30
-
31
- // If current folder is not ROOT, check for access
32
- if (currentFolderId !== ROOT_FOLDER) {
33
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);
34
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
35
- permissions,
36
- rwd: "w"
37
- });
38
- if (!canAccessFolder) {
39
- return Result.fail(new EntryNotAuthorizedError());
40
- }
41
- }
42
-
43
- // If target folder is not ROOT, check for access
44
- if (targetFolderId !== ROOT_FOLDER) {
45
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);
46
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
47
- permissions,
48
- rwd: "w"
49
- });
50
- if (!canAccessFolder) {
51
- return Result.fail(new EntryNotAuthorizedError());
52
- }
13
+ async execute(model, id, targetFolderId) {
14
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, targetFolderId);
15
+ const entryResult = await this.getRevisionById.execute(model, id);
16
+ if (entryResult.isFail()) return this.decoratee.execute(model, id, targetFolderId);
17
+ const entry = entryResult.value;
18
+ const currentFolderId = entry?.location?.folderId || ROOT_FOLDER;
19
+ if (currentFolderId === targetFolderId) return this.decoratee.execute(model, id, targetFolderId);
20
+ if (currentFolderId !== ROOT_FOLDER) {
21
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);
22
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
23
+ permissions,
24
+ rwd: "w"
25
+ });
26
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
27
+ }
28
+ if (targetFolderId !== ROOT_FOLDER) {
29
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);
30
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
31
+ permissions,
32
+ rwd: "w"
33
+ });
34
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
35
+ }
36
+ return this.decoratee.execute(model, id, targetFolderId);
53
37
  }
54
- return this.decoratee.execute(model, id, targetFolderId);
55
- }
56
38
  }
57
- export const MoveEntryWithFlpDecorator = createDecorator({
58
- abstraction: MoveEntryUseCase,
59
- decorator: MoveEntryWithFlpDecoratorImpl,
60
- dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]
39
+ const MoveEntryWithFlpDecorator = createDecorator({
40
+ abstraction: MoveEntryUseCase,
41
+ decorator: MoveEntryWithFlpDecoratorImpl,
42
+ dependencies: [
43
+ FolderLevelPermissions,
44
+ GetRevisionByIdUseCase
45
+ ]
61
46
  });
47
+ export { MoveEntryWithFlpDecorator };
62
48
 
63
49
  //# sourceMappingURL=MoveEntryWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","MoveEntryUseCase","GetRevisionByIdUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","MoveEntryWithFlpDecoratorImpl","constructor","folderLevelPermissions","getRevisionById","decoratee","execute","model","id","targetFolderId","canUseFolderLevelPermissions","entryResult","isFail","entry","value","currentFolderId","location","folderId","permissions","getFolderLevelPermissions","canAccessFolder","canAccessFolderContent","rwd","fail","MoveEntryWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["MoveEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { MoveEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass MoveEntryWithFlpDecoratorImpl implements MoveEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: MoveEntryUseCase.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n targetFolderId: string\n ) {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // First, get the entry to check its current folder\n const entryResult = await this.getRevisionById.execute<T>(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n const entry = entryResult.value;\n const currentFolderId = entry?.location?.folderId || ROOT_FOLDER;\n\n // If the entry is in the same folder we are trying to move it to, just continue\n if (currentFolderId === targetFolderId) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // If current folder is not ROOT, check for access\n if (currentFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n // If target folder is not ROOT, check for access\n if (targetFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n}\n\nexport const MoveEntryWithFlpDecorator = createDecorator({\n abstraction: MoveEntryUseCase,\n decorator: MoveEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,gBAAgB,QAAQ,0EAA0E;AAC3G,SAASC,sBAAsB,QAAQ,gFAAgF;AAEvH,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,6BAA6B,CAAuC;EACtEC,WAAWA,CACCC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAqC,EAC/C;IAAA,KAHUF,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,SAAqC,GAArCA,SAAqC;EAC9C;EAEH,MAAaC,OAAOA,CAChBC,KAAe,EACfC,EAAU,EACVC,cAAsB,EACxB;IACE,IAAI,CAAC,IAAI,CAACN,sBAAsB,CAACO,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACL,SAAS,CAACC,OAAO,CAAIC,KAAK,EAAEC,EAAE,EAAEC,cAAc,CAAC;IAC/D;;IAEA;IACA,MAAME,WAAW,GAAG,MAAM,IAAI,CAACP,eAAe,CAACE,OAAO,CAAIC,KAAK,EAAEC,EAAE,CAAC;IACpE,IAAIG,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACP,SAAS,CAACC,OAAO,CAAIC,KAAK,EAAEC,EAAE,EAAEC,cAAc,CAAC;IAC/D;IAEA,MAAMI,KAAK,GAAGF,WAAW,CAACG,KAAK;IAC/B,MAAMC,eAAe,GAAGF,KAAK,EAAEG,QAAQ,EAAEC,QAAQ,IAAIlB,WAAW;;IAEhE;IACA,IAAIgB,eAAe,KAAKN,cAAc,EAAE;MACpC,OAAO,IAAI,CAACJ,SAAS,CAACC,OAAO,CAAIC,KAAK,EAAEC,EAAE,EAAEC,cAAc,CAAC;IAC/D;;IAEA;IACA,IAAIM,eAAe,KAAKhB,WAAW,EAAE;MACjC,MAAMmB,WAAW,GACb,MAAM,IAAI,CAACf,sBAAsB,CAACgB,yBAAyB,CAACJ,eAAe,CAAC;MAEhF,MAAMK,eAAe,GAAG,MAAM,IAAI,CAACjB,sBAAsB,CAACkB,sBAAsB,CAAC;QAC7EH,WAAW;QACXI,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,IAAI,CAACF,eAAe,EAAE;QAClB,OAAOzB,MAAM,CAAC4B,IAAI,CAAC,IAAIvB,uBAAuB,CAAC,CAAC,CAAC;MACrD;IACJ;;IAEA;IACA,IAAIS,cAAc,KAAKV,WAAW,EAAE;MAChC,MAAMmB,WAAW,GACb,MAAM,IAAI,CAACf,sBAAsB,CAACgB,yBAAyB,CAACV,cAAc,CAAC;MAE/E,MAAMW,eAAe,GAAG,MAAM,IAAI,CAACjB,sBAAsB,CAACkB,sBAAsB,CAAC;QAC7EH,WAAW;QACXI,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,IAAI,CAACF,eAAe,EAAE;QAClB,OAAOzB,MAAM,CAAC4B,IAAI,CAAC,IAAIvB,uBAAuB,CAAC,CAAC,CAAC;MACrD;IACJ;IAEA,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAAIC,KAAK,EAAEC,EAAE,EAAEC,cAAc,CAAC;EAC/D;AACJ;AAEA,OAAO,MAAMe,yBAAyB,GAAG9B,eAAe,CAAC;EACrD+B,WAAW,EAAE7B,gBAAgB;EAC7B8B,SAAS,EAAEzB,6BAA6B;EACxC0B,YAAY,EAAE,CAAC7B,sBAAsB,EAAED,sBAAsB;AACjE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/MoveEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/MoveEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { MoveEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/MoveEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass MoveEntryWithFlpDecoratorImpl implements MoveEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: MoveEntryUseCase.Interface\n ) {}\n\n public async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n targetFolderId: string\n ) {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // First, get the entry to check its current folder\n const entryResult = await this.getRevisionById.execute<T>(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n const entry = entryResult.value;\n const currentFolderId = entry?.location?.folderId || ROOT_FOLDER;\n\n // If the entry is in the same folder we are trying to move it to, just continue\n if (currentFolderId === targetFolderId) {\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n\n // If current folder is not ROOT, check for access\n if (currentFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(currentFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n // If target folder is not ROOT, check for access\n if (targetFolderId !== ROOT_FOLDER) {\n const permissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(targetFolderId);\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n }\n\n return this.decoratee.execute<T>(model, id, targetFolderId);\n }\n}\n\nexport const MoveEntryWithFlpDecorator = createDecorator({\n abstraction: MoveEntryUseCase,\n decorator: MoveEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["MoveEntryWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","id","targetFolderId","entryResult","entry","currentFolderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","MoveEntryWithFlpDecorator","createDecorator","MoveEntryUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAqC,CAC/C;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAa,QACTC,KAAe,EACfC,EAAU,EACVC,cAAsB,EACxB;QACE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC,IAAIC;QAIhD,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAIH,OAAOC;QACjE,IAAIE,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC,IAAIC;QAGhD,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,kBAAkBD,OAAO,UAAU,YAAYE;QAGrD,IAAID,oBAAoBH,gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIF,OAAOC,IAAIC;QAIhD,IAAIG,oBAAoBC,aAAa;YACjC,MAAMC,cACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;YAEhE,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBAC7ED;gBACA,KAAK;YACT;YAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE/B;QAGA,IAAIR,mBAAmBI,aAAa;YAChC,MAAMC,cACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACL;YAEhE,MAAMM,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;gBAC7ED;gBACA,KAAK;YACT;YAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAE/B;QAEA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIV,OAAOC,IAAIC;IAChD;AACJ;AAEO,MAAMS,4BAA4BC,gBAAgB;IACrD,aAAaC;IACb,WAAWjB;IACX,cAAc;QAACkB;QAAwBC;KAAuB;AAClE"}
@@ -2,14 +2,13 @@ import { Result } from "@webiny/feature/api";
2
2
  import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js";
3
3
  import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
4
4
  import type { CmsEntry, CmsEntryValues, CmsModel, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "@webiny/api-headless-cms/types/index.js";
5
- import type { GenericRecord } from "@webiny/api/types.js";
6
5
  import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
7
6
  declare class UpdateEntryWithFlpDecoratorImpl implements UpdateEntryUseCase.Interface {
8
7
  private folderLevelPermissions;
9
8
  private getRevisionById;
10
9
  private decoratee;
11
10
  constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: UpdateEntryUseCase.Interface);
12
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, input: UpdateCmsEntryInput<T>, metaInput?: GenericRecord, options?: UpdateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>>;
11
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, input: UpdateCmsEntryInput<T>, options?: UpdateCmsEntryOptionsInput): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>>;
13
12
  }
14
13
  export declare const UpdateEntryWithFlpDecorator: typeof UpdateEntryWithFlpDecoratorImpl;
15
14
  export {};
@@ -1,43 +1,39 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js";
3
3
  import { GetRevisionByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js";
4
4
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
5
5
  import { ROOT_FOLDER } from "../../../constants.js";
6
6
  import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
7
7
  class UpdateEntryWithFlpDecoratorImpl {
8
- constructor(folderLevelPermissions, getRevisionById, decoratee) {
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.getRevisionById = getRevisionById;
11
- this.decoratee = decoratee;
12
- }
13
- async execute(model, id, input, metaInput, options) {
14
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
15
- return this.decoratee.execute(model, id, input, metaInput, options);
8
+ constructor(folderLevelPermissions, getRevisionById, decoratee){
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.getRevisionById = getRevisionById;
11
+ this.decoratee = decoratee;
16
12
  }
17
- const entryResult = await this.getRevisionById.execute(model, id);
18
- if (entryResult.isFail()) {
19
- return this.decoratee.execute(model, id, input, metaInput, options);
13
+ async execute(model, id, input, options) {
14
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, input, options);
15
+ const entryResult = await this.getRevisionById.execute(model, id);
16
+ if (entryResult.isFail()) return this.decoratee.execute(model, id, input, options);
17
+ const entry = entryResult.value;
18
+ const folderId = entry?.location?.folderId;
19
+ if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, id, input, options);
20
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
21
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
22
+ permissions,
23
+ rwd: "w"
24
+ });
25
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
26
+ return this.decoratee.execute(model, id, input, options);
20
27
  }
21
- const entry = entryResult.value;
22
- const folderId = entry?.location?.folderId;
23
- if (!folderId || folderId === ROOT_FOLDER) {
24
- return this.decoratee.execute(model, id, input, metaInput, options);
25
- }
26
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
27
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
28
- permissions,
29
- rwd: "w"
30
- });
31
- if (!canAccessFolder) {
32
- return Result.fail(new EntryNotAuthorizedError());
33
- }
34
- return this.decoratee.execute(model, id, input, metaInput, options);
35
- }
36
28
  }
37
- export const UpdateEntryWithFlpDecorator = createDecorator({
38
- abstraction: UpdateEntryUseCase,
39
- decorator: UpdateEntryWithFlpDecoratorImpl,
40
- dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]
29
+ const UpdateEntryWithFlpDecorator = createDecorator({
30
+ abstraction: UpdateEntryUseCase,
31
+ decorator: UpdateEntryWithFlpDecoratorImpl,
32
+ dependencies: [
33
+ FolderLevelPermissions,
34
+ GetRevisionByIdUseCase
35
+ ]
41
36
  });
37
+ export { UpdateEntryWithFlpDecorator };
42
38
 
43
39
  //# sourceMappingURL=UpdateEntryWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","UpdateEntryUseCase","GetRevisionByIdUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","UpdateEntryWithFlpDecoratorImpl","constructor","folderLevelPermissions","getRevisionById","decoratee","execute","model","id","input","metaInput","options","canUseFolderLevelPermissions","entryResult","isFail","entry","value","folderId","location","permissions","getFolderLevelPermissions","canAccessFolder","canAccessFolderContent","rwd","fail","UpdateEntryWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["UpdateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass UpdateEntryWithFlpDecoratorImpl implements UpdateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: UpdateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n metaInput?: GenericRecord,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, input, metaInput, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, input, metaInput, options);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, id, input, metaInput, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute<T>(model, id, input, metaInput, options);\n }\n}\n\nexport const UpdateEntryWithFlpDecorator = createDecorator({\n abstraction: UpdateEntryUseCase,\n decorator: UpdateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,4EAA4E;AAC/G,SAASC,sBAAsB,QAAQ,gFAAgF;AASvH,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,+BAA+B,CAAyC;EAC1EC,WAAWA,CACCC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAuC,EACjD;IAAA,KAHUF,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,SAAuC,GAAvCA,SAAuC;EAChD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,EAAU,EACVC,KAA6B,EAC7BC,SAAyB,EACzBC,OAAoC,EACkB;IACtD,IAAI,CAAC,IAAI,CAACR,sBAAsB,CAACS,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvE;IAEA,MAAME,WAAW,GAAG,MAAM,IAAI,CAACT,eAAe,CAACE,OAAO,CAACC,KAAK,EAAEC,EAAE,CAAC;IACjE,IAAIK,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACT,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvE;IAEA,MAAMI,KAAK,GAAGF,WAAW,CAACG,KAAK;IAC/B,MAAMC,QAAQ,GAAGF,KAAK,EAAEG,QAAQ,EAAED,QAAQ;IAE1C,IAAI,CAACA,QAAQ,IAAIA,QAAQ,KAAKlB,WAAW,EAAE;MACvC,OAAO,IAAI,CAACM,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvE;IAEA,MAAMQ,WAAW,GAAG,MAAM,IAAI,CAAChB,sBAAsB,CAACiB,yBAAyB,CAACH,QAAQ,CAAC;IACzF,MAAMI,eAAe,GAAG,MAAM,IAAI,CAAClB,sBAAsB,CAACmB,sBAAsB,CAAC;MAC7EH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACF,eAAe,EAAE;MAClB,OAAO1B,MAAM,CAAC6B,IAAI,CAAC,IAAIxB,uBAAuB,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAAIC,KAAK,EAAEC,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEC,OAAO,CAAC;EAC1E;AACJ;AAEA,OAAO,MAAMc,2BAA2B,GAAG/B,eAAe,CAAC;EACvDgC,WAAW,EAAE9B,kBAAkB;EAC/B+B,SAAS,EAAE1B,+BAA+B;EAC1C2B,YAAY,EAAE,CAAC9B,sBAAsB,EAAED,sBAAsB;AACjE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/UpdateEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/UpdateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { EntryNotAuthorizedError } from \"@webiny/api-headless-cms/domain/contentEntry/errors.js\";\n\nclass UpdateEntryWithFlpDecoratorImpl implements UpdateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: UpdateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n id: string,\n input: UpdateCmsEntryInput<T>,\n options?: UpdateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, UpdateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, id);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const entry = entryResult.value;\n const folderId = entry?.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, id, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute<T>(model, id, input, options);\n }\n}\n\nexport const UpdateEntryWithFlpDecorator = createDecorator({\n abstraction: UpdateEntryUseCase,\n decorator: UpdateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["UpdateEntryWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","id","input","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","UpdateEntryWithFlpDecorator","createDecorator","UpdateEntryUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAcA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAuC,CACjD;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,KAA6B,EAC7BC,OAAoC,EACkB;QACtD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,IAAIC,OAAOC;QAGpD,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACJ,OAAOC;QAC9D,IAAIG,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,IAAIC,OAAOC;QAGpD,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACP,OAAOC,IAAIC,OAAOC;QAGpD,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YAC7ED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,iBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIX,OAAOC,IAAIC,OAAOC;IACvD;AACJ;AAEO,MAAMS,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;QAAwBC;KAAuB;AAClE"}
@@ -13,31 +13,25 @@ import { ListLatestEntriesWithFlpDecorator } from "./decorators/ListLatestEntrie
13
13
  import { ListPublishedEntriesWithFlpDecorator } from "./decorators/ListPublishedEntriesWithFlpDecorator.js";
14
14
  import { ListDeletedEntriesWithFlpDecorator } from "./decorators/ListDeletedEntriesWithFlpDecorator.js";
15
15
  import { ListEntriesWithFlpDecorator } from "./decorators/ListEntriesWithFlpDecorator.js";
16
- export const CmsFlpFeature = createFeature({
17
- name: "Aco/CmsFlp",
18
- register(container) {
19
- // Command decorators
20
- container.registerDecorator(CreateEntryWithFlpDecorator);
21
- container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);
22
- container.registerDecorator(UpdateEntryWithFlpDecorator);
23
- container.registerDecorator(DeleteEntryWithFlpDecorator);
24
- container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);
25
- container.registerDecorator(MoveEntryWithFlpDecorator);
26
-
27
- // Query decorators - single entry
28
- container.registerDecorator(GetEntryWithFlpDecorator);
29
- container.registerDecorator(GetEntryByIdWithFlpDecorator);
30
-
31
- // Query decorators - multiple entries
32
- container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);
33
- container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);
34
-
35
- // Query decorators - list entries
36
- container.registerDecorator(ListEntriesWithFlpDecorator);
37
- container.registerDecorator(ListLatestEntriesWithFlpDecorator);
38
- container.registerDecorator(ListPublishedEntriesWithFlpDecorator);
39
- container.registerDecorator(ListDeletedEntriesWithFlpDecorator);
40
- }
16
+ const CmsFlpFeature = createFeature({
17
+ name: "Aco/CmsFlp",
18
+ register (container) {
19
+ container.registerDecorator(CreateEntryWithFlpDecorator);
20
+ container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);
21
+ container.registerDecorator(UpdateEntryWithFlpDecorator);
22
+ container.registerDecorator(DeleteEntryWithFlpDecorator);
23
+ container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);
24
+ container.registerDecorator(MoveEntryWithFlpDecorator);
25
+ container.registerDecorator(GetEntryWithFlpDecorator);
26
+ container.registerDecorator(GetEntryByIdWithFlpDecorator);
27
+ container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);
28
+ container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);
29
+ container.registerDecorator(ListEntriesWithFlpDecorator);
30
+ container.registerDecorator(ListLatestEntriesWithFlpDecorator);
31
+ container.registerDecorator(ListPublishedEntriesWithFlpDecorator);
32
+ container.registerDecorator(ListDeletedEntriesWithFlpDecorator);
33
+ }
41
34
  });
35
+ export { CmsFlpFeature };
42
36
 
43
37
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","CreateEntryWithFlpDecorator","CreateEntryRevisionFromWithFlpDecorator","UpdateEntryWithFlpDecorator","DeleteEntryWithFlpDecorator","DeleteEntryRevisionWithFlpDecorator","MoveEntryWithFlpDecorator","GetEntryWithFlpDecorator","GetEntryByIdWithFlpDecorator","GetLatestEntriesByIdsWithFlpDecorator","GetPublishedEntriesByIdsWithFlpDecorator","ListLatestEntriesWithFlpDecorator","ListPublishedEntriesWithFlpDecorator","ListDeletedEntriesWithFlpDecorator","ListEntriesWithFlpDecorator","CmsFlpFeature","name","register","container","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryWithFlpDecorator } from \"./decorators/CreateEntryWithFlpDecorator.js\";\nimport { CreateEntryRevisionFromWithFlpDecorator } from \"./decorators/CreateEntryRevisionFromWithFlpDecorator.js\";\nimport { UpdateEntryWithFlpDecorator } from \"./decorators/UpdateEntryWithFlpDecorator.js\";\nimport { DeleteEntryWithFlpDecorator } from \"./decorators/DeleteEntryWithFlpDecorator.js\";\nimport { DeleteEntryRevisionWithFlpDecorator } from \"./decorators/DeleteEntryRevisionWithFlpDecorator.js\";\nimport { MoveEntryWithFlpDecorator } from \"./decorators/MoveEntryWithFlpDecorator.js\";\nimport { GetEntryWithFlpDecorator } from \"./decorators/GetEntryWithFlpDecorator.js\";\nimport { GetEntryByIdWithFlpDecorator } from \"./decorators/GetEntryByIdWithFlpDecorator.js\";\nimport { GetLatestEntriesByIdsWithFlpDecorator } from \"./decorators/GetLatestEntriesByIdsWithFlpDecorator.js\";\nimport { GetPublishedEntriesByIdsWithFlpDecorator } from \"./decorators/GetPublishedEntriesByIdsWithFlpDecorator.js\";\nimport { ListLatestEntriesWithFlpDecorator } from \"./decorators/ListLatestEntriesWithFlpDecorator.js\";\nimport { ListPublishedEntriesWithFlpDecorator } from \"./decorators/ListPublishedEntriesWithFlpDecorator.js\";\nimport { ListDeletedEntriesWithFlpDecorator } from \"./decorators/ListDeletedEntriesWithFlpDecorator.js\";\nimport { ListEntriesWithFlpDecorator } from \"./decorators/ListEntriesWithFlpDecorator.js\";\n\nexport const CmsFlpFeature = createFeature({\n name: \"Aco/CmsFlp\",\n register(container) {\n // Command decorators\n container.registerDecorator(CreateEntryWithFlpDecorator);\n container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);\n container.registerDecorator(UpdateEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);\n container.registerDecorator(MoveEntryWithFlpDecorator);\n\n // Query decorators - single entry\n container.registerDecorator(GetEntryWithFlpDecorator);\n container.registerDecorator(GetEntryByIdWithFlpDecorator);\n\n // Query decorators - multiple entries\n container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);\n container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);\n\n // Query decorators - list entries\n container.registerDecorator(ListEntriesWithFlpDecorator);\n container.registerDecorator(ListLatestEntriesWithFlpDecorator);\n container.registerDecorator(ListPublishedEntriesWithFlpDecorator);\n container.registerDecorator(ListDeletedEntriesWithFlpDecorator);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,2BAA2B;AACpC,SAASC,uCAAuC;AAChD,SAASC,2BAA2B;AACpC,SAASC,2BAA2B;AACpC,SAASC,mCAAmC;AAC5C,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;AACjC,SAASC,4BAA4B;AACrC,SAASC,qCAAqC;AAC9C,SAASC,wCAAwC;AACjD,SAASC,iCAAiC;AAC1C,SAASC,oCAAoC;AAC7C,SAASC,kCAAkC;AAC3C,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,aAAa,GAAGf,aAAa,CAAC;EACvCgB,IAAI,EAAE,YAAY;EAClBC,QAAQA,CAACC,SAAS,EAAE;IAChB;IACAA,SAAS,CAACC,iBAAiB,CAAClB,2BAA2B,CAAC;IACxDiB,SAAS,CAACC,iBAAiB,CAACjB,uCAAuC,CAAC;IACpEgB,SAAS,CAACC,iBAAiB,CAAChB,2BAA2B,CAAC;IACxDe,SAAS,CAACC,iBAAiB,CAACf,2BAA2B,CAAC;IACxDc,SAAS,CAACC,iBAAiB,CAACd,mCAAmC,CAAC;IAChEa,SAAS,CAACC,iBAAiB,CAACb,yBAAyB,CAAC;;IAEtD;IACAY,SAAS,CAACC,iBAAiB,CAACZ,wBAAwB,CAAC;IACrDW,SAAS,CAACC,iBAAiB,CAACX,4BAA4B,CAAC;;IAEzD;IACAU,SAAS,CAACC,iBAAiB,CAACV,qCAAqC,CAAC;IAClES,SAAS,CAACC,iBAAiB,CAACT,wCAAwC,CAAC;;IAErE;IACAQ,SAAS,CAACC,iBAAiB,CAACL,2BAA2B,CAAC;IACxDI,SAAS,CAACC,iBAAiB,CAACR,iCAAiC,CAAC;IAC9DO,SAAS,CAACC,iBAAiB,CAACP,oCAAoC,CAAC;IACjEM,SAAS,CAACC,iBAAiB,CAACN,kCAAkC,CAAC;EACnE;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/feature.js","sources":["../../../src/features/cms/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateEntryWithFlpDecorator } from \"./decorators/CreateEntryWithFlpDecorator.js\";\nimport { CreateEntryRevisionFromWithFlpDecorator } from \"./decorators/CreateEntryRevisionFromWithFlpDecorator.js\";\nimport { UpdateEntryWithFlpDecorator } from \"./decorators/UpdateEntryWithFlpDecorator.js\";\nimport { DeleteEntryWithFlpDecorator } from \"./decorators/DeleteEntryWithFlpDecorator.js\";\nimport { DeleteEntryRevisionWithFlpDecorator } from \"./decorators/DeleteEntryRevisionWithFlpDecorator.js\";\nimport { MoveEntryWithFlpDecorator } from \"./decorators/MoveEntryWithFlpDecorator.js\";\nimport { GetEntryWithFlpDecorator } from \"./decorators/GetEntryWithFlpDecorator.js\";\nimport { GetEntryByIdWithFlpDecorator } from \"./decorators/GetEntryByIdWithFlpDecorator.js\";\nimport { GetLatestEntriesByIdsWithFlpDecorator } from \"./decorators/GetLatestEntriesByIdsWithFlpDecorator.js\";\nimport { GetPublishedEntriesByIdsWithFlpDecorator } from \"./decorators/GetPublishedEntriesByIdsWithFlpDecorator.js\";\nimport { ListLatestEntriesWithFlpDecorator } from \"./decorators/ListLatestEntriesWithFlpDecorator.js\";\nimport { ListPublishedEntriesWithFlpDecorator } from \"./decorators/ListPublishedEntriesWithFlpDecorator.js\";\nimport { ListDeletedEntriesWithFlpDecorator } from \"./decorators/ListDeletedEntriesWithFlpDecorator.js\";\nimport { ListEntriesWithFlpDecorator } from \"./decorators/ListEntriesWithFlpDecorator.js\";\n\nexport const CmsFlpFeature = createFeature({\n name: \"Aco/CmsFlp\",\n register(container) {\n // Command decorators\n container.registerDecorator(CreateEntryWithFlpDecorator);\n container.registerDecorator(CreateEntryRevisionFromWithFlpDecorator);\n container.registerDecorator(UpdateEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryWithFlpDecorator);\n container.registerDecorator(DeleteEntryRevisionWithFlpDecorator);\n container.registerDecorator(MoveEntryWithFlpDecorator);\n\n // Query decorators - single entry\n container.registerDecorator(GetEntryWithFlpDecorator);\n container.registerDecorator(GetEntryByIdWithFlpDecorator);\n\n // Query decorators - multiple entries\n container.registerDecorator(GetLatestEntriesByIdsWithFlpDecorator);\n container.registerDecorator(GetPublishedEntriesByIdsWithFlpDecorator);\n\n // Query decorators - list entries\n container.registerDecorator(ListEntriesWithFlpDecorator);\n container.registerDecorator(ListLatestEntriesWithFlpDecorator);\n container.registerDecorator(ListPublishedEntriesWithFlpDecorator);\n container.registerDecorator(ListDeletedEntriesWithFlpDecorator);\n }\n});\n"],"names":["CmsFlpFeature","createFeature","container","CreateEntryWithFlpDecorator","CreateEntryRevisionFromWithFlpDecorator","UpdateEntryWithFlpDecorator","DeleteEntryWithFlpDecorator","DeleteEntryRevisionWithFlpDecorator","MoveEntryWithFlpDecorator","GetEntryWithFlpDecorator","GetEntryByIdWithFlpDecorator","GetLatestEntriesByIdsWithFlpDecorator","GetPublishedEntriesByIdsWithFlpDecorator","ListEntriesWithFlpDecorator","ListLatestEntriesWithFlpDecorator","ListPublishedEntriesWithFlpDecorator","ListDeletedEntriesWithFlpDecorator"],"mappings":";;;;;;;;;;;;;;;AAgBO,MAAMA,gBAAgBC,cAAc;IACvC,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,iBAAiB,CAACC;QAC5BD,UAAU,iBAAiB,CAACE;QAC5BF,UAAU,iBAAiB,CAACG;QAC5BH,UAAU,iBAAiB,CAACI;QAC5BJ,UAAU,iBAAiB,CAACK;QAC5BL,UAAU,iBAAiB,CAACM;QAG5BN,UAAU,iBAAiB,CAACO;QAC5BP,UAAU,iBAAiB,CAACQ;QAG5BR,UAAU,iBAAiB,CAACS;QAC5BT,UAAU,iBAAiB,CAACU;QAG5BV,UAAU,iBAAiB,CAACW;QAC5BX,UAAU,iBAAiB,CAACY;QAC5BZ,UAAU,iBAAiB,CAACa;QAC5Bb,UAAU,iBAAiB,CAACc;IAChC;AACJ"}
@@ -1,3 +1 @@
1
1
  export { CmsFlpFeature } from "./feature.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,41 +1,34 @@
1
1
  import { WebinyError } from "@webiny/error";
2
2
  import { Path } from "../../../utils/Path.js";
3
3
  import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
4
- export class CreateFlpUseCase {
5
- constructor(context) {
6
- this.context = context;
7
- }
8
- async execute(folder) {
9
- try {
10
- const {
11
- id,
12
- type,
13
- slug,
14
- parentId,
15
- permissions
16
- } = folder;
17
- let parentFlp = null;
18
- if (parentId) {
19
- parentFlp = await this.context.aco.flp.get(parentId);
20
- if (!parentFlp) {
21
- throw new WebinyError("Parent folder level permission not found. Unable to create a new record in the FLP catalog.", "ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND");
4
+ class CreateFlpUseCase {
5
+ constructor(context){
6
+ this.context = context;
7
+ }
8
+ async execute(folder) {
9
+ try {
10
+ const { id, type, slug, parentId, permissions } = folder;
11
+ let parentFlp = null;
12
+ if (parentId) {
13
+ parentFlp = await this.context.aco.flp.get(parentId);
14
+ if (!parentFlp) throw new WebinyError("Parent folder level permission not found. Unable to create a new record in the FLP catalog.", "ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND");
15
+ }
16
+ await this.context.aco.flp.create({
17
+ id,
18
+ type,
19
+ slug,
20
+ parentId: parentId ?? ROOT_FOLDER,
21
+ path: Path.create(slug, parentFlp?.path),
22
+ permissions: Permissions.create(permissions, parentFlp)
23
+ });
24
+ } catch (error) {
25
+ throw WebinyError.from(error, {
26
+ message: "Error while creating FLP",
27
+ code: "ERROR_CREATE_FLP_USE_CASE"
28
+ });
22
29
  }
23
- }
24
- await this.context.aco.flp.create({
25
- id,
26
- type,
27
- slug,
28
- parentId: parentId ?? ROOT_FOLDER,
29
- path: Path.create(slug, parentFlp?.path),
30
- permissions: Permissions.create(permissions, parentFlp)
31
- });
32
- } catch (error) {
33
- throw WebinyError.from(error, {
34
- message: "Error while creating FLP",
35
- code: "ERROR_CREATE_FLP_USE_CASE"
36
- });
37
30
  }
38
- }
39
31
  }
32
+ export { CreateFlpUseCase };
40
33
 
41
34
  //# sourceMappingURL=CreateFlpUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","Path","Permissions","ROOT_FOLDER","CreateFlpUseCase","constructor","context","execute","folder","id","type","slug","parentId","permissions","parentFlp","aco","flp","get","create","path","error","from","message","code"],"sources":["CreateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission as IFolderLevelPermission } from \"~/flp/flp.types.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class CreateFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n const { id, type, slug, parentId, permissions } = folder;\n let parentFlp: IFolderLevelPermission | null = null;\n\n if (parentId) {\n parentFlp = await this.context.aco.flp.get(parentId);\n\n if (!parentFlp) {\n throw new WebinyError(\n \"Parent folder level permission not found. Unable to create a new record in the FLP catalog.\",\n \"ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND\"\n );\n }\n }\n\n await this.context.aco.flp.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while creating FLP\",\n code: \"ERROR_CREATE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,IAAI;AACb,SAASC,WAAW,EAAEC,WAAW,QAAQ,oBAAoB;AAM7D,OAAO,MAAMC,gBAAgB,CAAyC;EAClEC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1C,MAAMC,OAAOA,CAACC,MAAc,EAAiB;IACzC,IAAI;MACA,MAAM;QAAEC,EAAE;QAAEC,IAAI;QAAEC,IAAI;QAAEC,QAAQ;QAAEC;MAAY,CAAC,GAAGL,MAAM;MACxD,IAAIM,SAAwC,GAAG,IAAI;MAEnD,IAAIF,QAAQ,EAAE;QACVE,SAAS,GAAG,MAAM,IAAI,CAACR,OAAO,CAACS,GAAG,CAACC,GAAG,CAACC,GAAG,CAACL,QAAQ,CAAC;QAEpD,IAAI,CAACE,SAAS,EAAE;UACZ,MAAM,IAAId,WAAW,CACjB,6FAA6F,EAC7F,gDACJ,CAAC;QACL;MACJ;MAEA,MAAM,IAAI,CAACM,OAAO,CAACS,GAAG,CAACC,GAAG,CAACE,MAAM,CAAC;QAC9BT,EAAE;QACFC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,IAAIT,WAAW;QACjCgB,IAAI,EAAElB,IAAI,CAACiB,MAAM,CAACP,IAAI,EAAEG,SAAS,EAAEK,IAAI,CAAC;QACxCN,WAAW,EAAEX,WAAW,CAACgB,MAAM,CAACL,WAAW,EAAEC,SAAS;MAC1D,CAAC,CAAC;IACN,CAAC,CAAC,OAAOM,KAAK,EAAE;MACZ,MAAMpB,WAAW,CAACqB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/flp/CreateFlp/CreateFlpUseCase.js","sources":["../../../../src/features/flp/CreateFlp/CreateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission as IFolderLevelPermission } from \"~/flp/flp.types.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class CreateFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n const { id, type, slug, parentId, permissions } = folder;\n let parentFlp: IFolderLevelPermission | null = null;\n\n if (parentId) {\n parentFlp = await this.context.aco.flp.get(parentId);\n\n if (!parentFlp) {\n throw new WebinyError(\n \"Parent folder level permission not found. Unable to create a new record in the FLP catalog.\",\n \"ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND\"\n );\n }\n }\n\n await this.context.aco.flp.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while creating FLP\",\n code: \"ERROR_CREATE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"names":["CreateFlpUseCase","context","folder","id","type","slug","parentId","permissions","parentFlp","WebinyError","ROOT_FOLDER","Path","Permissions","error"],"mappings":";;;AAQO,MAAMA;IACT,YAAoBC,OAAmB,CAAE;aAArBA,OAAO,GAAPA;IAAsB;IAE1C,MAAM,QAAQC,MAAc,EAAiB;QACzC,IAAI;YACA,MAAM,EAAEC,EAAE,EAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGL;YAClD,IAAIM,YAA2C;YAE/C,IAAIF,UAAU;gBACVE,YAAY,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAACF;gBAE3C,IAAI,CAACE,WACD,MAAM,IAAIC,YACN,+FACA;YAGZ;YAEA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC9BN;gBACAC;gBACAC;gBACA,UAAUC,YAAYI;gBACtB,MAAMC,KAAK,MAAM,CAACN,MAAMG,WAAW;gBACnC,aAAaI,YAAY,MAAM,CAACL,aAAaC;YACjD;QACJ,EAAE,OAAOK,OAAO;YACZ,MAAMJ,YAAY,IAAI,CAACI,OAAO;gBAC1B,SAAS;gBACT,MAAM;YACV;QACJ;IACJ;AACJ"}