@webiny/api-aco 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.e9333b3f0b

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 (471) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +132 -0
  3. package/AcoFeature.js.map +1 -0
  4. package/AcoFolderSchemaFactory.d.ts +32 -0
  5. package/AcoFolderSchemaFactory.js +82 -0
  6. package/AcoFolderSchemaFactory.js.map +1 -0
  7. package/constants.js +2 -1
  8. package/constants.js.map +1 -1
  9. package/createAcoGraphQL.d.ts +8 -4
  10. package/createAcoGraphQL.js +56 -97
  11. package/createAcoGraphQL.js.map +1 -1
  12. package/domain/folder/abstractions.d.ts +12 -5
  13. package/domain/folder/abstractions.js +2 -5
  14. package/domain/folder/abstractions.js.map +1 -1
  15. package/domain/folder/errors.js +42 -47
  16. package/domain/folder/errors.js.map +1 -1
  17. package/domain/folder/folder.model.js +53 -36
  18. package/domain/folder/folder.model.js.map +1 -1
  19. package/exports/api/aco/flp.d.ts +1 -0
  20. package/exports/api/aco/flp.js +1 -2
  21. package/exports/api/aco/folder.d.ts +2 -1
  22. package/exports/api/aco/folder.js +5 -7
  23. package/features/ai/CreateFolderTool.d.ts +51 -0
  24. package/features/ai/CreateFolderTool.js +65 -0
  25. package/features/ai/CreateFolderTool.js.map +1 -0
  26. package/features/ai/CreateTeamTool.d.ts +48 -0
  27. package/features/ai/CreateTeamTool.js +56 -0
  28. package/features/ai/CreateTeamTool.js.map +1 -0
  29. package/features/ai/DeleteFolderTool.d.ts +50 -0
  30. package/features/ai/DeleteFolderTool.js +62 -0
  31. package/features/ai/DeleteFolderTool.js.map +1 -0
  32. package/features/ai/GrantFolderAccessTool.d.ts +79 -0
  33. package/features/ai/GrantFolderAccessTool.js +87 -0
  34. package/features/ai/GrantFolderAccessTool.js.map +1 -0
  35. package/features/ai/ListFoldersTool.d.ts +47 -0
  36. package/features/ai/ListFoldersTool.js +57 -0
  37. package/features/ai/ListFoldersTool.js.map +1 -0
  38. package/features/ai/ListRolesTool.d.ts +39 -0
  39. package/features/ai/ListRolesTool.js +48 -0
  40. package/features/ai/ListRolesTool.js.map +1 -0
  41. package/features/ai/ListTeamsTool.d.ts +39 -0
  42. package/features/ai/ListTeamsTool.js +48 -0
  43. package/features/ai/ListTeamsTool.js.map +1 -0
  44. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
  45. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js +37 -0
  46. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
  47. package/features/ai/NotifyFolderChange/abstractions.d.ts +20 -0
  48. package/features/ai/NotifyFolderChange/abstractions.js +8 -0
  49. package/features/ai/NotifyFolderChange/abstractions.js.map +1 -0
  50. package/features/ai/NotifyFolderChange/index.d.ts +1 -0
  51. package/features/ai/NotifyFolderChange/index.js +1 -0
  52. package/features/ai/RevokeFolderAccessTool.d.ts +65 -0
  53. package/features/ai/RevokeFolderAccessTool.js +76 -0
  54. package/features/ai/RevokeFolderAccessTool.js.map +1 -0
  55. package/features/ai/assertTargetIsUsable.d.ts +10 -0
  56. package/features/ai/assertTargetIsUsable.js +14 -0
  57. package/features/ai/assertTargetIsUsable.js.map +1 -0
  58. package/features/ai/feature.d.ts +12 -0
  59. package/features/ai/feature.js +27 -0
  60. package/features/ai/feature.js.map +1 -0
  61. package/features/ai/index.d.ts +9 -0
  62. package/features/ai/index.js +9 -0
  63. package/features/ai/loadFolderPermissions.d.ts +16 -0
  64. package/features/ai/loadFolderPermissions.js +14 -0
  65. package/features/ai/loadFolderPermissions.js.map +1 -0
  66. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  67. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  68. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  69. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  70. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  71. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  72. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  73. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  74. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  75. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  76. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  77. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  78. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  79. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  80. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  81. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  82. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +28 -28
  83. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  84. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +28 -27
  85. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  86. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +28 -28
  87. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  88. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +28 -28
  89. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  90. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +1 -1
  91. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  92. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  93. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  94. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  95. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  96. package/features/cms/feature.js +19 -25
  97. package/features/cms/feature.js.map +1 -1
  98. package/features/cms/index.js +0 -2
  99. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +3 -3
  100. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  101. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  102. package/features/flp/CreateFlp/abstractions.js +2 -5
  103. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  104. package/features/flp/CreateFlp/feature.d.ts +1 -6
  105. package/features/flp/CreateFlp/feature.js +8 -8
  106. package/features/flp/CreateFlp/feature.js.map +1 -1
  107. package/features/flp/CreateFlp/index.js +0 -2
  108. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +27 -27
  109. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  110. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  111. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  112. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  113. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +3 -3
  114. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  115. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  116. package/features/flp/DeleteFlp/abstractions.js +2 -5
  117. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  118. package/features/flp/DeleteFlp/feature.d.ts +1 -6
  119. package/features/flp/DeleteFlp/feature.js +8 -8
  120. package/features/flp/DeleteFlp/feature.js.map +1 -1
  121. package/features/flp/DeleteFlp/index.js +0 -2
  122. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +27 -27
  123. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  124. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  125. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  126. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  127. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  128. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +88 -109
  129. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  130. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  131. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  132. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  133. package/features/flp/FolderLevelPermissions/abstractions.js +2 -2
  134. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  135. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  136. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  137. package/features/flp/FolderLevelPermissions/index.d.ts +1 -0
  138. package/features/flp/FolderLevelPermissions/index.js +1 -2
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  146. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  147. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  148. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  149. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  150. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  151. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  152. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  153. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  154. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  155. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  156. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  157. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  158. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  159. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  160. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  161. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  162. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  163. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  164. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  165. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  166. package/features/flp/GetFlp/abstractions.js +2 -2
  167. package/features/flp/GetFlp/abstractions.js.map +1 -1
  168. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
  169. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
  170. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
  171. package/features/flp/GetFlp/feature.d.ts +1 -1
  172. package/features/flp/GetFlp/feature.js +8 -8
  173. package/features/flp/GetFlp/feature.js.map +1 -1
  174. package/features/flp/GetFlp/index.js +0 -2
  175. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  176. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  177. package/features/flp/ListFlps/abstractions.js +2 -2
  178. package/features/flp/ListFlps/abstractions.js.map +1 -1
  179. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
  180. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
  181. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
  182. package/features/flp/ListFlps/feature.d.ts +1 -1
  183. package/features/flp/ListFlps/feature.js +8 -8
  184. package/features/flp/ListFlps/feature.js.map +1 -1
  185. package/features/flp/ListFlps/index.js +0 -2
  186. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +15 -8
  187. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +130 -186
  188. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  189. package/features/flp/UpdateFlp/abstractions.d.ts +6 -2
  190. package/features/flp/UpdateFlp/abstractions.js +2 -5
  191. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  192. package/features/flp/UpdateFlp/feature.d.ts +1 -6
  193. package/features/flp/UpdateFlp/feature.js +12 -8
  194. package/features/flp/UpdateFlp/feature.js.map +1 -1
  195. package/features/flp/UpdateFlp/index.js +0 -2
  196. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +29 -29
  197. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  198. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  199. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  200. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  201. package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
  202. package/features/flp/shared/CodeFlpMerger.js +20 -0
  203. package/features/flp/shared/CodeFlpMerger.js.map +1 -0
  204. package/features/flp/shared/CodeFlpPath.d.ts +15 -0
  205. package/features/flp/shared/CodeFlpPath.js +29 -0
  206. package/features/flp/shared/CodeFlpPath.js.map +1 -0
  207. package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
  208. package/features/flp/shared/CodeFlpTarget.js +26 -0
  209. package/features/flp/shared/CodeFlpTarget.js.map +1 -0
  210. package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
  211. package/features/flp/shared/CodeFlpsProvider.js +33 -0
  212. package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
  213. package/features/flp/shared/abstractions.d.ts +77 -0
  214. package/features/flp/shared/abstractions.js +19 -0
  215. package/features/flp/shared/abstractions.js.map +1 -0
  216. package/features/flp/shared/feature.d.ts +5 -0
  217. package/features/flp/shared/feature.js +17 -0
  218. package/features/flp/shared/feature.js.map +1 -0
  219. package/features/flp/shared/index.d.ts +4 -0
  220. package/features/flp/shared/index.js +4 -0
  221. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +3 -3
  222. package/features/folder/CreateFolder/CreateFolderRepository.js +71 -91
  223. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  224. package/features/folder/CreateFolder/CreateFolderUseCase.js +27 -30
  225. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  226. package/features/folder/CreateFolder/abstractions.js +5 -22
  227. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  228. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +9 -1
  229. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +45 -33
  230. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  231. package/features/folder/CreateFolder/events.js +16 -14
  232. package/features/folder/CreateFolder/events.js.map +1 -1
  233. package/features/folder/CreateFolder/feature.js +8 -7
  234. package/features/folder/CreateFolder/feature.js.map +1 -1
  235. package/features/folder/CreateFolder/index.js +1 -3
  236. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +3 -3
  237. package/features/folder/DeleteFolder/DeleteFolderRepository.js +24 -21
  238. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  239. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +35 -43
  240. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  241. package/features/folder/DeleteFolder/abstractions.js +5 -22
  242. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  243. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +1 -1
  244. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  245. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  246. package/features/folder/DeleteFolder/events.js +16 -14
  247. package/features/folder/DeleteFolder/events.js.map +1 -1
  248. package/features/folder/DeleteFolder/feature.js +8 -7
  249. package/features/folder/DeleteFolder/feature.js.map +1 -1
  250. package/features/folder/DeleteFolder/index.js +1 -3
  251. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +47 -44
  252. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  253. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -2
  254. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  255. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  256. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  257. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  258. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +16 -20
  259. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  260. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  261. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  262. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  263. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +40 -44
  264. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  265. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  266. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  267. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  268. package/features/folder/FolderModelProvider.d.ts +26 -0
  269. package/features/folder/FolderModelProvider.js +22 -0
  270. package/features/folder/FolderModelProvider.js.map +1 -0
  271. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +3 -3
  272. package/features/folder/GetAncestors/GetAncestorsRepository.js +47 -76
  273. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  274. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  275. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  276. package/features/folder/GetAncestors/abstractions.js +3 -14
  277. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  278. package/features/folder/GetAncestors/feature.js +7 -6
  279. package/features/folder/GetAncestors/feature.js.map +1 -1
  280. package/features/folder/GetAncestors/index.js +0 -2
  281. package/features/folder/GetFolder/GetFolderRepository.d.ts +3 -3
  282. package/features/folder/GetFolder/GetFolderRepository.js +23 -20
  283. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  284. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  285. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  286. package/features/folder/GetFolder/abstractions.js +5 -21
  287. package/features/folder/GetFolder/abstractions.js.map +1 -1
  288. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +8 -8
  289. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  290. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  291. package/features/folder/GetFolder/feature.js +8 -7
  292. package/features/folder/GetFolder/feature.js.map +1 -1
  293. package/features/folder/GetFolder/index.js +0 -2
  294. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
  295. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +70 -87
  296. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  297. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  298. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  299. package/features/folder/GetFolderHierarchy/abstractions.js +3 -14
  300. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  301. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  302. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  303. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  304. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  305. package/features/folder/GetFolderHierarchy/index.js +0 -2
  306. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +65 -58
  307. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  308. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -5
  309. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  310. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  311. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  312. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  313. package/features/folder/ListFolders/ListFoldersRepository.d.ts +3 -3
  314. package/features/folder/ListFolders/ListFoldersRepository.js +41 -42
  315. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  316. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  317. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  318. package/features/folder/ListFolders/abstractions.js +3 -14
  319. package/features/folder/ListFolders/abstractions.js.map +1 -1
  320. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  321. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  322. package/features/folder/ListFolders/feature.js +8 -7
  323. package/features/folder/ListFolders/feature.js.map +1 -1
  324. package/features/folder/ListFolders/index.js +0 -2
  325. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +3 -3
  326. package/features/folder/UpdateFolder/UpdateFolderRepository.js +70 -93
  327. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  328. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +38 -45
  329. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  330. package/features/folder/UpdateFolder/abstractions.js +5 -22
  331. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  332. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +14 -1
  333. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +91 -62
  334. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  335. package/features/folder/UpdateFolder/events.js +16 -14
  336. package/features/folder/UpdateFolder/events.js.map +1 -1
  337. package/features/folder/UpdateFolder/feature.js +8 -7
  338. package/features/folder/UpdateFolder/feature.js.map +1 -1
  339. package/features/folder/UpdateFolder/index.js +0 -2
  340. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  341. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  342. package/features/folder/shared/abstractions.d.ts +14 -0
  343. package/features/folder/shared/abstractions.js +5 -2
  344. package/features/folder/shared/abstractions.js.map +1 -1
  345. package/filter/filter.crud.js +28 -31
  346. package/filter/filter.crud.js.map +1 -1
  347. package/filter/filter.gql.d.ts +2 -3
  348. package/filter/filter.gql.js +72 -54
  349. package/filter/filter.gql.js.map +1 -1
  350. package/filter/filter.model.js +45 -35
  351. package/filter/filter.model.js.map +1 -1
  352. package/filter/filter.so.d.ts +8 -2
  353. package/filter/filter.so.js +85 -93
  354. package/filter/filter.so.js.map +1 -1
  355. package/filter/filter.types.js +5 -4
  356. package/filter/filter.types.js.map +1 -1
  357. package/flp/flp.crud.js +69 -86
  358. package/flp/flp.crud.js.map +1 -1
  359. package/flp/flp.types.d.ts +2 -1
  360. package/flp/flp.types.js +0 -3
  361. package/flp/index.d.ts +0 -1
  362. package/flp/index.js +0 -3
  363. package/flp/tasks/createFlp.task.d.ts +14 -8
  364. package/flp/tasks/createFlp.task.js +37 -28
  365. package/flp/tasks/createFlp.task.js.map +1 -1
  366. package/flp/tasks/deleteFlp.task.d.ts +14 -8
  367. package/flp/tasks/deleteFlp.task.js +37 -28
  368. package/flp/tasks/deleteFlp.task.js.map +1 -1
  369. package/flp/tasks/index.d.ts +0 -1
  370. package/flp/tasks/index.js +5 -17
  371. package/flp/tasks/index.js.map +1 -1
  372. package/flp/tasks/syncFlp.task.d.ts +14 -8
  373. package/flp/tasks/syncFlp.task.js +107 -114
  374. package/flp/tasks/syncFlp.task.js.map +1 -1
  375. package/flp/tasks/updateFlp.task.d.ts +14 -8
  376. package/flp/tasks/updateFlp.task.js +48 -33
  377. package/flp/tasks/updateFlp.task.js.map +1 -1
  378. package/folder/createFolderModelModifier.js +50 -50
  379. package/folder/createFolderModelModifier.js.map +1 -1
  380. package/folder/createFolderTypeDefs.js +43 -51
  381. package/folder/createFolderTypeDefs.js.map +1 -1
  382. package/folder/folder.gql.d.ts +1 -1
  383. package/folder/folder.gql.js +109 -136
  384. package/folder/folder.gql.js.map +1 -1
  385. package/folder/folder.types.js +0 -3
  386. package/index.d.ts +1 -6
  387. package/index.js +2 -9
  388. package/package.json +30 -29
  389. package/types.d.ts +1 -1
  390. package/types.js +5 -4
  391. package/types.js.map +1 -1
  392. package/utils/FoldersCacheFactory.js +20 -19
  393. package/utils/FoldersCacheFactory.js.map +1 -1
  394. package/utils/ListCache.js +20 -19
  395. package/utils/ListCache.js.map +1 -1
  396. package/utils/Path.js +5 -6
  397. package/utils/Path.js.map +1 -1
  398. package/utils/compress.js +8 -7
  399. package/utils/compress.js.map +1 -1
  400. package/utils/createListSort.js +4 -7
  401. package/utils/createListSort.js.map +1 -1
  402. package/utils/createOperationsWrapper.d.ts +5 -2
  403. package/utils/createOperationsWrapper.js +12 -19
  404. package/utils/createOperationsWrapper.js.map +1 -1
  405. package/utils/decorators/CmsEntriesCrudDecorators.js +169 -196
  406. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  407. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  408. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  409. package/utils/decorators/ListEntriesFactory.js +65 -98
  410. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  411. package/utils/decorators/hasRootFolderId.js +6 -12
  412. package/utils/decorators/hasRootFolderId.js.map +1 -1
  413. package/utils/decorators/isPageModel.js +5 -10
  414. package/utils/decorators/isPageModel.js.map +1 -1
  415. package/utils/ensureAuthentication.js +6 -7
  416. package/utils/ensureAuthentication.js.map +1 -1
  417. package/utils/pickEntryFieldValues.js +24 -18
  418. package/utils/pickEntryFieldValues.js.map +1 -1
  419. package/utils/resolve.d.ts +2 -2
  420. package/utils/resolve.js +8 -7
  421. package/utils/resolve.js.map +1 -1
  422. package/createAcoContext.d.ts +0 -9
  423. package/createAcoContext.js +0 -137
  424. package/createAcoContext.js.map +0 -1
  425. package/createAcoStorageOperations.d.ts +0 -12
  426. package/createAcoStorageOperations.js +0 -10
  427. package/createAcoStorageOperations.js.map +0 -1
  428. package/createAcoTasks.d.ts +0 -1
  429. package/createAcoTasks.js +0 -15
  430. package/createAcoTasks.js.map +0 -1
  431. package/exports/api/aco/flp.js.map +0 -1
  432. package/exports/api/aco/folder.js.map +0 -1
  433. package/features/cms/index.js.map +0 -1
  434. package/features/flp/CreateFlp/index.js.map +0 -1
  435. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  436. package/features/flp/DeleteFlp/index.js.map +0 -1
  437. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  438. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  439. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  440. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  441. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  442. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  443. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  444. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  445. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  446. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  447. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  448. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  449. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  450. package/features/flp/GetFlp/index.js.map +0 -1
  451. package/features/flp/ListFlps/index.js.map +0 -1
  452. package/features/flp/UpdateFlp/index.js.map +0 -1
  453. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  454. package/features/folder/CreateFolder/index.js.map +0 -1
  455. package/features/folder/DeleteFolder/index.js.map +0 -1
  456. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  457. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  458. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  459. package/features/folder/GetAncestors/index.js.map +0 -1
  460. package/features/folder/GetFolder/index.js.map +0 -1
  461. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  462. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  463. package/features/folder/ListFolders/index.js.map +0 -1
  464. package/features/folder/UpdateFolder/index.js.map +0 -1
  465. package/flp/flp.so.d.ts +0 -20
  466. package/flp/flp.so.js +0 -220
  467. package/flp/flp.so.js.map +0 -1
  468. package/flp/flp.types.js.map +0 -1
  469. package/flp/index.js.map +0 -1
  470. package/folder/folder.types.js.map +0 -1
  471. package/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","ListDeletedEntriesUseCase","FolderLevelPermissions","ListEntriesFactory","ListDeletedEntriesWithFlpDecoratorImpl","constructor","folderLevelPermissions","decoratee","listEntriesHandler","execute","model","params","loader","result","value","entries","meta","dataLoader","initialParams","ok","ListDeletedEntriesWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["ListDeletedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListDeletedEntriesUseCase } 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 ListDeletedEntriesWithFlpDecoratorImpl implements ListDeletedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListDeletedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListDeletedEntriesUseCase.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 ListDeletedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListDeletedEntriesUseCase,\n decorator: ListDeletedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,yBAAyB,QAAQ,4EAA4E;AAMtH,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAE3B,MAAMC,sCAAsC,CAAgD;EAGxFC,WAAWA,CACPC,sBAAwD,EAChDC,SAA8C,EACxD;IAAA,KADUA,SAA8C,GAA9CA,SAA8C;IAEtD,IAAI,CAACC,kBAAkB,GAAG,IAAIL,kBAAkB,CAACG,sBAAsB,CAAC;EAC5E;EAEA,MAAMG,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACQ;IACnC,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,kCAAkC,GAAGrB,eAAe,CAAC;EAC9DsB,WAAW,EAAEpB,yBAAyB;EACtCqB,SAAS,EAAElB,sCAAsC;EACjDmB,YAAY,EAAE,CAACrB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator } from \"@webiny/feature/api\";\nimport { Result } from \"@webiny/feature/api\";\nimport { ListDeletedEntriesUseCase } 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 ListDeletedEntriesWithFlpDecoratorImpl implements ListDeletedEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListDeletedEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListDeletedEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\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 ListDeletedEntriesWithFlpDecorator = createDecorator({\n abstraction: ListDeletedEntriesUseCase,\n decorator: ListDeletedEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListDeletedEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListDeletedEntriesWithFlpDecorator","createDecorator","ListDeletedEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAWA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAA8C,CACxD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACQ;QACnC,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,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,qCAAqCC,gBAAgB;IAC9D,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
@@ -1,35 +1,36 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
3
3
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
4
4
  import { ListEntriesFactory } from "../../../utils/decorators/ListEntriesFactory.js";
5
5
  class ListEntriesWithFlpDecoratorImpl {
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 {
16
- entries,
17
- meta
18
- } = await this.listEntriesHandler.execute({
19
- model,
20
- dataLoader: loader,
21
- initialParams: params
22
- });
23
- return Result.ok({
24
- entries,
25
- meta
26
- });
27
- }
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
+ if (result.isFail()) throw result.error;
14
+ return result.value;
15
+ };
16
+ const { entries, meta } = await this.listEntriesHandler.execute({
17
+ model,
18
+ dataLoader: loader,
19
+ initialParams: params
20
+ });
21
+ return Result.ok({
22
+ entries,
23
+ meta
24
+ });
25
+ }
28
26
  }
29
- export const ListEntriesWithFlpDecorator = createDecorator({
30
- abstraction: ListEntriesUseCase,
31
- decorator: ListEntriesWithFlpDecoratorImpl,
32
- dependencies: [FolderLevelPermissions]
27
+ const ListEntriesWithFlpDecorator = createDecorator({
28
+ abstraction: ListEntriesUseCase,
29
+ decorator: ListEntriesWithFlpDecoratorImpl,
30
+ dependencies: [
31
+ FolderLevelPermissions
32
+ ]
33
33
  });
34
+ export { ListEntriesWithFlpDecorator };
34
35
 
35
36
  //# sourceMappingURL=ListEntriesWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","ListEntriesUseCase","FolderLevelPermissions","ListEntriesFactory","ListEntriesWithFlpDecoratorImpl","constructor","folderLevelPermissions","decoratee","listEntriesHandler","execute","model","params","loader","result","value","entries","meta","dataLoader","initialParams","ok","ListEntriesWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["ListEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { ListEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryValues,\n CmsModel\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 ListEntriesWithFlpDecoratorImpl implements ListEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListEntriesUseCase.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 ListEntriesWithFlpDecorator = createDecorator({\n abstraction: ListEntriesUseCase,\n decorator: ListEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,4EAA4E;AAM/G,SAASC,sBAAsB;AAC/B,SAASC,kBAAkB;AAE3B,MAAMC,+BAA+B,CAAyC;EAG1EC,WAAWA,CACPC,sBAAwD,EAChDC,SAAuC,EACjD;IAAA,KADUA,SAAuC,GAAvCA,SAAuC;IAE/C,IAAI,CAACC,kBAAkB,GAAG,IAAIL,kBAAkB,CAACG,sBAAsB,CAAC;EAC5E;EAEA,MAAMG,OAAOA,CACTC,KAAe,EACfC,MAA2B,EACC;IAC5B,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,2BAA2B,GAAGrB,eAAe,CAAC;EACvDsB,WAAW,EAAEpB,kBAAkB;EAC/BqB,SAAS,EAAElB,+BAA+B;EAC1CmB,YAAY,EAAE,CAACrB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/ListEntriesWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/ListEntriesWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { ListEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js\";\nimport type {\n CmsEntryListParams,\n CmsEntryValues,\n CmsModel\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 ListEntriesWithFlpDecoratorImpl implements ListEntriesUseCase.Interface {\n private readonly listEntriesHandler: ListEntriesFactory;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListEntriesUseCase.Interface\n ) {\n this.listEntriesHandler = new ListEntriesFactory(folderLevelPermissions);\n }\n\n async execute<T extends CmsEntryValues>(\n model: CmsModel,\n params?: CmsEntryListParams\n ): ListEntriesUseCase.Return<T> {\n const loader = async (params?: CmsEntryListParams) => {\n const result = await this.decoratee.execute<T>(model, params);\n if (result.isFail()) {\n throw result.error;\n }\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 ListEntriesWithFlpDecorator = createDecorator({\n abstraction: ListEntriesUseCase,\n decorator: ListEntriesWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListEntriesWithFlpDecoratorImpl","folderLevelPermissions","decoratee","ListEntriesFactory","model","params","loader","result","entries","meta","Result","ListEntriesWithFlpDecorator","createDecorator","ListEntriesUseCase","FolderLevelPermissions"],"mappings":";;;;AAUA,MAAMA;IAGF,YACIC,sBAAwD,EAChDC,SAAuC,CACjD;aADUA,SAAS,GAATA;QAER,IAAI,CAAC,kBAAkB,GAAG,IAAIC,mBAAmBF;IACrD;IAEA,MAAM,QACFG,KAAe,EACfC,MAA2B,EACC;QAC5B,MAAMC,SAAS,OAAOD;YAClB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAIH,OAAOC;YACtD,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,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,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWb;IACX,cAAc;QAACc;KAAuB;AAC1C"}
@@ -1,36 +1,36 @@
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
+ if (result.isFail()) throw result.error;
14
+ return result.value;
15
+ };
16
+ const { entries, meta } = await this.listEntriesHandler.execute({
17
+ model,
18
+ dataLoader: loader,
19
+ initialParams: params
20
+ });
21
+ return Result.ok({
22
+ entries,
23
+ meta
24
+ });
25
+ }
29
26
  }
30
- export const ListLatestEntriesWithFlpDecorator = createDecorator({
31
- abstraction: ListLatestEntriesUseCase,
32
- decorator: ListLatestEntriesWithFlpDecoratorImpl,
33
- dependencies: [FolderLevelPermissions]
27
+ const ListLatestEntriesWithFlpDecorator = createDecorator({
28
+ abstraction: ListLatestEntriesUseCase,
29
+ decorator: ListLatestEntriesWithFlpDecoratorImpl,
30
+ dependencies: [
31
+ FolderLevelPermissions
32
+ ]
34
33
  });
34
+ export { ListLatestEntriesWithFlpDecorator };
35
35
 
36
36
  //# 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 if (result.isFail()) {\n throw result.error;\n }\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,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,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,36 @@
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
+ if (result.isFail()) throw result.error;
14
+ return result.value;
15
+ };
16
+ const { entries, meta } = await this.listEntriesHandler.execute({
17
+ model,
18
+ dataLoader: loader,
19
+ initialParams: params
20
+ });
21
+ return Result.ok({
22
+ entries,
23
+ meta
24
+ });
25
+ }
29
26
  }
30
- export const ListPublishedEntriesWithFlpDecorator = createDecorator({
31
- abstraction: ListPublishedEntriesUseCase,
32
- decorator: ListPublishedEntriesWithFlpDecoratorImpl,
33
- dependencies: [FolderLevelPermissions]
27
+ const ListPublishedEntriesWithFlpDecorator = createDecorator({
28
+ abstraction: ListPublishedEntriesUseCase,
29
+ decorator: ListPublishedEntriesWithFlpDecoratorImpl,
30
+ dependencies: [
31
+ FolderLevelPermissions
32
+ ]
34
33
  });
34
+ export { ListPublishedEntriesWithFlpDecorator };
35
35
 
36
36
  //# 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 if (result.isFail()) {\n throw result.error;\n }\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,IAAIE,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;YAEtB,OAAOA,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"}
@@ -9,7 +9,7 @@ declare class MoveEntryWithFlpDecoratorImpl implements MoveEntryUseCase.Interfac
9
9
  private getRevisionById;
10
10
  private decoratee;
11
11
  constructor(folderLevelPermissions: FolderLevelPermissions.Interface, getRevisionById: GetRevisionByIdUseCase.Interface, decoratee: MoveEntryUseCase.Interface);
12
- execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, targetFolderId: string): Promise<Result<import("@webiny/api-headless-cms/types/types").CmsEntry<T>, EntryNotAuthorizedError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryPersistenceError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryNotFoundError>>;
12
+ execute<T extends CmsEntryValues = CmsEntryValues>(model: CmsModel, id: string, targetFolderId: string): Promise<Result<import("@webiny/api-headless-cms/types/types").CmsEntry<T>, EntryNotAuthorizedError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryNotFoundError | import("@webiny/api-headless-cms/domain/contentEntry/errors.js").EntryPersistenceError>>;
13
13
  }
14
14
  export declare const MoveEntryWithFlpDecorator: typeof MoveEntryWithFlpDecoratorImpl;
15
15
  export {};
@@ -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