@webiny/api-aco 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (412) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/createAcoContext.d.ts +1 -1
  4. package/createAcoContext.js +75 -107
  5. package/createAcoContext.js.map +1 -1
  6. package/createAcoGraphQL.js +43 -44
  7. package/createAcoGraphQL.js.map +1 -1
  8. package/createAcoStorageOperations.js +5 -6
  9. package/createAcoStorageOperations.js.map +1 -1
  10. package/createAcoTasks.js +7 -8
  11. package/createAcoTasks.js.map +1 -1
  12. package/domain/folder/abstractions.js +2 -5
  13. package/domain/folder/abstractions.js.map +1 -1
  14. package/domain/folder/errors.js +42 -47
  15. package/domain/folder/errors.js.map +1 -1
  16. package/domain/folder/folder.model.js +52 -33
  17. package/domain/folder/folder.model.js.map +1 -1
  18. package/exports/api/aco/flp.d.ts +6 -0
  19. package/exports/api/aco/flp.js +6 -0
  20. package/exports/api/aco/folder.d.ts +10 -0
  21. package/exports/api/aco/folder.js +10 -0
  22. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  23. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  24. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  25. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  26. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  27. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  28. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  29. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  30. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  31. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  32. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  33. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  34. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  35. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  36. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  37. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  38. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +27 -28
  39. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  40. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +27 -27
  41. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  42. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +27 -28
  43. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  44. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +27 -28
  45. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  46. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  47. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  48. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  49. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  50. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  51. package/features/cms/feature.d.ts +4 -1
  52. package/features/cms/feature.js +19 -25
  53. package/features/cms/feature.js.map +1 -1
  54. package/features/cms/index.js +0 -2
  55. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  56. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  57. package/features/flp/CreateFlp/abstractions.d.ts +1 -0
  58. package/features/flp/CreateFlp/abstractions.js +2 -4
  59. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  60. package/features/flp/CreateFlp/feature.d.ts +5 -1
  61. package/features/flp/CreateFlp/feature.js +7 -8
  62. package/features/flp/CreateFlp/feature.js.map +1 -1
  63. package/features/flp/CreateFlp/index.js +0 -2
  64. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +3 -3
  65. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +28 -28
  66. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  67. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -1
  68. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  69. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  70. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  71. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  72. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  73. package/features/flp/DeleteFlp/abstractions.d.ts +1 -0
  74. package/features/flp/DeleteFlp/abstractions.js +2 -4
  75. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  76. package/features/flp/DeleteFlp/feature.d.ts +5 -1
  77. package/features/flp/DeleteFlp/feature.js +7 -8
  78. package/features/flp/DeleteFlp/feature.js.map +1 -1
  79. package/features/flp/DeleteFlp/index.js +0 -2
  80. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +3 -3
  81. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +28 -28
  82. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  83. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -1
  84. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  85. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  86. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  87. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  88. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +90 -111
  89. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  90. package/features/flp/FolderLevelPermissions/abstractions.d.ts +1 -0
  91. package/features/flp/FolderLevelPermissions/abstractions.js +2 -1
  92. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  93. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -1
  94. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  95. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  96. package/features/flp/FolderLevelPermissions/index.js +0 -2
  97. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +1 -1
  98. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  99. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  100. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  101. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  102. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +1 -1
  103. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  104. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  105. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  106. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  107. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  108. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  109. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  110. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  111. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  112. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  113. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  114. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  115. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  116. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  117. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +1 -1
  118. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  119. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  120. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +2 -2
  121. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  122. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  123. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  124. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  125. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  126. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  127. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  128. package/features/flp/GetFlp/abstractions.d.ts +1 -0
  129. package/features/flp/GetFlp/abstractions.js +2 -1
  130. package/features/flp/GetFlp/abstractions.js.map +1 -1
  131. package/features/flp/GetFlp/feature.d.ts +4 -1
  132. package/features/flp/GetFlp/feature.js +7 -8
  133. package/features/flp/GetFlp/feature.js.map +1 -1
  134. package/features/flp/GetFlp/index.js +0 -2
  135. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  136. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  137. package/features/flp/ListFlps/abstractions.d.ts +1 -0
  138. package/features/flp/ListFlps/abstractions.js +2 -1
  139. package/features/flp/ListFlps/abstractions.js.map +1 -1
  140. package/features/flp/ListFlps/feature.d.ts +4 -1
  141. package/features/flp/ListFlps/feature.js +7 -8
  142. package/features/flp/ListFlps/feature.js.map +1 -1
  143. package/features/flp/ListFlps/index.js +0 -2
  144. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +133 -184
  145. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  146. package/features/flp/UpdateFlp/abstractions.d.ts +1 -0
  147. package/features/flp/UpdateFlp/abstractions.js +2 -4
  148. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  149. package/features/flp/UpdateFlp/feature.d.ts +5 -1
  150. package/features/flp/UpdateFlp/feature.js +7 -8
  151. package/features/flp/UpdateFlp/feature.js.map +1 -1
  152. package/features/flp/UpdateFlp/index.js +0 -2
  153. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +3 -3
  154. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +30 -30
  155. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  156. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -1
  157. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  158. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  159. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  160. package/features/folder/CreateFolder/CreateFolderRepository.js +67 -90
  161. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  162. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +1 -1
  163. package/features/folder/CreateFolder/CreateFolderUseCase.js +28 -31
  164. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  165. package/features/folder/CreateFolder/abstractions.d.ts +9 -5
  166. package/features/folder/CreateFolder/abstractions.js +5 -18
  167. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  168. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +29 -34
  169. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  170. package/features/folder/CreateFolder/events.d.ts +3 -3
  171. package/features/folder/CreateFolder/events.js +17 -15
  172. package/features/folder/CreateFolder/events.js.map +1 -1
  173. package/features/folder/CreateFolder/feature.d.ts +5 -1
  174. package/features/folder/CreateFolder/feature.js +8 -7
  175. package/features/folder/CreateFolder/feature.js.map +1 -1
  176. package/features/folder/CreateFolder/index.d.ts +1 -1
  177. package/features/folder/CreateFolder/index.js +1 -3
  178. package/features/folder/DeleteFolder/DeleteFolderRepository.js +22 -20
  179. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  180. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +1 -1
  181. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +36 -44
  182. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  183. package/features/folder/DeleteFolder/abstractions.d.ts +9 -5
  184. package/features/folder/DeleteFolder/abstractions.js +5 -18
  185. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  186. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  187. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  188. package/features/folder/DeleteFolder/events.d.ts +3 -3
  189. package/features/folder/DeleteFolder/events.js +17 -15
  190. package/features/folder/DeleteFolder/events.js.map +1 -1
  191. package/features/folder/DeleteFolder/feature.d.ts +5 -1
  192. package/features/folder/DeleteFolder/feature.js +8 -7
  193. package/features/folder/DeleteFolder/feature.js.map +1 -1
  194. package/features/folder/DeleteFolder/index.d.ts +1 -1
  195. package/features/folder/DeleteFolder/index.js +1 -3
  196. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +43 -44
  197. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  198. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +1 -0
  199. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -1
  200. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  201. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -1
  202. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  203. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  204. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  205. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +3 -3
  206. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +17 -21
  207. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  208. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +4 -1
  209. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  210. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  211. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  212. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +3 -3
  213. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +37 -45
  214. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  215. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -1
  216. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  217. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  218. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  219. package/features/folder/GetAncestors/GetAncestorsRepository.js +45 -75
  220. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  221. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  222. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  223. package/features/folder/GetAncestors/abstractions.d.ts +2 -0
  224. package/features/folder/GetAncestors/abstractions.js +3 -12
  225. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  226. package/features/folder/GetAncestors/feature.d.ts +5 -1
  227. package/features/folder/GetAncestors/feature.js +7 -6
  228. package/features/folder/GetAncestors/feature.js.map +1 -1
  229. package/features/folder/GetAncestors/index.js +0 -2
  230. package/features/folder/GetFolder/GetFolderRepository.js +21 -19
  231. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  232. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  233. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  234. package/features/folder/GetFolder/abstractions.d.ts +8 -5
  235. package/features/folder/GetFolder/abstractions.js +5 -18
  236. package/features/folder/GetFolder/abstractions.js.map +1 -1
  237. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  238. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  239. package/features/folder/GetFolder/feature.d.ts +5 -1
  240. package/features/folder/GetFolder/feature.js +8 -7
  241. package/features/folder/GetFolder/feature.js.map +1 -1
  242. package/features/folder/GetFolder/index.d.ts +1 -1
  243. package/features/folder/GetFolder/index.js +1 -3
  244. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +67 -86
  245. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  246. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  247. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  248. package/features/folder/GetFolderHierarchy/abstractions.d.ts +2 -0
  249. package/features/folder/GetFolderHierarchy/abstractions.js +3 -12
  250. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  251. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  252. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  253. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -1
  254. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  255. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  256. package/features/folder/GetFolderHierarchy/index.js +0 -2
  257. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +2 -2
  258. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +67 -60
  259. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  260. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +1 -0
  261. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -4
  262. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  263. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -1
  264. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  265. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  266. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  267. package/features/folder/ListFolders/ListFoldersRepository.js +39 -41
  268. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  269. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  270. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  271. package/features/folder/ListFolders/abstractions.d.ts +2 -0
  272. package/features/folder/ListFolders/abstractions.js +3 -12
  273. package/features/folder/ListFolders/abstractions.js.map +1 -1
  274. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  275. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  276. package/features/folder/ListFolders/feature.d.ts +5 -1
  277. package/features/folder/ListFolders/feature.js +8 -7
  278. package/features/folder/ListFolders/feature.js.map +1 -1
  279. package/features/folder/ListFolders/index.js +0 -2
  280. package/features/folder/UpdateFolder/UpdateFolderRepository.js +66 -92
  281. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  282. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +1 -1
  283. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +39 -46
  284. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  285. package/features/folder/UpdateFolder/abstractions.d.ts +9 -5
  286. package/features/folder/UpdateFolder/abstractions.js +5 -18
  287. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  288. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +45 -64
  289. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  290. package/features/folder/UpdateFolder/events.d.ts +3 -3
  291. package/features/folder/UpdateFolder/events.js +17 -15
  292. package/features/folder/UpdateFolder/events.js.map +1 -1
  293. package/features/folder/UpdateFolder/feature.d.ts +5 -1
  294. package/features/folder/UpdateFolder/feature.js +8 -7
  295. package/features/folder/UpdateFolder/feature.js.map +1 -1
  296. package/features/folder/UpdateFolder/index.d.ts +1 -1
  297. package/features/folder/UpdateFolder/index.js +1 -3
  298. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  299. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  300. package/features/folder/shared/abstractions.d.ts +1 -0
  301. package/features/folder/shared/abstractions.js +2 -1
  302. package/features/folder/shared/abstractions.js.map +1 -1
  303. package/filter/filter.crud.js +28 -31
  304. package/filter/filter.crud.js.map +1 -1
  305. package/filter/filter.gql.js +32 -48
  306. package/filter/filter.gql.js.map +1 -1
  307. package/filter/filter.model.js +44 -32
  308. package/filter/filter.model.js.map +1 -1
  309. package/filter/filter.so.js +73 -93
  310. package/filter/filter.so.js.map +1 -1
  311. package/filter/filter.types.js +5 -4
  312. package/filter/filter.types.js.map +1 -1
  313. package/flp/flp.crud.js +69 -86
  314. package/flp/flp.crud.js.map +1 -1
  315. package/flp/flp.so.js +162 -199
  316. package/flp/flp.so.js.map +1 -1
  317. package/flp/flp.types.js +0 -3
  318. package/flp/index.js +0 -2
  319. package/flp/tasks/createFlp.task.d.ts +6 -4
  320. package/flp/tasks/createFlp.task.js +27 -26
  321. package/flp/tasks/createFlp.task.js.map +1 -1
  322. package/flp/tasks/deleteFlp.task.d.ts +6 -4
  323. package/flp/tasks/deleteFlp.task.js +27 -26
  324. package/flp/tasks/deleteFlp.task.js.map +1 -1
  325. package/flp/tasks/index.js +13 -12
  326. package/flp/tasks/index.js.map +1 -1
  327. package/flp/tasks/syncFlp.task.d.ts +6 -4
  328. package/flp/tasks/syncFlp.task.js +84 -111
  329. package/flp/tasks/syncFlp.task.js.map +1 -1
  330. package/flp/tasks/updateFlp.task.d.ts +6 -4
  331. package/flp/tasks/updateFlp.task.js +34 -31
  332. package/flp/tasks/updateFlp.task.js.map +1 -1
  333. package/folder/createFolderModelModifier.js +50 -50
  334. package/folder/createFolderModelModifier.js.map +1 -1
  335. package/folder/createFolderTypeDefs.d.ts +3 -2
  336. package/folder/createFolderTypeDefs.js +39 -50
  337. package/folder/createFolderTypeDefs.js.map +1 -1
  338. package/folder/folder.gql.js +100 -133
  339. package/folder/folder.gql.js.map +1 -1
  340. package/folder/folder.types.js +0 -3
  341. package/index.d.ts +1 -1
  342. package/index.js +7 -4
  343. package/index.js.map +1 -1
  344. package/package.json +31 -41
  345. package/types.js +5 -4
  346. package/types.js.map +1 -1
  347. package/utils/FoldersCacheFactory.js +20 -19
  348. package/utils/FoldersCacheFactory.js.map +1 -1
  349. package/utils/ListCache.js +20 -19
  350. package/utils/ListCache.js.map +1 -1
  351. package/utils/Path.js +5 -6
  352. package/utils/Path.js.map +1 -1
  353. package/utils/compress.js +8 -7
  354. package/utils/compress.js.map +1 -1
  355. package/utils/createListSort.js +4 -7
  356. package/utils/createListSort.js.map +1 -1
  357. package/utils/createOperationsWrapper.js +12 -19
  358. package/utils/createOperationsWrapper.js.map +1 -1
  359. package/utils/decorators/CmsEntriesCrudDecorators.js +165 -196
  360. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  361. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  362. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  363. package/utils/decorators/ListEntriesFactory.js +65 -98
  364. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  365. package/utils/decorators/hasRootFolderId.js +6 -12
  366. package/utils/decorators/hasRootFolderId.js.map +1 -1
  367. package/utils/decorators/isPageModel.js +5 -10
  368. package/utils/decorators/isPageModel.js.map +1 -1
  369. package/utils/ensureAuthentication.js +6 -7
  370. package/utils/ensureAuthentication.js.map +1 -1
  371. package/utils/pickEntryFieldValues.js +24 -18
  372. package/utils/pickEntryFieldValues.js.map +1 -1
  373. package/utils/resolve.js +7 -6
  374. package/utils/resolve.js.map +1 -1
  375. package/features/cms/index.js.map +0 -1
  376. package/features/flp/CreateFlp/index.js.map +0 -1
  377. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  378. package/features/flp/DeleteFlp/index.js.map +0 -1
  379. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  380. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  381. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  382. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  383. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  384. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  385. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  386. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  387. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  388. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  389. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  390. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  391. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  392. package/features/flp/GetFlp/index.js.map +0 -1
  393. package/features/flp/ListFlps/index.js.map +0 -1
  394. package/features/flp/UpdateFlp/index.js.map +0 -1
  395. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  396. package/features/folder/CreateFolder/index.js.map +0 -1
  397. package/features/folder/DeleteFolder/index.js.map +0 -1
  398. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  399. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  400. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  401. package/features/folder/GetAncestors/index.js.map +0 -1
  402. package/features/folder/GetFolder/index.js.map +0 -1
  403. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  404. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  405. package/features/folder/ListFolders/index.js.map +0 -1
  406. package/features/folder/UpdateFolder/index.js.map +0 -1
  407. package/flp/flp.types.js.map +0 -1
  408. package/flp/index.js.map +0 -1
  409. package/folder/folder.types.js.map +0 -1
  410. package/utils/acoRecordId.d.ts +0 -6
  411. package/utils/acoRecordId.js +0 -27
  412. package/utils/acoRecordId.js.map +0 -1
@@ -1,39 +1,58 @@
1
1
  import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
- export const FOLDER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "acoFolder" : "wbyAcoFolder";
2
+ const FOLDER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "acoFolder" : "wbyAcoFolder";
3
3
  class FolderPrivateModelImpl {
4
- async execute(builder) {
5
- return [builder.private().modelId(FOLDER_MODEL_ID).name("ACO - Folder").fields(fields => ({
6
- title: fields.text().label("Title").required("Value is required."),
7
- slug: fields.text().label("Slug").required("Value is required.").pattern("^[a-z0-9]+(-[a-z0-9]+)*$", "g", "Value must consist of only 'a-z', '0-9' and '-'."),
8
- type: fields.text().label("Type").required("Value is required."),
9
- parentId: fields.text().label("Parent Id"),
10
- path: fields.text().label("Path"),
11
- permissions: fields.object().label("Permissions").list().fields(fields => ({
12
- target: fields.text().label("Target").required("Value is required."),
13
- level: fields.text().label("Level").required("Value is required.").predefinedValues([{
14
- label: "Viewer",
15
- value: "viewer"
16
- }, {
17
- label: "Editor",
18
- value: "editor"
19
- }, {
20
- label: "Owner",
21
- value: "owner"
22
- }, {
23
- label: "Public",
24
- value: "public"
25
- }, {
26
- label: "No Access",
27
- value: "no-access"
28
- }])
29
- })).layout([["target"], ["level"]]),
30
- extensions: fields.object().label("Extensions")
31
- }))];
32
- }
4
+ async execute(builder) {
5
+ return [
6
+ builder.private({
7
+ modelId: FOLDER_MODEL_ID,
8
+ name: "ACO - Folder"
9
+ }).fields((fields)=>({
10
+ title: fields.text().label("Title").required("Value is required."),
11
+ slug: fields.text().label("Slug").required("Value is required.").pattern("^[a-z0-9]+(-[a-z0-9]+)*$", "g", "Value must consist of only 'a-z', '0-9' and '-'."),
12
+ type: fields.text().label("Type").required("Value is required."),
13
+ parentId: fields.text().label("Parent Id"),
14
+ path: fields.text().label("Path"),
15
+ permissions: fields.object().label("Permissions").list().fields((fields)=>({
16
+ target: fields.text().label("Target").required("Value is required."),
17
+ level: fields.text().label("Level").required("Value is required.").predefinedValues([
18
+ {
19
+ label: "Viewer",
20
+ value: "viewer"
21
+ },
22
+ {
23
+ label: "Editor",
24
+ value: "editor"
25
+ },
26
+ {
27
+ label: "Owner",
28
+ value: "owner"
29
+ },
30
+ {
31
+ label: "Public",
32
+ value: "public"
33
+ },
34
+ {
35
+ label: "No Access",
36
+ value: "no-access"
37
+ }
38
+ ])
39
+ })).layout([
40
+ [
41
+ "target"
42
+ ],
43
+ [
44
+ "level"
45
+ ]
46
+ ]),
47
+ extensions: fields.object().label("Extensions")
48
+ }))
49
+ ];
50
+ }
33
51
  }
34
- export const FolderModel = ModelFactory.createImplementation({
35
- implementation: FolderPrivateModelImpl,
36
- dependencies: []
52
+ const FolderModel = ModelFactory.createImplementation({
53
+ implementation: FolderPrivateModelImpl,
54
+ dependencies: []
37
55
  });
56
+ export { FOLDER_MODEL_ID, FolderModel };
38
57
 
39
58
  //# sourceMappingURL=folder.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ModelFactory","FOLDER_MODEL_ID","process","env","WEBINY_API_LEGACY_MODELS","FolderPrivateModelImpl","execute","builder","private","modelId","name","fields","title","text","label","required","slug","pattern","type","parentId","path","permissions","object","list","target","level","predefinedValues","value","layout","extensions","FolderModel","createImplementation","implementation","dependencies"],"sources":["folder.model.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\n\nexport const FOLDER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? \"acoFolder\" : \"wbyAcoFolder\";\n\nclass FolderPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private()\n .modelId(FOLDER_MODEL_ID)\n .name(\"ACO - Folder\")\n .fields(fields => ({\n title: fields.text().label(\"Title\").required(\"Value is required.\"),\n slug: fields\n .text()\n .label(\"Slug\")\n .required(\"Value is required.\")\n .pattern(\n \"^[a-z0-9]+(-[a-z0-9]+)*$\",\n \"g\",\n \"Value must consist of only 'a-z', '0-9' and '-'.\"\n ),\n type: fields.text().label(\"Type\").required(\"Value is required.\"),\n parentId: fields.text().label(\"Parent Id\"),\n path: fields.text().label(\"Path\"),\n permissions: fields\n .object()\n .label(\"Permissions\")\n .list()\n .fields(fields => ({\n target: fields.text().label(\"Target\").required(\"Value is required.\"),\n level: fields\n .text()\n .label(\"Level\")\n .required(\"Value is required.\")\n .predefinedValues([\n {\n label: \"Viewer\",\n value: \"viewer\"\n },\n {\n label: \"Editor\",\n value: \"editor\"\n },\n {\n label: \"Owner\",\n value: \"owner\"\n },\n {\n label: \"Public\",\n value: \"public\"\n },\n {\n label: \"No Access\",\n value: \"no-access\"\n }\n ])\n }))\n .layout([[\"target\"], [\"level\"]]),\n extensions: fields.object().label(\"Extensions\")\n }))\n ];\n }\n}\n\nexport const FolderModel = ModelFactory.createImplementation({\n implementation: FolderPrivateModelImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,yDAAyD;AAEtF,OAAO,MAAMC,eAAe,GAAGC,OAAO,CAACC,GAAG,CAACC,wBAAwB,GAAG,WAAW,GAAG,cAAc;AAElG,MAAMC,sBAAsB,CAAmC;EAC3D,MAAaC,OAAOA,CAACC,OAA6B,EAAE;IAChD,OAAO,CACHA,OAAO,CACFC,OAAO,CAAC,CAAC,CACTC,OAAO,CAACR,eAAe,CAAC,CACxBS,IAAI,CAAC,cAAc,CAAC,CACpBC,MAAM,CAACA,MAAM,KAAK;MACfC,KAAK,EAAED,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC,oBAAoB,CAAC;MAClEC,IAAI,EAAEL,MAAM,CACPE,IAAI,CAAC,CAAC,CACNC,KAAK,CAAC,MAAM,CAAC,CACbC,QAAQ,CAAC,oBAAoB,CAAC,CAC9BE,OAAO,CACJ,0BAA0B,EAC1B,GAAG,EACH,kDACJ,CAAC;MACLC,IAAI,EAAEP,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAACC,QAAQ,CAAC,oBAAoB,CAAC;MAChEI,QAAQ,EAAER,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,WAAW,CAAC;MAC1CM,IAAI,EAAET,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC;MACjCO,WAAW,EAAEV,MAAM,CACdW,MAAM,CAAC,CAAC,CACRR,KAAK,CAAC,aAAa,CAAC,CACpBS,IAAI,CAAC,CAAC,CACNZ,MAAM,CAACA,MAAM,KAAK;QACfa,MAAM,EAAEb,MAAM,CAACE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,QAAQ,CAAC,CAACC,QAAQ,CAAC,oBAAoB,CAAC;QACpEU,KAAK,EAAEd,MAAM,CACRE,IAAI,CAAC,CAAC,CACNC,KAAK,CAAC,OAAO,CAAC,CACdC,QAAQ,CAAC,oBAAoB,CAAC,CAC9BW,gBAAgB,CAAC,CACd;UACIZ,KAAK,EAAE,QAAQ;UACfa,KAAK,EAAE;QACX,CAAC,EACD;UACIb,KAAK,EAAE,QAAQ;UACfa,KAAK,EAAE;QACX,CAAC,EACD;UACIb,KAAK,EAAE,OAAO;UACda,KAAK,EAAE;QACX,CAAC,EACD;UACIb,KAAK,EAAE,QAAQ;UACfa,KAAK,EAAE;QACX,CAAC,EACD;UACIb,KAAK,EAAE,WAAW;UAClBa,KAAK,EAAE;QACX,CAAC,CACJ;MACT,CAAC,CAAC,CAAC,CACFC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;MACpCC,UAAU,EAAElB,MAAM,CAACW,MAAM,CAAC,CAAC,CAACR,KAAK,CAAC,YAAY;IAClD,CAAC,CAAC,CAAC,CACV;EACL;AACJ;AAEA,OAAO,MAAMgB,WAAW,GAAG9B,YAAY,CAAC+B,oBAAoB,CAAC;EACzDC,cAAc,EAAE3B,sBAAsB;EACtC4B,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"domain/folder/folder.model.js","sources":["../../../src/domain/folder/folder.model.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\n\nexport const FOLDER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? \"acoFolder\" : \"wbyAcoFolder\";\n\nclass FolderPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: FOLDER_MODEL_ID,\n name: \"ACO - Folder\"\n })\n .fields(fields => ({\n title: fields.text().label(\"Title\").required(\"Value is required.\"),\n slug: fields\n .text()\n .label(\"Slug\")\n .required(\"Value is required.\")\n .pattern(\n \"^[a-z0-9]+(-[a-z0-9]+)*$\",\n \"g\",\n \"Value must consist of only 'a-z', '0-9' and '-'.\"\n ),\n type: fields.text().label(\"Type\").required(\"Value is required.\"),\n parentId: fields.text().label(\"Parent Id\"),\n path: fields.text().label(\"Path\"),\n permissions: fields\n .object()\n .label(\"Permissions\")\n .list()\n .fields(fields => ({\n target: fields.text().label(\"Target\").required(\"Value is required.\"),\n level: fields\n .text()\n .label(\"Level\")\n .required(\"Value is required.\")\n .predefinedValues([\n {\n label: \"Viewer\",\n value: \"viewer\"\n },\n {\n label: \"Editor\",\n value: \"editor\"\n },\n {\n label: \"Owner\",\n value: \"owner\"\n },\n {\n label: \"Public\",\n value: \"public\"\n },\n {\n label: \"No Access\",\n value: \"no-access\"\n }\n ])\n }))\n .layout([[\"target\"], [\"level\"]]),\n extensions: fields.object().label(\"Extensions\")\n }))\n ];\n }\n}\n\nexport const FolderModel = ModelFactory.createImplementation({\n implementation: FolderPrivateModelImpl,\n dependencies: []\n});\n"],"names":["FOLDER_MODEL_ID","process","FolderPrivateModelImpl","builder","fields","FolderModel","ModelFactory"],"mappings":";AAEO,MAAMA,kBAAkBC,QAAQ,GAAG,CAAC,wBAAwB,GAAG,cAAc;AAEpF,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASH;gBACT,MAAM;YACV,GACC,MAAM,CAACI,CAAAA,SAAW;oBACf,OAAOA,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ,CAAC;oBAC7C,MAAMA,OACD,IAAI,GACJ,KAAK,CAAC,QACN,QAAQ,CAAC,sBACT,OAAO,CACJ,4BACA,KACA;oBAER,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,QAAQ,CAAC;oBAC3C,UAAUA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC9B,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC;oBAC1B,aAAaA,OACR,MAAM,GACN,KAAK,CAAC,eACN,IAAI,GACJ,MAAM,CAACA,CAAAA,SAAW;4BACf,QAAQA,OAAO,IAAI,GAAG,KAAK,CAAC,UAAU,QAAQ,CAAC;4BAC/C,OAAOA,OACF,IAAI,GACJ,KAAK,CAAC,SACN,QAAQ,CAAC,sBACT,gBAAgB,CAAC;gCACd;oCACI,OAAO;oCACP,OAAO;gCACX;gCACA;oCACI,OAAO;oCACP,OAAO;gCACX;gCACA;oCACI,OAAO;oCACP,OAAO;gCACX;gCACA;oCACI,OAAO;oCACP,OAAO;gCACX;gCACA;oCACI,OAAO;oCACP,OAAO;gCACX;6BACH;wBACT,IACC,MAAM,CAAC;wBAAC;4BAAC;yBAAS;wBAAE;4BAAC;yBAAQ;qBAAC;oBACnC,YAAYA,OAAO,MAAM,GAAG,KAAK,CAAC;gBACtC;SACP;IACL;AACJ;AAEO,MAAMC,cAAcC,aAAa,oBAAoB,CAAC;IACzD,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
@@ -0,0 +1,6 @@
1
+ export { CreateFlpUseCase } from "../../../features/flp/CreateFlp/abstractions.js";
2
+ export { DeleteFlpUseCase } from "../../../features/flp/DeleteFlp/abstractions.js";
3
+ export { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/abstractions.js";
4
+ export { GetFlpUseCase } from "../../../features/flp/GetFlp/abstractions.js";
5
+ export { ListFlpsUseCase } from "../../../features/flp/ListFlps/abstractions.js";
6
+ export { UpdateFlpUseCase } from "../../../features/flp/UpdateFlp/abstractions.js";
@@ -0,0 +1,6 @@
1
+ export { CreateFlpUseCase } from "../../../features/flp/CreateFlp/abstractions.js";
2
+ export { DeleteFlpUseCase } from "../../../features/flp/DeleteFlp/abstractions.js";
3
+ export { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/abstractions.js";
4
+ export { GetFlpUseCase } from "../../../features/flp/GetFlp/abstractions.js";
5
+ export { ListFlpsUseCase } from "../../../features/flp/ListFlps/abstractions.js";
6
+ export { UpdateFlpUseCase } from "../../../features/flp/UpdateFlp/abstractions.js";
@@ -0,0 +1,10 @@
1
+ export { GetAncestorsRepository, GetAncestorsUseCase } from "../../../features/folder/GetAncestors/abstractions.js";
2
+ export { GetFolderUseCase, FolderAfterGetEventHandler, FolderBeforeGetEventHandler } from "../../../features/folder/GetFolder/abstractions.js";
3
+ export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase } from "../../../features/folder/GetFolderHierarchy/abstractions.js";
4
+ export { ListFolderLevelPermissionsTargetsUseCase } from "../../../features/folder/ListFolderLevelPermissionsTargets/abstractions.js";
5
+ export { FolderAfterCreateEventHandler, FolderBeforeCreateEventHandler, CreateFolderRepository, CreateFolderUseCase } from "../../../features/folder/CreateFolder/abstractions.js";
6
+ export { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler, DeleteFolderRepository, DeleteFolderUseCase } from "../../../features/folder/DeleteFolder/abstractions.js";
7
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderRepository, UpdateFolderUseCase } from "../../../features/folder/UpdateFolder/abstractions.js";
8
+ export { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
9
+ export { ListFoldersUseCase, ListFoldersRepository } from "../../../features/folder/ListFolders/abstractions.js";
10
+ export { FilterStorageOperations } from "../../../features/folder/shared/abstractions.js";
@@ -0,0 +1,10 @@
1
+ export { GetAncestorsRepository, GetAncestorsUseCase } from "../../../features/folder/GetAncestors/abstractions.js";
2
+ export { FolderAfterGetEventHandler, FolderBeforeGetEventHandler, GetFolderUseCase } from "../../../features/folder/GetFolder/abstractions.js";
3
+ export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase } from "../../../features/folder/GetFolderHierarchy/abstractions.js";
4
+ export { ListFolderLevelPermissionsTargetsUseCase } from "../../../features/folder/ListFolderLevelPermissionsTargets/abstractions.js";
5
+ export { CreateFolderRepository, CreateFolderUseCase, FolderAfterCreateEventHandler, FolderBeforeCreateEventHandler } from "../../../features/folder/CreateFolder/abstractions.js";
6
+ export { DeleteFolderRepository, DeleteFolderUseCase, FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
7
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderRepository, UpdateFolderUseCase } from "../../../features/folder/UpdateFolder/abstractions.js";
8
+ export { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
9
+ export { ListFoldersRepository, ListFoldersUseCase } from "../../../features/folder/ListFolders/abstractions.js";
10
+ export { FilterStorageOperations } from "../../../features/folder/shared/abstractions.js";
@@ -1,43 +1,39 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { CreateEntryRevisionFromUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/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 CreateEntryRevisionFromWithFlpDecoratorImpl {
8
- constructor(folderLevelPermissions, getRevisionById, decoratee) {
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.getRevisionById = getRevisionById;
11
- this.decoratee = decoratee;
12
- }
13
- async execute(model, sourceId, input, options) {
14
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
15
- return this.decoratee.execute(model, sourceId, input, 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, sourceId);
18
- if (entryResult.isFail()) {
19
- return this.decoratee.execute(model, sourceId, input, options);
13
+ async execute(model, sourceId, input, options) {
14
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, sourceId, input, options);
15
+ const entryResult = await this.getRevisionById.execute(model, sourceId);
16
+ if (entryResult.isFail()) return this.decoratee.execute(model, sourceId, input, options);
17
+ const entry = entryResult.value;
18
+ const folderId = entry?.location?.folderId;
19
+ if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, sourceId, input, options);
20
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
21
+ const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({
22
+ permissions,
23
+ rwd: "w"
24
+ });
25
+ if (!canAccessFolderContent) return Result.fail(new EntryNotAuthorizedError());
26
+ return this.decoratee.execute(model, sourceId, 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, sourceId, input, options);
25
- }
26
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
27
- const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({
28
- permissions,
29
- rwd: "w"
30
- });
31
- if (!canAccessFolderContent) {
32
- return Result.fail(new EntryNotAuthorizedError());
33
- }
34
- return this.decoratee.execute(model, sourceId, input, options);
35
- }
36
28
  }
37
- export const CreateEntryRevisionFromWithFlpDecorator = createDecorator({
38
- abstraction: CreateEntryRevisionFromUseCase,
39
- decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,
40
- dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]
29
+ const CreateEntryRevisionFromWithFlpDecorator = createDecorator({
30
+ abstraction: CreateEntryRevisionFromUseCase,
31
+ decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,
32
+ dependencies: [
33
+ FolderLevelPermissions,
34
+ GetRevisionByIdUseCase
35
+ ]
41
36
  });
37
+ export { CreateEntryRevisionFromWithFlpDecorator };
42
38
 
43
39
  //# sourceMappingURL=CreateEntryRevisionFromWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","CreateEntryRevisionFromUseCase","GetRevisionByIdUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","CreateEntryRevisionFromWithFlpDecoratorImpl","constructor","folderLevelPermissions","getRevisionById","decoratee","execute","model","sourceId","input","options","canUseFolderLevelPermissions","entryResult","isFail","entry","value","folderId","location","permissions","getFolderLevelPermissions","canAccessFolderContent","rwd","fail","CreateEntryRevisionFromWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["CreateEntryRevisionFromWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\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 CreateEntryRevisionFromWithFlpDecoratorImpl\n implements CreateEntryRevisionFromUseCase.Interface\n{\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: CreateEntryRevisionFromUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): CreateEntryRevisionFromUseCase.Return<T> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, sourceId, input, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, sourceId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, sourceId, 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, sourceId, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolderContent) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, sourceId, input, options);\n }\n}\n\nexport const CreateEntryRevisionFromWithFlpDecorator = createDecorator({\n abstraction: CreateEntryRevisionFromUseCase,\n decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,8BAA8B,QAAQ,wFAAwF;AACvI,SAASC,sBAAsB,QAAQ,gFAAgF;AAOvH,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,2CAA2C,CAEjD;EACIC,WAAWA,CACCC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAmD,EAC7D;IAAA,KAHUF,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,SAAmD,GAAnDA,SAAmD;EAC5D;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,QAAgB,EAChBC,KAA6B,EAC7BC,OAAoC,EACI;IACxC,IAAI,CAAC,IAAI,CAACP,sBAAsB,CAACQ,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;IAClE;IAEA,MAAME,WAAW,GAAG,MAAM,IAAI,CAACR,eAAe,CAACE,OAAO,CAACC,KAAK,EAAEC,QAAQ,CAAC;IACvE,IAAII,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACR,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;IAClE;IAEA,MAAMI,KAAK,GAAGF,WAAW,CAACG,KAAK;IAC/B,MAAMC,QAAQ,GAAGF,KAAK,EAAEG,QAAQ,EAAED,QAAQ;IAE1C,IAAI,CAACA,QAAQ,IAAIA,QAAQ,KAAKjB,WAAW,EAAE;MACvC,OAAO,IAAI,CAACM,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;IAClE;IAEA,MAAMQ,WAAW,GAAG,MAAM,IAAI,CAACf,sBAAsB,CAACgB,yBAAyB,CAACH,QAAQ,CAAC;IACzF,MAAMI,sBAAsB,GAAG,MAAM,IAAI,CAACjB,sBAAsB,CAACiB,sBAAsB,CAAC;MACpFF,WAAW;MACXG,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACD,sBAAsB,EAAE;MACzB,OAAOzB,MAAM,CAAC2B,IAAI,CAAC,IAAItB,uBAAuB,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;EAClE;AACJ;AAEA,OAAO,MAAMa,uCAAuC,GAAG7B,eAAe,CAAC;EACnE8B,WAAW,EAAE5B,8BAA8B;EAC3C6B,SAAS,EAAExB,2CAA2C;EACtDyB,YAAY,EAAE,CAAC5B,sBAAsB,EAAED,sBAAsB;AACjE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryRevisionFromUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntryRevisionFrom/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type {\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\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 CreateEntryRevisionFromWithFlpDecoratorImpl\n implements CreateEntryRevisionFromUseCase.Interface\n{\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: CreateEntryRevisionFromUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n sourceId: string,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): CreateEntryRevisionFromUseCase.Return<T> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, sourceId, input, options);\n }\n\n const entryResult = await this.getRevisionById.execute(model, sourceId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, sourceId, 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, sourceId, input, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolderContent = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolderContent) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, sourceId, input, options);\n }\n}\n\nexport const CreateEntryRevisionFromWithFlpDecorator = createDecorator({\n abstraction: CreateEntryRevisionFromUseCase,\n decorator: CreateEntryRevisionFromWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["CreateEntryRevisionFromWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","sourceId","input","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolderContent","Result","EntryNotAuthorizedError","CreateEntryRevisionFromWithFlpDecorator","createDecorator","CreateEntryRevisionFromUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAaA,MAAMA;IAGF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAAmD,CAC7D;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,QAAgB,EAChBC,KAA6B,EAC7BC,OAAoC,EACI;QACxC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,UAAUC,OAAOC;QAG1D,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACJ,OAAOC;QAC9D,IAAIG,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,UAAUC,OAAOC;QAG1D,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACP,OAAOC,UAAUC,OAAOC;QAG1D,MAAMK,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACF;QAChF,MAAMG,yBAAyB,MAAM,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC;YACpFD;YACA,KAAK;QACT;QAEA,IAAI,CAACC,wBACD,OAAOC,OAAO,IAAI,CAAC,IAAIC;QAG3B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACX,OAAOC,UAAUC,OAAOC;IAC1D;AACJ;AAEO,MAAMS,0CAA0CC,gBAAgB;IACnE,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;QAAwBC;KAAuB;AAClE"}
@@ -1,36 +1,33 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js";
3
3
  import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
4
4
  import { ROOT_FOLDER } from "../../../constants.js";
5
5
  import { EntryNotAuthorizedError } from "@webiny/api-headless-cms/domain/contentEntry/errors.js";
6
6
  class CreateEntryWithFlpDecoratorImpl {
7
- constructor(folderLevelPermissions, decoratee) {
8
- this.folderLevelPermissions = folderLevelPermissions;
9
- this.decoratee = decoratee;
10
- }
11
- async execute(model, input, options) {
12
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
13
- return this.decoratee.execute(model, input, options);
7
+ constructor(folderLevelPermissions, decoratee){
8
+ this.folderLevelPermissions = folderLevelPermissions;
9
+ this.decoratee = decoratee;
14
10
  }
15
- const folderId = input.wbyAco_location?.folderId || input.location?.folderId;
16
- if (!folderId || folderId === ROOT_FOLDER) {
17
- return this.decoratee.execute(model, input, options);
11
+ async execute(model, input, options) {
12
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, input, options);
13
+ const folderId = input.wbyAco_location?.folderId || input.location?.folderId;
14
+ if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, input, options);
15
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
16
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
17
+ permissions,
18
+ rwd: "w"
19
+ });
20
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
21
+ return this.decoratee.execute(model, input, options);
18
22
  }
19
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
20
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
21
- permissions,
22
- rwd: "w"
23
- });
24
- if (!canAccessFolder) {
25
- return Result.fail(new EntryNotAuthorizedError());
26
- }
27
- return this.decoratee.execute(model, input, options);
28
- }
29
23
  }
30
- export const CreateEntryWithFlpDecorator = createDecorator({
31
- abstraction: CreateEntryUseCase,
32
- decorator: CreateEntryWithFlpDecoratorImpl,
33
- dependencies: [FolderLevelPermissions]
24
+ const CreateEntryWithFlpDecorator = createDecorator({
25
+ abstraction: CreateEntryUseCase,
26
+ decorator: CreateEntryWithFlpDecoratorImpl,
27
+ dependencies: [
28
+ FolderLevelPermissions
29
+ ]
34
30
  });
31
+ export { CreateEntryWithFlpDecorator };
35
32
 
36
33
  //# sourceMappingURL=CreateEntryWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","CreateEntryUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","CreateEntryWithFlpDecoratorImpl","constructor","folderLevelPermissions","decoratee","execute","model","input","options","canUseFolderLevelPermissions","folderId","wbyAco_location","location","permissions","getFolderLevelPermissions","canAccessFolder","canAccessFolderContent","rwd","fail","CreateEntryWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["CreateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\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 CreateEntryWithFlpDecoratorImpl implements CreateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, CreateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, input, options);\n }\n\n const folderId = input.wbyAco_location?.folderId || input.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, 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(model, input, options);\n }\n}\n\nexport const CreateEntryWithFlpDecorator = createDecorator({\n abstraction: CreateEntryUseCase,\n decorator: CreateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,4EAA4E;AAQ/G,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,+BAA+B,CAAyC;EAC1EC,WAAWA,CACCC,sBAAwD,EACxDC,SAAuC,EACjD;IAAA,KAFUD,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,SAAuC,GAAvCA,SAAuC;EAChD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,KAA6B,EAC7BC,OAAoC,EACkB;IACtD,IAAI,CAAC,IAAI,CAACL,sBAAsB,CAACM,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACL,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAEC,OAAO,CAAC;IACxD;IAEA,MAAME,QAAQ,GAAGH,KAAK,CAACI,eAAe,EAAED,QAAQ,IAAIH,KAAK,CAACK,QAAQ,EAAEF,QAAQ;IAE5E,IAAI,CAACA,QAAQ,IAAIA,QAAQ,KAAKX,WAAW,EAAE;MACvC,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAEC,OAAO,CAAC;IACxD;IAEA,MAAMK,WAAW,GAAG,MAAM,IAAI,CAACV,sBAAsB,CAACW,yBAAyB,CAACJ,QAAQ,CAAC;IACzF,MAAMK,eAAe,GAAG,MAAM,IAAI,CAACZ,sBAAsB,CAACa,sBAAsB,CAAC;MAC7EH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACF,eAAe,EAAE;MAClB,OAAOnB,MAAM,CAACsB,IAAI,CAAC,IAAIlB,uBAAuB,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACI,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,KAAK,EAAEC,OAAO,CAAC;EACxD;AACJ;AAEA,OAAO,MAAMW,2BAA2B,GAAGxB,eAAe,CAAC;EACvDyB,WAAW,EAAEvB,kBAAkB;EAC/BwB,SAAS,EAAEpB,+BAA+B;EAC1CqB,YAAY,EAAE,CAACxB,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/CreateEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/CreateEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/abstractions.js\";\nimport type {\n CmsEntry,\n CmsEntryValues,\n CmsModel,\n CreateCmsEntryInput,\n CreateCmsEntryOptionsInput\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 CreateEntryWithFlpDecoratorImpl implements CreateEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: CreateEntryUseCase.Interface\n ) {}\n\n async execute<T extends CmsEntryValues = CmsEntryValues>(\n model: CmsModel,\n input: CreateCmsEntryInput<T>,\n options?: CreateCmsEntryOptionsInput\n ): Promise<Result<CmsEntry<T>, CreateEntryUseCase.Error>> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, input, options);\n }\n\n const folderId = input.wbyAco_location?.folderId || input.location?.folderId;\n\n if (!folderId || folderId === ROOT_FOLDER) {\n return this.decoratee.execute(model, 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(model, input, options);\n }\n}\n\nexport const CreateEntryWithFlpDecorator = createDecorator({\n abstraction: CreateEntryUseCase,\n decorator: CreateEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["CreateEntryWithFlpDecoratorImpl","folderLevelPermissions","decoratee","model","input","options","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","CreateEntryWithFlpDecorator","createDecorator","CreateEntryUseCase","FolderLevelPermissions"],"mappings":";;;;;AAaA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,SAAuC,CACjD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,KAA6B,EAC7BC,OAAoC,EACkB;QACtD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC,OAAOC;QAGhD,MAAMC,WAAWF,MAAM,eAAe,EAAE,YAAYA,MAAM,QAAQ,EAAE;QAEpE,IAAI,CAACE,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACJ,OAAOC,OAAOC;QAGhD,MAAMG,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,CAACR,OAAOC,OAAOC;IAChD;AACJ;AAEO,MAAMO,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWd;IACX,cAAc;QAACe;KAAuB;AAC1C"}
@@ -1,43 +1,39 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { DeleteEntryRevisionUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/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 DeleteEntryRevisionWithFlpDecoratorImpl {
8
- constructor(folderLevelPermissions, getRevisionById, decoratee) {
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.getRevisionById = getRevisionById;
11
- this.decoratee = decoratee;
12
- }
13
- async execute(model, revisionId) {
14
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
15
- return this.decoratee.execute(model, revisionId);
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, revisionId);
18
- if (entryResult.isFail()) {
19
- return this.decoratee.execute(model, revisionId);
13
+ async execute(model, revisionId) {
14
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, revisionId);
15
+ const entryResult = await this.getRevisionById.execute(model, revisionId);
16
+ if (entryResult.isFail()) return this.decoratee.execute(model, revisionId);
17
+ const entry = entryResult.value;
18
+ const folderId = entry?.location?.folderId;
19
+ if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, revisionId);
20
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
21
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
22
+ permissions,
23
+ rwd: "d"
24
+ });
25
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
26
+ return this.decoratee.execute(model, revisionId);
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, revisionId);
25
- }
26
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
27
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
28
- permissions,
29
- rwd: "d"
30
- });
31
- if (!canAccessFolder) {
32
- return Result.fail(new EntryNotAuthorizedError());
33
- }
34
- return this.decoratee.execute(model, revisionId);
35
- }
36
28
  }
37
- export const DeleteEntryRevisionWithFlpDecorator = createDecorator({
38
- abstraction: DeleteEntryRevisionUseCase,
39
- decorator: DeleteEntryRevisionWithFlpDecoratorImpl,
40
- dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]
29
+ const DeleteEntryRevisionWithFlpDecorator = createDecorator({
30
+ abstraction: DeleteEntryRevisionUseCase,
31
+ decorator: DeleteEntryRevisionWithFlpDecoratorImpl,
32
+ dependencies: [
33
+ FolderLevelPermissions,
34
+ GetRevisionByIdUseCase
35
+ ]
41
36
  });
37
+ export { DeleteEntryRevisionWithFlpDecorator };
42
38
 
43
39
  //# sourceMappingURL=DeleteEntryRevisionWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","DeleteEntryRevisionUseCase","GetRevisionByIdUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","DeleteEntryRevisionWithFlpDecoratorImpl","constructor","folderLevelPermissions","getRevisionById","decoratee","execute","model","revisionId","canUseFolderLevelPermissions","entryResult","isFail","entry","value","folderId","location","permissions","getFolderLevelPermissions","canAccessFolder","canAccessFolderContent","rwd","fail","DeleteEntryRevisionWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["DeleteEntryRevisionWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { 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 DeleteEntryRevisionWithFlpDecoratorImpl implements DeleteEntryRevisionUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: DeleteEntryRevisionUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): ReturnType<DeleteEntryRevisionUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, revisionId);\n }\n\n const entryResult = await this.getRevisionById.execute(model, revisionId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, revisionId);\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, revisionId);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, revisionId);\n }\n}\n\nexport const DeleteEntryRevisionWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryRevisionUseCase,\n decorator: DeleteEntryRevisionWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,0BAA0B,QAAQ,oFAAoF;AAC/H,SAASC,sBAAsB,QAAQ,gFAAgF;AAEvH,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,uCAAuC,CAAiD;EAC1FC,WAAWA,CACCC,sBAAwD,EACxDC,eAAiD,EACjDC,SAA+C,EACzD;IAAA,KAHUF,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,eAAiD,GAAjDA,eAAiD;IAAA,KACjDC,SAA+C,GAA/CA,SAA+C;EACxD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,UAAkB,EACyC;IAC3D,IAAI,CAAC,IAAI,CAACL,sBAAsB,CAACM,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,UAAU,CAAC;IACpD;IAEA,MAAME,WAAW,GAAG,MAAM,IAAI,CAACN,eAAe,CAACE,OAAO,CAACC,KAAK,EAAEC,UAAU,CAAC;IACzE,IAAIE,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,UAAU,CAAC;IACpD;IAEA,MAAMI,KAAK,GAAGF,WAAW,CAACG,KAAK;IAC/B,MAAMC,QAAQ,GAAGF,KAAK,EAAEG,QAAQ,EAAED,QAAQ;IAE1C,IAAI,CAACA,QAAQ,IAAIA,QAAQ,KAAKf,WAAW,EAAE;MACvC,OAAO,IAAI,CAACM,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,UAAU,CAAC;IACpD;IAEA,MAAMQ,WAAW,GAAG,MAAM,IAAI,CAACb,sBAAsB,CAACc,yBAAyB,CAACH,QAAQ,CAAC;IACzF,MAAMI,eAAe,GAAG,MAAM,IAAI,CAACf,sBAAsB,CAACgB,sBAAsB,CAAC;MAC7EH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACF,eAAe,EAAE;MAClB,OAAOvB,MAAM,CAAC0B,IAAI,CAAC,IAAIrB,uBAAuB,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,UAAU,CAAC;EACpD;AACJ;AAEA,OAAO,MAAMc,mCAAmC,GAAG5B,eAAe,CAAC;EAC/D6B,WAAW,EAAE3B,0BAA0B;EACvC4B,SAAS,EAAEvB,uCAAuC;EAClDwB,YAAY,EAAE,CAAC3B,sBAAsB,EAAED,sBAAsB;AACjE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryRevisionUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntryRevision/abstractions.js\";\nimport { GetRevisionByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetRevisionById/abstractions.js\";\nimport type { 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 DeleteEntryRevisionWithFlpDecoratorImpl implements DeleteEntryRevisionUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getRevisionById: GetRevisionByIdUseCase.Interface,\n private decoratee: DeleteEntryRevisionUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n revisionId: string\n ): ReturnType<DeleteEntryRevisionUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, revisionId);\n }\n\n const entryResult = await this.getRevisionById.execute(model, revisionId);\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, revisionId);\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, revisionId);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, revisionId);\n }\n}\n\nexport const DeleteEntryRevisionWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryRevisionUseCase,\n decorator: DeleteEntryRevisionWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetRevisionByIdUseCase]\n});\n"],"names":["DeleteEntryRevisionWithFlpDecoratorImpl","folderLevelPermissions","getRevisionById","decoratee","model","revisionId","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","DeleteEntryRevisionWithFlpDecorator","createDecorator","DeleteEntryRevisionUseCase","FolderLevelPermissions","GetRevisionByIdUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,eAAiD,EACjDC,SAA+C,CACzD;aAHUF,sBAAsB,GAAtBA;aACAC,eAAe,GAAfA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,UAAkB,EACyC;QAC3D,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD,OAAOC;QAGzC,MAAMC,cAAc,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACF,OAAOC;QAC9D,IAAIC,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC;QAGzC,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACL,OAAOC;QAGzC,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,CAACT,OAAOC;IACzC;AACJ;AAEO,MAAMS,sCAAsCC,gBAAgB;IAC/D,aAAaC;IACb,WAAWhB;IACX,cAAc;QAACiB;QAAwBC;KAAuB;AAClE"}
@@ -1,45 +1,41 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js";
3
3
  import { GetLatestRevisionByEntryIdBaseUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/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 DeleteEntryWithFlpDecoratorImpl {
8
- constructor(folderLevelPermissions, getLatestRevisionByEntryId, decoratee) {
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.getLatestRevisionByEntryId = getLatestRevisionByEntryId;
11
- this.decoratee = decoratee;
12
- }
13
- async execute(model, id, options) {
14
- if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {
15
- return this.decoratee.execute(model, id, options);
8
+ constructor(folderLevelPermissions, getLatestRevisionByEntryId, decoratee){
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.getLatestRevisionByEntryId = getLatestRevisionByEntryId;
11
+ this.decoratee = decoratee;
16
12
  }
17
- const entryResult = await this.getLatestRevisionByEntryId.execute(model, {
18
- id
19
- });
20
- if (entryResult.isFail()) {
21
- return this.decoratee.execute(model, id, options);
13
+ async execute(model, id, options) {
14
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return this.decoratee.execute(model, id, options);
15
+ const entryResult = await this.getLatestRevisionByEntryId.execute(model, {
16
+ id
17
+ });
18
+ if (entryResult.isFail()) return this.decoratee.execute(model, id, options);
19
+ const entry = entryResult.value;
20
+ const folderId = entry?.location?.folderId;
21
+ if (!folderId || folderId === ROOT_FOLDER) return this.decoratee.execute(model, id, options);
22
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
23
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
24
+ permissions,
25
+ rwd: "d"
26
+ });
27
+ if (!canAccessFolder) return Result.fail(new EntryNotAuthorizedError());
28
+ return this.decoratee.execute(model, id, options);
22
29
  }
23
- const entry = entryResult.value;
24
- const folderId = entry?.location?.folderId;
25
- if (!folderId || folderId === ROOT_FOLDER) {
26
- return this.decoratee.execute(model, id, options);
27
- }
28
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);
29
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({
30
- permissions,
31
- rwd: "d"
32
- });
33
- if (!canAccessFolder) {
34
- return Result.fail(new EntryNotAuthorizedError());
35
- }
36
- return this.decoratee.execute(model, id, options);
37
- }
38
30
  }
39
- export const DeleteEntryWithFlpDecorator = createDecorator({
40
- abstraction: DeleteEntryUseCase,
41
- decorator: DeleteEntryWithFlpDecoratorImpl,
42
- dependencies: [FolderLevelPermissions, GetLatestRevisionByEntryIdBaseUseCase]
31
+ const DeleteEntryWithFlpDecorator = createDecorator({
32
+ abstraction: DeleteEntryUseCase,
33
+ decorator: DeleteEntryWithFlpDecoratorImpl,
34
+ dependencies: [
35
+ FolderLevelPermissions,
36
+ GetLatestRevisionByEntryIdBaseUseCase
37
+ ]
43
38
  });
39
+ export { DeleteEntryWithFlpDecorator };
44
40
 
45
41
  //# sourceMappingURL=DeleteEntryWithFlpDecorator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","DeleteEntryUseCase","GetLatestRevisionByEntryIdBaseUseCase","FolderLevelPermissions","ROOT_FOLDER","EntryNotAuthorizedError","DeleteEntryWithFlpDecoratorImpl","constructor","folderLevelPermissions","getLatestRevisionByEntryId","decoratee","execute","model","id","options","canUseFolderLevelPermissions","entryResult","isFail","entry","value","folderId","location","permissions","getFolderLevelPermissions","canAccessFolder","canAccessFolderContent","rwd","fail","DeleteEntryWithFlpDecorator","abstraction","decorator","dependencies"],"sources":["DeleteEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js\";\nimport { GetLatestRevisionByEntryIdBaseUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js\";\nimport type { CmsModel, CmsDeleteEntryOptions } 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 DeleteEntryWithFlpDecoratorImpl implements DeleteEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getLatestRevisionByEntryId: GetLatestRevisionByEntryIdBaseUseCase.Interface,\n private decoratee: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n id: string,\n options?: CmsDeleteEntryOptions\n ): ReturnType<DeleteEntryUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, options);\n }\n\n const entryResult = await this.getLatestRevisionByEntryId.execute(model, { id });\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, 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, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, id, options);\n }\n}\n\nexport const DeleteEntryWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryUseCase,\n decorator: DeleteEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetLatestRevisionByEntryIdBaseUseCase]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,4EAA4E;AAC/G,SAASC,qCAAqC,QAAQ,2FAA2F;AAEjJ,SAASC,sBAAsB;AAC/B,SAASC,WAAW;AACpB,SAASC,uBAAuB,QAAQ,wDAAwD;AAEhG,MAAMC,+BAA+B,CAAyC;EAC1EC,WAAWA,CACCC,sBAAwD,EACxDC,0BAA2E,EAC3EC,SAAuC,EACjD;IAAA,KAHUF,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,0BAA2E,GAA3EA,0BAA2E;IAAA,KAC3EC,SAAuC,GAAvCA,SAAuC;EAChD;EAEH,MAAMC,OAAOA,CACTC,KAAe,EACfC,EAAU,EACVC,OAA+B,EACoB;IACnD,IAAI,CAAC,IAAI,CAACN,sBAAsB,CAACO,4BAA4B,CAAC,CAAC,EAAE;MAC7D,OAAO,IAAI,CAACL,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;IACrD;IAEA,MAAME,WAAW,GAAG,MAAM,IAAI,CAACP,0BAA0B,CAACE,OAAO,CAACC,KAAK,EAAE;MAAEC;IAAG,CAAC,CAAC;IAChF,IAAIG,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACtB,OAAO,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;IACrD;IAEA,MAAMI,KAAK,GAAGF,WAAW,CAACG,KAAK;IAC/B,MAAMC,QAAQ,GAAGF,KAAK,EAAEG,QAAQ,EAAED,QAAQ;IAE1C,IAAI,CAACA,QAAQ,IAAIA,QAAQ,KAAKhB,WAAW,EAAE;MACvC,OAAO,IAAI,CAACM,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;IACrD;IAEA,MAAMQ,WAAW,GAAG,MAAM,IAAI,CAACd,sBAAsB,CAACe,yBAAyB,CAACH,QAAQ,CAAC;IACzF,MAAMI,eAAe,GAAG,MAAM,IAAI,CAAChB,sBAAsB,CAACiB,sBAAsB,CAAC;MAC7EH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACF,eAAe,EAAE;MAClB,OAAOxB,MAAM,CAAC2B,IAAI,CAAC,IAAItB,uBAAuB,CAAC,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACK,SAAS,CAACC,OAAO,CAACC,KAAK,EAAEC,EAAE,EAAEC,OAAO,CAAC;EACrD;AACJ;AAEA,OAAO,MAAMc,2BAA2B,GAAG7B,eAAe,CAAC;EACvD8B,WAAW,EAAE5B,kBAAkB;EAC/B6B,SAAS,EAAExB,+BAA+B;EAC1CyB,YAAY,EAAE,CAAC5B,sBAAsB,EAAED,qCAAqC;AAChF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/cms/decorators/DeleteEntryWithFlpDecorator.js","sources":["../../../../src/features/cms/decorators/DeleteEntryWithFlpDecorator.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/abstractions.js\";\nimport { GetLatestRevisionByEntryIdBaseUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetLatestRevisionByEntryId/abstractions.js\";\nimport type { CmsModel, CmsDeleteEntryOptions } 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 DeleteEntryWithFlpDecoratorImpl implements DeleteEntryUseCase.Interface {\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private getLatestRevisionByEntryId: GetLatestRevisionByEntryIdBaseUseCase.Interface,\n private decoratee: DeleteEntryUseCase.Interface\n ) {}\n\n async execute(\n model: CmsModel,\n id: string,\n options?: CmsDeleteEntryOptions\n ): ReturnType<DeleteEntryUseCase.Interface[\"execute\"]> {\n if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) {\n return this.decoratee.execute(model, id, options);\n }\n\n const entryResult = await this.getLatestRevisionByEntryId.execute(model, { id });\n if (entryResult.isFail()) {\n return this.decoratee.execute(model, id, 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, options);\n }\n\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folderId);\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolderContent({\n permissions,\n rwd: \"d\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new EntryNotAuthorizedError());\n }\n\n return this.decoratee.execute(model, id, options);\n }\n}\n\nexport const DeleteEntryWithFlpDecorator = createDecorator({\n abstraction: DeleteEntryUseCase,\n decorator: DeleteEntryWithFlpDecoratorImpl,\n dependencies: [FolderLevelPermissions, GetLatestRevisionByEntryIdBaseUseCase]\n});\n"],"names":["DeleteEntryWithFlpDecoratorImpl","folderLevelPermissions","getLatestRevisionByEntryId","decoratee","model","id","options","entryResult","entry","folderId","ROOT_FOLDER","permissions","canAccessFolder","Result","EntryNotAuthorizedError","DeleteEntryWithFlpDecorator","createDecorator","DeleteEntryUseCase","FolderLevelPermissions","GetLatestRevisionByEntryIdBaseUseCase"],"mappings":";;;;;;AAQA,MAAMA;IACF,YACYC,sBAAwD,EACxDC,0BAA2E,EAC3EC,SAAuC,CACjD;aAHUF,sBAAsB,GAAtBA;aACAC,0BAA0B,GAA1BA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QACFC,KAAe,EACfC,EAAU,EACVC,OAA+B,EACoB;QACnD,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,OAAOC,IAAIC;QAG7C,MAAMC,cAAc,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAACH,OAAO;YAAEC;QAAG;QAC9E,IAAIE,YAAY,MAAM,IAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACH,OAAOC,IAAIC;QAG7C,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,WAAWD,OAAO,UAAU;QAElC,IAAI,CAACC,YAAYA,aAAaC,aAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAACN,OAAOC,IAAIC;QAG7C,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,CAACV,OAAOC,IAAIC;IAC7C;AACJ;AAEO,MAAMS,8BAA8BC,gBAAgB;IACvD,aAAaC;IACb,WAAWjB;IACX,cAAc;QAACkB;QAAwBC;KAAsC;AACjF"}