@webiny/api-aco 0.0.0-unstable.7f63ea0744 → 0.0.0-unstable.81ae05e56b

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 (569) hide show
  1. package/README.md +6 -28
  2. package/constants.d.ts +2 -0
  3. package/constants.js +4 -0
  4. package/constants.js.map +1 -0
  5. package/createAcoContext.d.ts +8 -2
  6. package/createAcoContext.js +128 -50
  7. package/createAcoContext.js.map +1 -1
  8. package/createAcoGraphQL.d.ts +3 -2
  9. package/createAcoGraphQL.js +58 -38
  10. package/createAcoGraphQL.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +8 -6
  12. package/createAcoStorageOperations.js +9 -18
  13. package/createAcoStorageOperations.js.map +1 -1
  14. package/createAcoTasks.d.ts +1 -0
  15. package/createAcoTasks.js +15 -0
  16. package/createAcoTasks.js.map +1 -0
  17. package/domain/folder/abstractions.d.ts +9 -0
  18. package/domain/folder/abstractions.js +8 -0
  19. package/domain/folder/abstractions.js.map +1 -0
  20. package/domain/folder/errors.d.ts +29 -0
  21. package/domain/folder/errors.js +56 -0
  22. package/domain/folder/errors.js.map +1 -0
  23. package/domain/folder/folder.model.d.ts +9 -0
  24. package/domain/folder/folder.model.js +42 -0
  25. package/domain/folder/folder.model.js.map +1 -0
  26. package/exports/api/aco/flp.d.ts +6 -0
  27. package/exports/api/aco/flp.js +8 -0
  28. package/exports/api/aco/flp.js.map +1 -0
  29. package/exports/api/aco/folder.d.ts +10 -0
  30. package/exports/api/aco/folder.js +12 -0
  31. package/exports/api/aco/folder.js.map +1 -0
  32. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  33. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -0
  34. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  35. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  36. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +36 -0
  37. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  38. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  39. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +43 -0
  40. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  41. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  42. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +45 -0
  43. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  44. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  45. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +41 -0
  46. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  47. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  48. package/features/cms/decorators/GetEntryWithFlpDecorator.js +41 -0
  49. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  50. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  51. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +45 -0
  52. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  53. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  54. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +44 -0
  55. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  56. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  57. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  58. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  59. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  60. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +35 -0
  61. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  62. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  63. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  64. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  65. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  66. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  67. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  68. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  69. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +63 -0
  70. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  71. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
  72. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
  73. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  74. package/features/cms/feature.d.ts +1 -0
  75. package/features/cms/feature.js +43 -0
  76. package/features/cms/feature.js.map +1 -0
  77. package/features/cms/index.d.ts +1 -0
  78. package/features/cms/index.js +3 -0
  79. package/features/cms/index.js.map +1 -0
  80. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  81. package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
  82. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  83. package/features/flp/CreateFlp/abstractions.d.ts +9 -0
  84. package/features/flp/CreateFlp/abstractions.js +8 -0
  85. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  86. package/features/flp/CreateFlp/feature.d.ts +6 -0
  87. package/features/flp/CreateFlp/feature.js +13 -0
  88. package/features/flp/CreateFlp/feature.js.map +1 -0
  89. package/features/flp/CreateFlp/index.d.ts +2 -0
  90. package/features/flp/CreateFlp/index.js +4 -0
  91. package/features/flp/CreateFlp/index.js.map +1 -0
  92. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
  93. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
  94. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  95. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +1 -0
  96. package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -0
  97. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  98. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  99. package/features/flp/CreateFlpOnFolderCreated/index.js +3 -0
  100. package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
  101. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  102. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
  103. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  104. package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
  105. package/features/flp/DeleteFlp/abstractions.js +8 -0
  106. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  107. package/features/flp/DeleteFlp/feature.d.ts +6 -0
  108. package/features/flp/DeleteFlp/feature.js +13 -0
  109. package/features/flp/DeleteFlp/feature.js.map +1 -0
  110. package/features/flp/DeleteFlp/index.d.ts +2 -0
  111. package/features/flp/DeleteFlp/index.js +4 -0
  112. package/features/flp/DeleteFlp/index.js.map +1 -0
  113. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
  114. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
  115. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  116. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +1 -0
  117. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -0
  118. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  119. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  120. package/features/flp/DeleteFlpOnFolderDeleted/index.js +3 -0
  121. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
  122. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  123. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
  124. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  125. package/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
  126. package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
  127. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  128. package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
  129. package/features/flp/FolderLevelPermissions/feature.js +10 -0
  130. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  131. package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
  132. package/features/flp/FolderLevelPermissions/index.js +4 -0
  133. package/features/flp/FolderLevelPermissions/index.js.map +1 -0
  134. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  135. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -0
  136. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  137. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  138. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +3 -0
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -0
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  146. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  147. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +3 -0
  148. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  149. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  150. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
  151. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  152. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  153. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
  154. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  155. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  156. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
  157. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  158. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  159. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
  160. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  161. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  162. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -0
  163. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  164. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  165. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +3 -0
  166. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  167. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  168. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
  169. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  170. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  171. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -0
  172. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  173. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  174. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +13 -0
  175. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  176. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  177. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -0
  178. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  179. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  180. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +3 -0
  181. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  182. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  183. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
  184. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  185. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  186. package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
  187. package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  188. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  189. package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
  190. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  191. package/features/flp/GetFlp/abstractions.d.ts +9 -0
  192. package/features/flp/GetFlp/abstractions.js +5 -0
  193. package/features/flp/GetFlp/abstractions.js.map +1 -0
  194. package/features/flp/GetFlp/feature.d.ts +1 -0
  195. package/features/flp/GetFlp/feature.js +13 -0
  196. package/features/flp/GetFlp/feature.js.map +1 -0
  197. package/features/flp/GetFlp/index.d.ts +1 -0
  198. package/features/flp/GetFlp/index.js +3 -0
  199. package/features/flp/GetFlp/index.js.map +1 -0
  200. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  201. package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
  202. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  203. package/features/flp/ListFlps/abstractions.d.ts +17 -0
  204. package/features/flp/ListFlps/abstractions.js +5 -0
  205. package/features/flp/ListFlps/abstractions.js.map +1 -0
  206. package/features/flp/ListFlps/feature.d.ts +1 -0
  207. package/features/flp/ListFlps/feature.js +13 -0
  208. package/features/flp/ListFlps/feature.js.map +1 -0
  209. package/features/flp/ListFlps/index.d.ts +1 -0
  210. package/features/flp/ListFlps/index.js +3 -0
  211. package/features/flp/ListFlps/index.js.map +1 -0
  212. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
  213. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
  214. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  215. package/features/flp/UpdateFlp/abstractions.d.ts +15 -0
  216. package/features/flp/UpdateFlp/abstractions.js +8 -0
  217. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  218. package/features/flp/UpdateFlp/feature.d.ts +6 -0
  219. package/features/flp/UpdateFlp/feature.js +13 -0
  220. package/features/flp/UpdateFlp/feature.js.map +1 -0
  221. package/features/flp/UpdateFlp/index.d.ts +2 -0
  222. package/features/flp/UpdateFlp/index.js +4 -0
  223. package/features/flp/UpdateFlp/index.js.map +1 -0
  224. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
  225. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
  226. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  227. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +1 -0
  228. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -0
  229. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  230. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  231. package/features/flp/UpdateFlpOnFolderUpdated/index.js +3 -0
  232. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
  233. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  234. package/features/folder/CreateFolder/CreateFolderRepository.js +108 -0
  235. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  236. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  237. package/features/folder/CreateFolder/CreateFolderUseCase.js +39 -0
  238. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  239. package/features/folder/CreateFolder/abstractions.d.ts +59 -0
  240. package/features/folder/CreateFolder/abstractions.js +25 -0
  241. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  242. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
  243. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -0
  244. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  245. package/features/folder/CreateFolder/events.d.ts +10 -0
  246. package/features/folder/CreateFolder/events.js +19 -0
  247. package/features/folder/CreateFolder/events.js.map +1 -0
  248. package/features/folder/CreateFolder/feature.d.ts +1 -0
  249. package/features/folder/CreateFolder/feature.js +14 -0
  250. package/features/folder/CreateFolder/feature.js.map +1 -0
  251. package/features/folder/CreateFolder/index.d.ts +2 -0
  252. package/features/folder/CreateFolder/index.js +4 -0
  253. package/features/folder/CreateFolder/index.js.map +1 -0
  254. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  255. package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -0
  256. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  257. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  258. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +55 -0
  259. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  260. package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
  261. package/features/folder/DeleteFolder/abstractions.js +25 -0
  262. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  263. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  264. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +28 -0
  265. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  266. package/features/folder/DeleteFolder/events.d.ts +10 -0
  267. package/features/folder/DeleteFolder/events.js +19 -0
  268. package/features/folder/DeleteFolder/events.js.map +1 -0
  269. package/features/folder/DeleteFolder/feature.d.ts +1 -0
  270. package/features/folder/DeleteFolder/feature.js +14 -0
  271. package/features/folder/DeleteFolder/feature.js.map +1 -0
  272. package/features/folder/DeleteFolder/index.d.ts +2 -0
  273. package/features/folder/DeleteFolder/index.js +4 -0
  274. package/features/folder/DeleteFolder/index.js.map +1 -0
  275. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  276. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
  277. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  278. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
  279. package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
  280. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  281. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
  282. package/features/folder/EnsureFolderIsEmpty/feature.js +10 -0
  283. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  284. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  285. package/features/folder/EnsureFolderIsEmpty/index.js +3 -0
  286. package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
  287. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  288. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
  289. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  290. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
  291. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -0
  292. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  293. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  294. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +3 -0
  295. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
  296. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  297. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
  298. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  299. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
  300. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -0
  301. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  302. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  303. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +3 -0
  304. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
  305. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  306. package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -0
  307. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  308. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  309. package/features/folder/GetAncestors/GetAncestorsUseCase.js +17 -0
  310. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  311. package/features/folder/GetAncestors/abstractions.d.ts +40 -0
  312. package/features/folder/GetAncestors/abstractions.js +17 -0
  313. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  314. package/features/folder/GetAncestors/feature.d.ts +1 -0
  315. package/features/folder/GetAncestors/feature.js +12 -0
  316. package/features/folder/GetAncestors/feature.js.map +1 -0
  317. package/features/folder/GetAncestors/index.d.ts +2 -0
  318. package/features/folder/GetAncestors/index.js +4 -0
  319. package/features/folder/GetAncestors/index.js.map +1 -0
  320. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  321. package/features/folder/GetFolder/GetFolderRepository.js +31 -0
  322. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  323. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  324. package/features/folder/GetFolder/GetFolderUseCase.js +17 -0
  325. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  326. package/features/folder/GetFolder/abstractions.d.ts +57 -0
  327. package/features/folder/GetFolder/abstractions.js +24 -0
  328. package/features/folder/GetFolder/abstractions.js.map +1 -0
  329. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  330. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +37 -0
  331. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  332. package/features/folder/GetFolder/feature.d.ts +1 -0
  333. package/features/folder/GetFolder/feature.js +14 -0
  334. package/features/folder/GetFolder/feature.js.map +1 -0
  335. package/features/folder/GetFolder/index.d.ts +2 -0
  336. package/features/folder/GetFolder/index.js +4 -0
  337. package/features/folder/GetFolder/index.js.map +1 -0
  338. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  339. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -0
  340. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  341. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  342. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +17 -0
  343. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  344. package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
  345. package/features/folder/GetFolderHierarchy/abstractions.js +17 -0
  346. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  347. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  348. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
  349. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  350. package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
  351. package/features/folder/GetFolderHierarchy/feature.js +14 -0
  352. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  353. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  354. package/features/folder/GetFolderHierarchy/index.js +4 -0
  355. package/features/folder/GetFolderHierarchy/index.js.map +1 -0
  356. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  357. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
  358. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  359. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
  360. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +8 -0
  361. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  362. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
  363. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -0
  364. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  365. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  366. package/features/folder/ListFolderLevelPermissionsTargets/index.js +3 -0
  367. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  368. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  369. package/features/folder/ListFolders/ListFoldersRepository.js +54 -0
  370. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  371. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  372. package/features/folder/ListFolders/ListFoldersUseCase.js +17 -0
  373. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  374. package/features/folder/ListFolders/abstractions.d.ts +44 -0
  375. package/features/folder/ListFolders/abstractions.js +17 -0
  376. package/features/folder/ListFolders/abstractions.js.map +1 -0
  377. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  378. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
  379. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  380. package/features/folder/ListFolders/feature.d.ts +1 -0
  381. package/features/folder/ListFolders/feature.js +14 -0
  382. package/features/folder/ListFolders/feature.js.map +1 -0
  383. package/features/folder/ListFolders/index.d.ts +2 -0
  384. package/features/folder/ListFolders/index.js +4 -0
  385. package/features/folder/ListFolders/index.js.map +1 -0
  386. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  387. package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -0
  388. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  389. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  390. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +55 -0
  391. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  392. package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
  393. package/features/folder/UpdateFolder/abstractions.js +25 -0
  394. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  395. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
  396. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +77 -0
  397. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  398. package/features/folder/UpdateFolder/events.d.ts +10 -0
  399. package/features/folder/UpdateFolder/events.js +19 -0
  400. package/features/folder/UpdateFolder/events.js.map +1 -0
  401. package/features/folder/UpdateFolder/feature.d.ts +1 -0
  402. package/features/folder/UpdateFolder/feature.js +14 -0
  403. package/features/folder/UpdateFolder/feature.js.map +1 -0
  404. package/features/folder/UpdateFolder/index.d.ts +2 -0
  405. package/features/folder/UpdateFolder/index.js +4 -0
  406. package/features/folder/UpdateFolder/index.js.map +1 -0
  407. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  408. package/features/folder/shared/EntryToFolderMapper.js +22 -0
  409. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  410. package/features/folder/shared/abstractions.d.ts +6 -0
  411. package/features/folder/shared/abstractions.js +5 -0
  412. package/features/folder/shared/abstractions.js.map +1 -0
  413. package/filter/filter.crud.d.ts +3 -0
  414. package/filter/filter.crud.js +33 -0
  415. package/filter/filter.crud.js.map +1 -0
  416. package/filter/filter.gql.d.ts +3 -0
  417. package/filter/filter.gql.js +146 -0
  418. package/filter/filter.gql.js.map +1 -0
  419. package/filter/filter.model.d.ts +9 -0
  420. package/filter/filter.model.js +41 -0
  421. package/filter/filter.model.js.map +1 -0
  422. package/filter/filter.so.d.ts +3 -0
  423. package/filter/filter.so.js +104 -0
  424. package/filter/filter.so.js.map +1 -0
  425. package/filter/filter.types.d.ts +67 -0
  426. package/filter/filter.types.js +7 -0
  427. package/filter/filter.types.js.map +1 -0
  428. package/flp/flp.crud.d.ts +7 -0
  429. package/flp/flp.crud.js +91 -0
  430. package/flp/flp.crud.js.map +1 -0
  431. package/flp/flp.so.d.ts +20 -0
  432. package/flp/flp.so.js +220 -0
  433. package/flp/flp.so.js.map +1 -0
  434. package/flp/flp.types.d.ts +93 -0
  435. package/flp/flp.types.js +3 -0
  436. package/flp/flp.types.js.map +1 -0
  437. package/flp/index.d.ts +3 -0
  438. package/flp/index.js +5 -0
  439. package/flp/index.js.map +1 -0
  440. package/flp/tasks/createFlp.task.d.ts +16 -0
  441. package/flp/tasks/createFlp.task.js +35 -0
  442. package/flp/tasks/createFlp.task.js.map +1 -0
  443. package/flp/tasks/deleteFlp.task.d.ts +16 -0
  444. package/flp/tasks/deleteFlp.task.js +35 -0
  445. package/flp/tasks/deleteFlp.task.js.map +1 -0
  446. package/flp/tasks/index.d.ts +5 -0
  447. package/flp/tasks/index.js +19 -0
  448. package/flp/tasks/index.js.map +1 -0
  449. package/flp/tasks/syncFlp.task.d.ts +20 -0
  450. package/flp/tasks/syncFlp.task.js +127 -0
  451. package/flp/tasks/syncFlp.task.js.map +1 -0
  452. package/flp/tasks/updateFlp.task.d.ts +16 -0
  453. package/flp/tasks/updateFlp.task.js +40 -0
  454. package/flp/tasks/updateFlp.task.js.map +1 -0
  455. package/folder/createFolderModelModifier.d.ts +36 -0
  456. package/folder/createFolderModelModifier.js +61 -0
  457. package/folder/createFolderModelModifier.js.map +1 -0
  458. package/folder/createFolderTypeDefs.d.ts +7 -0
  459. package/folder/createFolderTypeDefs.js +186 -0
  460. package/folder/createFolderTypeDefs.js.map +1 -0
  461. package/folder/folder.gql.d.ts +4 -3
  462. package/folder/folder.gql.js +146 -97
  463. package/folder/folder.gql.js.map +1 -1
  464. package/folder/folder.types.d.ts +52 -59
  465. package/folder/folder.types.js +2 -4
  466. package/folder/folder.types.js.map +1 -1
  467. package/index.d.ts +8 -1
  468. package/index.js +9 -13
  469. package/index.js.map +1 -1
  470. package/package.json +44 -35
  471. package/types.d.ts +31 -15
  472. package/types.js +7 -4
  473. package/types.js.map +1 -1
  474. package/utils/FoldersCacheFactory.d.ts +10 -0
  475. package/utils/FoldersCacheFactory.js +24 -0
  476. package/utils/FoldersCacheFactory.js.map +1 -0
  477. package/utils/ListCache.d.ts +23 -0
  478. package/utils/ListCache.js +23 -0
  479. package/utils/ListCache.js.map +1 -0
  480. package/utils/Path.d.ts +3 -0
  481. package/utils/Path.js +11 -0
  482. package/utils/Path.js.map +1 -0
  483. package/utils/compress.d.ts +4 -0
  484. package/utils/compress.js +12 -0
  485. package/utils/compress.js.map +1 -0
  486. package/utils/createListSort.d.ts +3 -0
  487. package/utils/createListSort.js +10 -0
  488. package/utils/createListSort.js.map +1 -0
  489. package/utils/createOperationsWrapper.d.ts +9 -0
  490. package/utils/createOperationsWrapper.js +22 -0
  491. package/utils/createOperationsWrapper.js.map +1 -0
  492. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  493. package/utils/decorators/CmsEntriesCrudDecorators.js +206 -0
  494. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  495. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  496. package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
  497. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  498. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  499. package/utils/decorators/ListEntriesFactory.js +106 -0
  500. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  501. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  502. package/utils/decorators/hasRootFolderId.js +19 -0
  503. package/utils/decorators/hasRootFolderId.js.map +1 -0
  504. package/utils/decorators/isPageModel.d.ts +5 -0
  505. package/utils/decorators/isPageModel.js +13 -0
  506. package/utils/decorators/isPageModel.js.map +1 -0
  507. package/utils/ensureAuthentication.d.ts +2 -0
  508. package/utils/ensureAuthentication.js +12 -0
  509. package/utils/ensureAuthentication.js.map +1 -0
  510. package/utils/pickEntryFieldValues.d.ts +3 -0
  511. package/utils/pickEntryFieldValues.js +23 -0
  512. package/utils/pickEntryFieldValues.js.map +1 -0
  513. package/utils/resolve.d.ts +2 -2
  514. package/utils/resolve.js +6 -11
  515. package/utils/resolve.js.map +1 -1
  516. package/createAcoCrud.d.ts +0 -2
  517. package/createAcoCrud.js +0 -17
  518. package/createAcoCrud.js.map +0 -1
  519. package/createAcoFields.d.ts +0 -2
  520. package/createAcoFields.js +0 -40
  521. package/createAcoFields.js.map +0 -1
  522. package/createAcoHooks.d.ts +0 -2
  523. package/createAcoHooks.js +0 -11
  524. package/createAcoHooks.js.map +0 -1
  525. package/createAcoModels.d.ts +0 -2
  526. package/createAcoModels.js +0 -67
  527. package/createAcoModels.js.map +0 -1
  528. package/folder/folder.crud.d.ts +0 -3
  529. package/folder/folder.crud.js +0 -92
  530. package/folder/folder.crud.js.map +0 -1
  531. package/folder/folder.model.d.ts +0 -4
  532. package/folder/folder.model.js +0 -79
  533. package/folder/folder.model.js.map +0 -1
  534. package/folder/folder.so.d.ts +0 -8
  535. package/folder/folder.so.js +0 -156
  536. package/folder/folder.so.js.map +0 -1
  537. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  538. package/folder/onFolderBeforeDelete.hook.js +0 -53
  539. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  540. package/record/record.crud.d.ts +0 -3
  541. package/record/record.crud.js +0 -92
  542. package/record/record.crud.js.map +0 -1
  543. package/record/record.gql.d.ts +0 -3
  544. package/record/record.gql.js +0 -118
  545. package/record/record.gql.js.map +0 -1
  546. package/record/record.model.d.ts +0 -4
  547. package/record/record.model.js +0 -75
  548. package/record/record.model.js.map +0 -1
  549. package/record/record.so.d.ts +0 -8
  550. package/record/record.so.js +0 -100
  551. package/record/record.so.js.map +0 -1
  552. package/record/record.types.d.ts +0 -92
  553. package/record/record.types.js +0 -5
  554. package/record/record.types.js.map +0 -1
  555. package/utils/createModelField.d.ts +0 -6
  556. package/utils/createModelField.js +0 -39
  557. package/utils/createModelField.js.map +0 -1
  558. package/utils/fieldResolver.d.ts +0 -16
  559. package/utils/fieldResolver.js +0 -44
  560. package/utils/fieldResolver.js.map +0 -1
  561. package/utils/getFieldValues.d.ts +0 -2
  562. package/utils/getFieldValues.js +0 -12
  563. package/utils/getFieldValues.js.map +0 -1
  564. package/utils/isInstallationPending.d.ts +0 -4
  565. package/utils/isInstallationPending.js +0 -21
  566. package/utils/isInstallationPending.js.map +0 -1
  567. package/utils/modelFactory.d.ts +0 -15
  568. package/utils/modelFactory.js +0 -23
  569. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1 @@
1
+ export { CmsFlpFeature } from "./feature.js";
@@ -0,0 +1,3 @@
1
+ export { CmsFlpFeature } from "./feature.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsFlpFeature"],"sources":["index.ts"],"sourcesContent":["export { CmsFlpFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,aAAa","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { CreateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import type { Folder } from "../../../folder/folder.types.js";
3
+ import type { AcoContext } from "../../../types.js";
4
+ export declare class CreateFlpUseCase implements UseCaseAbstraction.Interface {
5
+ private context;
6
+ constructor(context: AcoContext);
7
+ execute(folder: Folder): Promise<void>;
8
+ }
@@ -0,0 +1,41 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ import { Path } from "../../../utils/Path.js";
3
+ import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
4
+ export class CreateFlpUseCase {
5
+ constructor(context) {
6
+ this.context = context;
7
+ }
8
+ async execute(folder) {
9
+ try {
10
+ const {
11
+ id,
12
+ type,
13
+ slug,
14
+ parentId,
15
+ permissions
16
+ } = folder;
17
+ let parentFlp = null;
18
+ if (parentId) {
19
+ parentFlp = await this.context.aco.flp.get(parentId);
20
+ if (!parentFlp) {
21
+ throw new WebinyError("Parent folder level permission not found. Unable to create a new record in the FLP catalog.", "ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND");
22
+ }
23
+ }
24
+ await this.context.aco.flp.create({
25
+ id,
26
+ type,
27
+ slug,
28
+ parentId: parentId ?? ROOT_FOLDER,
29
+ path: Path.create(slug, parentFlp?.path),
30
+ permissions: Permissions.create(permissions, parentFlp)
31
+ });
32
+ } catch (error) {
33
+ throw WebinyError.from(error, {
34
+ message: "Error while creating FLP",
35
+ code: "ERROR_CREATE_FLP_USE_CASE"
36
+ });
37
+ }
38
+ }
39
+ }
40
+
41
+ //# sourceMappingURL=CreateFlpUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebinyError","Path","Permissions","ROOT_FOLDER","CreateFlpUseCase","constructor","context","execute","folder","id","type","slug","parentId","permissions","parentFlp","aco","flp","get","create","path","error","from","message","code"],"sources":["CreateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { FolderLevelPermission as IFolderLevelPermission } from \"~/flp/flp.types.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class CreateFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n const { id, type, slug, parentId, permissions } = folder;\n let parentFlp: IFolderLevelPermission | null = null;\n\n if (parentId) {\n parentFlp = await this.context.aco.flp.get(parentId);\n\n if (!parentFlp) {\n throw new WebinyError(\n \"Parent folder level permission not found. Unable to create a new record in the FLP catalog.\",\n \"ERROR_CREATE_FLP_USE_CASE_PARENT_FLP_NOT_FOUND\"\n );\n }\n }\n\n await this.context.aco.flp.create({\n id,\n type,\n slug,\n parentId: parentId ?? ROOT_FOLDER,\n path: Path.create(slug, parentFlp?.path),\n permissions: Permissions.create(permissions, parentFlp)\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while creating FLP\",\n code: \"ERROR_CREATE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,IAAI;AACb,SAASC,WAAW,EAAEC,WAAW,QAAQ,oBAAoB;AAM7D,OAAO,MAAMC,gBAAgB,CAAyC;EAClEC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1C,MAAMC,OAAOA,CAACC,MAAc,EAAiB;IACzC,IAAI;MACA,MAAM;QAAEC,EAAE;QAAEC,IAAI;QAAEC,IAAI;QAAEC,QAAQ;QAAEC;MAAY,CAAC,GAAGL,MAAM;MACxD,IAAIM,SAAwC,GAAG,IAAI;MAEnD,IAAIF,QAAQ,EAAE;QACVE,SAAS,GAAG,MAAM,IAAI,CAACR,OAAO,CAACS,GAAG,CAACC,GAAG,CAACC,GAAG,CAACL,QAAQ,CAAC;QAEpD,IAAI,CAACE,SAAS,EAAE;UACZ,MAAM,IAAId,WAAW,CACjB,6FAA6F,EAC7F,gDACJ,CAAC;QACL;MACJ;MAEA,MAAM,IAAI,CAACM,OAAO,CAACS,GAAG,CAACC,GAAG,CAACE,MAAM,CAAC;QAC9BT,EAAE;QACFC,IAAI;QACJC,IAAI;QACJC,QAAQ,EAAEA,QAAQ,IAAIT,WAAW;QACjCgB,IAAI,EAAElB,IAAI,CAACiB,MAAM,CAACP,IAAI,EAAEG,SAAS,EAAEK,IAAI,CAAC;QACxCN,WAAW,EAAEX,WAAW,CAACgB,MAAM,CAACL,WAAW,EAAEC,SAAS;MAC1D,CAAC,CAAC;IACN,CAAC,CAAC,OAAOM,KAAK,EAAE;MACZ,MAAMpB,WAAW,CAACqB,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { Folder } from "../../../folder/folder.types.js";
2
+ export interface ICreateFlpUseCase {
3
+ execute: (folder: Folder) => Promise<void>;
4
+ }
5
+ /** Create a folder-level permission. */
6
+ export declare const CreateFlpUseCase: import("@webiny/di").Abstraction<ICreateFlpUseCase>;
7
+ export declare namespace CreateFlpUseCase {
8
+ type Interface = ICreateFlpUseCase;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+
3
+ // Use Case Abstraction
4
+
5
+ /** Create a folder-level permission. */
6
+ export const CreateFlpUseCase = createAbstraction("CreateFlpUseCase");
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CreateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface ICreateFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Create a folder-level permission. */\nexport const CreateFlpUseCase = createAbstraction<ICreateFlpUseCase>(\"CreateFlpUseCase\");\n\nexport namespace CreateFlpUseCase {\n export type Interface = ICreateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { AcoContext } from "../../../types.js";
2
+ interface LegacyDeps {
3
+ context: AcoContext;
4
+ }
5
+ export declare const CreateFlpFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<LegacyDeps>;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CreateFlpUseCase } from "./CreateFlpUseCase.js";
3
+ import { CreateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ export const CreateFlpFeature = createFeature({
5
+ name: "CreateFlp",
6
+ register(container, deps) {
7
+ container.registerFactory(UseCaseAbstraction, () => {
8
+ return new CreateFlpUseCase(deps.context);
9
+ });
10
+ }
11
+ });
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","CreateFlpUseCase","UseCaseAbstraction","CreateFlpFeature","name","register","container","deps","registerFactory","context"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { CreateFlpUseCase } from \"./CreateFlpUseCase.js\";\nimport { CreateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const CreateFlpFeature = createFeature({\n name: \"CreateFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new CreateFlpUseCase(deps.context);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,gBAAgB;AACzB,SAASA,gBAAgB,IAAIC,kBAAkB;AAO/C,OAAO,MAAMC,gBAAgB,GAAGH,aAAa,CAAC;EAC1CI,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAoB,EAAEC,IAAgB,EAAE;IAC7CD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,gBAAgB,CAACM,IAAI,CAACE,OAAO,CAAC;IAC7C,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { CreateFlpFeature } from "./feature.js";
2
+ export { CreateFlpUseCase } from "./abstractions.js";
@@ -0,0 +1,4 @@
1
+ export { CreateFlpFeature } from "./feature.js";
2
+ export { CreateFlpUseCase } from "./abstractions.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFlpFeature","CreateFlpUseCase"],"sources":["index.ts"],"sourcesContent":["export { CreateFlpFeature } from \"./feature.js\";\nexport { CreateFlpUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { CreateFlpUseCase } from "../CreateFlp/abstractions.js";
2
+ import { FolderAfterCreateEventHandler } from "../../../features/folder/CreateFolder/abstractions.js";
3
+ import type { FolderAfterCreateEvent } from "../../../features/folder/CreateFolder/events.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ declare class CreateFlpOnFolderCreatedHandlerImpl implements FolderAfterCreateEventHandler.Interface {
6
+ private createFlpUseCase;
7
+ private tasks?;
8
+ constructor(createFlpUseCase: CreateFlpUseCase.Interface, tasks?: TaskService.Interface | undefined);
9
+ handle(event: FolderAfterCreateEvent): Promise<void>;
10
+ }
11
+ export declare const CreateFlpOnFolderCreatedHandler: typeof CreateFlpOnFolderCreatedHandlerImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("~/features/folder/CreateFolder/abstractions.js").FolderAfterCreatePayload>>>;
13
+ };
14
+ export {};
@@ -0,0 +1,37 @@
1
+ import { CreateFlpUseCase } from "../CreateFlp/abstractions.js";
2
+ import { FolderAfterCreateEventHandler } from "../../folder/CreateFolder/abstractions.js";
3
+ import { CREATE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ class CreateFlpOnFolderCreatedHandlerImpl {
6
+ constructor(createFlpUseCase, tasks) {
7
+ this.createFlpUseCase = createFlpUseCase;
8
+ this.tasks = tasks;
9
+ }
10
+ async handle(event) {
11
+ const {
12
+ folder
13
+ } = event.payload;
14
+ try {
15
+ if (this.tasks) {
16
+ await this.tasks.trigger({
17
+ definition: CREATE_FLP_TASK_ID,
18
+ input: {
19
+ folder
20
+ }
21
+ });
22
+ } else {
23
+ await this.createFlpUseCase.execute(folder);
24
+ }
25
+ } catch {
26
+ // Ignore errors
27
+ }
28
+ }
29
+ }
30
+ export const CreateFlpOnFolderCreatedHandler = FolderAfterCreateEventHandler.createImplementation({
31
+ implementation: CreateFlpOnFolderCreatedHandlerImpl,
32
+ dependencies: [CreateFlpUseCase, [TaskService, {
33
+ optional: true
34
+ }]]
35
+ });
36
+
37
+ //# sourceMappingURL=CreateFlpOnFolderCreatedHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFlpUseCase","FolderAfterCreateEventHandler","CREATE_FLP_TASK_ID","TaskService","CreateFlpOnFolderCreatedHandlerImpl","constructor","createFlpUseCase","tasks","handle","event","folder","payload","trigger","definition","input","execute","CreateFlpOnFolderCreatedHandler","createImplementation","implementation","dependencies","optional"],"sources":["CreateFlpOnFolderCreatedHandler.ts"],"sourcesContent":["import { CreateFlpUseCase } from \"../CreateFlp/abstractions.js\";\nimport { FolderAfterCreateEventHandler } from \"~/features/folder/CreateFolder/abstractions.js\";\nimport type { FolderAfterCreateEvent } from \"~/features/folder/CreateFolder/events.js\";\nimport type { ICreateFlpTaskInput } from \"~/types.js\";\nimport { CREATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nclass CreateFlpOnFolderCreatedHandlerImpl implements FolderAfterCreateEventHandler.Interface {\n constructor(\n private createFlpUseCase: CreateFlpUseCase.Interface,\n private tasks?: TaskService.Interface\n ) {}\n\n async handle(event: FolderAfterCreateEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n if (this.tasks) {\n await this.tasks.trigger<ICreateFlpTaskInput>({\n definition: CREATE_FLP_TASK_ID,\n input: { folder }\n });\n } else {\n await this.createFlpUseCase.execute(folder);\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\nexport const CreateFlpOnFolderCreatedHandler = FolderAfterCreateEventHandler.createImplementation({\n implementation: CreateFlpOnFolderCreatedHandlerImpl,\n dependencies: [CreateFlpUseCase, [TaskService, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AAGtC,SAASC,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,qDAAqD;AAEjF,MAAMC,mCAAmC,CAAoD;EACzFC,WAAWA,CACCC,gBAA4C,EAC5CC,KAA6B,EACvC;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,KAA6B,GAA7BA,KAA6B;EACtC;EAEH,MAAMC,MAAMA,CAACC,KAA6B,EAAiB;IACvD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,IAAI;MACA,IAAI,IAAI,CAACJ,KAAK,EAAE;QACZ,MAAM,IAAI,CAACA,KAAK,CAACK,OAAO,CAAsB;UAC1CC,UAAU,EAAEX,kBAAkB;UAC9BY,KAAK,EAAE;YAAEJ;UAAO;QACpB,CAAC,CAAC;MACN,CAAC,MAAM;QACH,MAAM,IAAI,CAACJ,gBAAgB,CAACS,OAAO,CAACL,MAAM,CAAC;MAC/C;IACJ,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;AACJ;AAEA,OAAO,MAAMM,+BAA+B,GAAGf,6BAA6B,CAACgB,oBAAoB,CAAC;EAC9FC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAACnB,gBAAgB,EAAE,CAACG,WAAW,EAAE;IAAEiB,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const CreateFlpOnFolderCreatedFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CreateFlpOnFolderCreatedHandler } from "./CreateFlpOnFolderCreatedHandler.js";
3
+ export const CreateFlpOnFolderCreatedFeature = createFeature({
4
+ name: "CreateFlpOnFolderCreated",
5
+ register(container) {
6
+ container.register(CreateFlpOnFolderCreatedHandler);
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","CreateFlpOnFolderCreatedHandler","CreateFlpOnFolderCreatedFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CreateFlpOnFolderCreatedHandler } from \"./CreateFlpOnFolderCreatedHandler.js\";\n\nexport const CreateFlpOnFolderCreatedFeature = createFeature({\n name: \"CreateFlpOnFolderCreated\",\n register(container) {\n container.register(CreateFlpOnFolderCreatedHandler);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CreateFlpOnFolderCreatedFeature } from "./feature.js";
@@ -0,0 +1,3 @@
1
+ export { CreateFlpOnFolderCreatedFeature } from "./feature.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFlpOnFolderCreatedFeature"],"sources":["index.ts"],"sourcesContent":["export { CreateFlpOnFolderCreatedFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { DeleteFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import type { Folder } from "../../../folder/folder.types.js";
3
+ import type { AcoContext } from "../../../types.js";
4
+ export declare class DeleteFlpUseCase implements UseCaseAbstraction.Interface {
5
+ private context;
6
+ constructor(context: AcoContext);
7
+ execute(folder: Folder): Promise<void>;
8
+ }
@@ -0,0 +1,23 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ export class DeleteFlpUseCase {
3
+ constructor(context) {
4
+ this.context = context;
5
+ }
6
+ async execute(folder) {
7
+ try {
8
+ if (!folder) {
9
+ throw new WebinyError("Missing `folder` from the task input, I can't delete the record from the FLP catalog.", "ERROR_DELETE_FLP_USE_CASE_FOLDER_NOT_PROVIDED", {
10
+ folder
11
+ });
12
+ }
13
+ await this.context.aco.flp.delete(folder.id);
14
+ } catch (error) {
15
+ throw WebinyError.from(error, {
16
+ message: "Error while deleting FLP",
17
+ code: "ERROR_DELETE_FLP_USE_CASE"
18
+ });
19
+ }
20
+ }
21
+ }
22
+
23
+ //# sourceMappingURL=DeleteFlpUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebinyError","DeleteFlpUseCase","constructor","context","execute","folder","aco","flp","delete","id","error","from","message","code"],"sources":["DeleteFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport type { DeleteFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport class DeleteFlpUseCase implements UseCaseAbstraction.Interface {\n constructor(private context: AcoContext) {}\n\n async execute(folder: Folder): Promise<void> {\n try {\n if (!folder) {\n throw new WebinyError(\n \"Missing `folder` from the task input, I can't delete the record from the FLP catalog.\",\n \"ERROR_DELETE_FLP_USE_CASE_FOLDER_NOT_PROVIDED\",\n { folder }\n );\n }\n await this.context.aco.flp.delete(folder.id);\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while deleting FLP\",\n code: \"ERROR_DELETE_FLP_USE_CASE\"\n });\n }\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAK3C,OAAO,MAAMC,gBAAgB,CAAyC;EAClEC,WAAWA,CAASC,OAAmB,EAAE;IAAA,KAArBA,OAAmB,GAAnBA,OAAmB;EAAG;EAE1C,MAAMC,OAAOA,CAACC,MAAc,EAAiB;IACzC,IAAI;MACA,IAAI,CAACA,MAAM,EAAE;QACT,MAAM,IAAIL,WAAW,CACjB,uFAAuF,EACvF,+CAA+C,EAC/C;UAAEK;QAAO,CACb,CAAC;MACL;MACA,MAAM,IAAI,CAACF,OAAO,CAACG,GAAG,CAACC,GAAG,CAACC,MAAM,CAACH,MAAM,CAACI,EAAE,CAAC;IAChD,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMV,WAAW,CAACW,IAAI,CAACD,KAAK,EAAE;QAC1BE,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;AACJ","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { Folder } from "../../../folder/folder.types.js";
2
+ export interface IDeleteFlpUseCase {
3
+ execute: (folder: Folder) => Promise<void>;
4
+ }
5
+ /** Delete a folder-level permission. */
6
+ export declare const DeleteFlpUseCase: import("@webiny/di").Abstraction<IDeleteFlpUseCase>;
7
+ export declare namespace DeleteFlpUseCase {
8
+ type Interface = IDeleteFlpUseCase;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+
3
+ // Use Case Abstraction
4
+
5
+ /** Delete a folder-level permission. */
6
+ export const DeleteFlpUseCase = createAbstraction("DeleteFlpUseCase");
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","DeleteFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IDeleteFlpUseCase {\n execute: (folder: Folder) => Promise<void>;\n}\n\n/** Delete a folder-level permission. */\nexport const DeleteFlpUseCase = createAbstraction<IDeleteFlpUseCase>(\"DeleteFlpUseCase\");\n\nexport namespace DeleteFlpUseCase {\n export type Interface = IDeleteFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAGvD;;AAKA;AACA,OAAO,MAAMC,gBAAgB,GAAGD,iBAAiB,CAAoB,kBAAkB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { AcoContext } from "../../../types.js";
2
+ interface LegacyDeps {
3
+ context: AcoContext;
4
+ }
5
+ export declare const DeleteFlpFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<LegacyDeps>;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { DeleteFlpUseCase } from "./DeleteFlpUseCase.js";
3
+ import { DeleteFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ export const DeleteFlpFeature = createFeature({
5
+ name: "DeleteFlp",
6
+ register(container, deps) {
7
+ container.registerFactory(UseCaseAbstraction, () => {
8
+ return new DeleteFlpUseCase(deps.context);
9
+ });
10
+ }
11
+ });
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","DeleteFlpUseCase","UseCaseAbstraction","DeleteFlpFeature","name","register","container","deps","registerFactory","context"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { DeleteFlpUseCase } from \"./DeleteFlpUseCase.js\";\nimport { DeleteFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const DeleteFlpFeature = createFeature({\n name: \"DeleteFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new DeleteFlpUseCase(deps.context);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,gBAAgB;AACzB,SAASA,gBAAgB,IAAIC,kBAAkB;AAO/C,OAAO,MAAMC,gBAAgB,GAAGH,aAAa,CAAC;EAC1CI,IAAI,EAAE,WAAW;EACjBC,QAAQA,CAACC,SAAoB,EAAEC,IAAgB,EAAE;IAC7CD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,gBAAgB,CAACM,IAAI,CAACE,OAAO,CAAC;IAC7C,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { DeleteFlpFeature } from "./feature.js";
2
+ export { DeleteFlpUseCase } from "./abstractions.js";
@@ -0,0 +1,4 @@
1
+ export { DeleteFlpFeature } from "./feature.js";
2
+ export { DeleteFlpUseCase } from "./abstractions.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFlpFeature","DeleteFlpUseCase"],"sources":["index.ts"],"sourcesContent":["export { DeleteFlpFeature } from \"./feature.js\";\nexport { DeleteFlpUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { DeleteFlpUseCase } from "../DeleteFlp/abstractions.js";
2
+ import { FolderAfterDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
3
+ import type { FolderAfterDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ declare class DeleteFlpOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {
6
+ private deleteFlpUseCase;
7
+ private tasks?;
8
+ constructor(deleteFlpUseCase: DeleteFlpUseCase.Interface, tasks?: TaskService.Interface | undefined);
9
+ handle(event: FolderAfterDeleteEvent): Promise<void>;
10
+ }
11
+ export declare const DeleteFlpOnFolderDeletedHandler: typeof DeleteFlpOnFolderDeletedHandlerImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderAfterDeletePayload>>>;
13
+ };
14
+ export {};
@@ -0,0 +1,37 @@
1
+ import { DeleteFlpUseCase } from "../DeleteFlp/abstractions.js";
2
+ import { FolderAfterDeleteEventHandler } from "../../folder/DeleteFolder/abstractions.js";
3
+ import { DELETE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
4
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
5
+ class DeleteFlpOnFolderDeletedHandlerImpl {
6
+ constructor(deleteFlpUseCase, tasks) {
7
+ this.deleteFlpUseCase = deleteFlpUseCase;
8
+ this.tasks = tasks;
9
+ }
10
+ async handle(event) {
11
+ const {
12
+ folder
13
+ } = event.payload;
14
+ try {
15
+ if (this.tasks) {
16
+ await this.tasks.trigger({
17
+ definition: DELETE_FLP_TASK_ID,
18
+ input: {
19
+ folder
20
+ }
21
+ });
22
+ } else {
23
+ await this.deleteFlpUseCase.execute(folder);
24
+ }
25
+ } catch {
26
+ // Ignore errors
27
+ }
28
+ }
29
+ }
30
+ export const DeleteFlpOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({
31
+ implementation: DeleteFlpOnFolderDeletedHandlerImpl,
32
+ dependencies: [DeleteFlpUseCase, [TaskService, {
33
+ optional: true
34
+ }]]
35
+ });
36
+
37
+ //# sourceMappingURL=DeleteFlpOnFolderDeletedHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFlpUseCase","FolderAfterDeleteEventHandler","DELETE_FLP_TASK_ID","TaskService","DeleteFlpOnFolderDeletedHandlerImpl","constructor","deleteFlpUseCase","tasks","handle","event","folder","payload","trigger","definition","input","execute","DeleteFlpOnFolderDeletedHandler","createImplementation","implementation","dependencies","optional"],"sources":["DeleteFlpOnFolderDeletedHandler.ts"],"sourcesContent":["import { DeleteFlpUseCase } from \"../DeleteFlp/abstractions.js\";\nimport { FolderAfterDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderAfterDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport type { IDeleteFlpTaskInput } from \"~/types.js\";\nimport { DELETE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\n\nclass DeleteFlpOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {\n constructor(\n private deleteFlpUseCase: DeleteFlpUseCase.Interface,\n private tasks?: TaskService.Interface\n ) {}\n\n async handle(event: FolderAfterDeleteEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n if (this.tasks) {\n await this.tasks.trigger<IDeleteFlpTaskInput>({\n definition: DELETE_FLP_TASK_ID,\n input: { folder }\n });\n } else {\n await this.deleteFlpUseCase.execute(folder);\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\nexport const DeleteFlpOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({\n implementation: DeleteFlpOnFolderDeletedHandlerImpl,\n dependencies: [DeleteFlpUseCase, [TaskService, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,6BAA6B;AAGtC,SAASC,kBAAkB;AAC3B,SAASC,WAAW,QAAQ,qDAAqD;AAEjF,MAAMC,mCAAmC,CAAoD;EACzFC,WAAWA,CACCC,gBAA4C,EAC5CC,KAA6B,EACvC;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,KAA6B,GAA7BA,KAA6B;EACtC;EAEH,MAAMC,MAAMA,CAACC,KAA6B,EAAiB;IACvD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,IAAI;MACA,IAAI,IAAI,CAACJ,KAAK,EAAE;QACZ,MAAM,IAAI,CAACA,KAAK,CAACK,OAAO,CAAsB;UAC1CC,UAAU,EAAEX,kBAAkB;UAC9BY,KAAK,EAAE;YAAEJ;UAAO;QACpB,CAAC,CAAC;MACN,CAAC,MAAM;QACH,MAAM,IAAI,CAACJ,gBAAgB,CAACS,OAAO,CAACL,MAAM,CAAC;MAC/C;IACJ,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;AACJ;AAEA,OAAO,MAAMM,+BAA+B,GAAGf,6BAA6B,CAACgB,oBAAoB,CAAC;EAC9FC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAACnB,gBAAgB,EAAE,CAACG,WAAW,EAAE;IAAEiB,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const DeleteFlpOnFolderDeletedFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { DeleteFlpOnFolderDeletedHandler } from "./DeleteFlpOnFolderDeletedHandler.js";
3
+ export const DeleteFlpOnFolderDeletedFeature = createFeature({
4
+ name: "DeleteFlpOnFolderDeleted",
5
+ register(container) {
6
+ container.register(DeleteFlpOnFolderDeletedHandler);
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","DeleteFlpOnFolderDeletedHandler","DeleteFlpOnFolderDeletedFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteFlpOnFolderDeletedHandler } from \"./DeleteFlpOnFolderDeletedHandler.js\";\n\nexport const DeleteFlpOnFolderDeletedFeature = createFeature({\n name: \"DeleteFlpOnFolderDeleted\",\n register(container) {\n container.register(DeleteFlpOnFolderDeletedHandler);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { DeleteFlpOnFolderDeletedFeature } from "./feature.js";
@@ -0,0 +1,3 @@
1
+ export { DeleteFlpOnFolderDeletedFeature } from "./feature.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFlpOnFolderDeletedFeature"],"sources":["index.ts"],"sourcesContent":["export { DeleteFlpOnFolderDeletedFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
+ import { WcpContext } from "@webiny/api-core/features/WcpContext";
3
+ import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
4
+ import { type CanAccessFolderContentParams, type CanAccessFolderParams } from "./useCases/index.js";
5
+ import { FolderLevelPermissions as FolderLevelPermissionsAbstraction } from "./abstractions.js";
6
+ import type { FolderLevelPermission, FolderPermission, ListFlpsParams } from "../../../types.js";
7
+ import { ListFlpsUseCase } from "../../../features/flp/ListFlps/index.js";
8
+ import { GetFlpUseCase } from "../../../features/flp/GetFlp/index.js";
9
+ declare class FolderLevelPermissionsImpl implements FolderLevelPermissionsAbstraction.Interface {
10
+ private identityContext;
11
+ private wcpContext;
12
+ private listUserTeamsUseCase;
13
+ private getFlpUseCase;
14
+ private listFlpsUseCase;
15
+ constructor(identityContext: IdentityContext.Interface, wcpContext: WcpContext.Interface, listUserTeamsUseCase: ListUserTeamsUseCase.Interface, getFlpUseCase: GetFlpUseCase.Interface, listFlpsUseCase: ListFlpsUseCase.Interface);
16
+ canUseFolderLevelPermissions(enabled?: boolean): boolean;
17
+ canUseTeams(): boolean;
18
+ canCreateFolderInRoot(): boolean;
19
+ permissionsIncludeNonInheritedPermissions(permissions: FolderPermission[]): boolean;
20
+ canAccessFolder(params: CanAccessFolderParams): Promise<boolean>;
21
+ canAccessFolderContent(params: CanAccessFolderContentParams): Promise<boolean>;
22
+ ensureCanAccessFolder(params: CanAccessFolderParams): Promise<void>;
23
+ ensureCanAccessFolderContent(params: CanAccessFolderContentParams): Promise<void>;
24
+ canManageFolderContent(flp: FolderLevelPermission): Promise<boolean>;
25
+ canManageFolderStructure(flp: FolderLevelPermission): Promise<boolean>;
26
+ canManageFolderPermissions(flp: FolderLevelPermission): Promise<boolean>;
27
+ getDefaultPermissions(permissions: FolderPermission[]): Promise<FolderPermission[]>;
28
+ listFolderLevelPermissions(params: ListFlpsParams): Promise<Array<{
29
+ id: string;
30
+ permissions: FolderPermission[];
31
+ }>>;
32
+ getFolderLevelPermissions(id: string): Promise<FolderPermission[]>;
33
+ }
34
+ export declare const FolderLevelPermissions: import("@webiny/di").Implementation<typeof FolderLevelPermissionsImpl>;
35
+ export {};
@@ -0,0 +1,133 @@
1
+ import { createImplementation } from "@webiny/di";
2
+ import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
+ import { WcpContext } from "@webiny/api-core/features/WcpContext";
4
+ import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
5
+ import { NotAuthorizedError } from "@webiny/api-core/features/security/shared/index.js";
6
+ import { CanAccessFolder, CanAccessFolderContent, CanCreateFolderInRoot, CheckNotInheritedPermissions, GetDefaultPermissions, GetDefaultPermissionsWithTeams } from "./useCases/index.js";
7
+ import { FolderLevelPermissions as FolderLevelPermissionsAbstraction } from "./abstractions.js";
8
+ import { ListFlpsUseCase } from "../ListFlps/index.js";
9
+ import { GetFlpUseCase } from "../GetFlp/index.js";
10
+ class FolderLevelPermissionsImpl {
11
+ constructor(identityContext, wcpContext, listUserTeamsUseCase, getFlpUseCase, listFlpsUseCase) {
12
+ this.identityContext = identityContext;
13
+ this.wcpContext = wcpContext;
14
+ this.listUserTeamsUseCase = listUserTeamsUseCase;
15
+ this.getFlpUseCase = getFlpUseCase;
16
+ this.listFlpsUseCase = listFlpsUseCase;
17
+ }
18
+ canUseFolderLevelPermissions(enabled) {
19
+ if (enabled === false) {
20
+ return false;
21
+ }
22
+ const identity = this.identityContext.getIdentity();
23
+
24
+ // FLPs only work with authenticated identities (logged-in users).
25
+ if (!identity) {
26
+ return false;
27
+ }
28
+
29
+ // At the moment, we only want FLP to be used with identities of type "admin".
30
+ // This temporarily addresses the issue of API keys not being able to access content, because
31
+ // FLPs doesn't work with them. Once we start adding FLPs to API keys, we can remove this check.
32
+ if (identity.type !== "admin") {
33
+ return false;
34
+ }
35
+ return this.wcpContext.canUseFolderLevelPermissions();
36
+ }
37
+ canUseTeams() {
38
+ return this.wcpContext.canUseTeams();
39
+ }
40
+ canCreateFolderInRoot() {
41
+ const canCreateFolderInRootUseCase = new CanCreateFolderInRoot();
42
+ return canCreateFolderInRootUseCase.execute();
43
+ }
44
+ permissionsIncludeNonInheritedPermissions(permissions) {
45
+ const checkNotInheritedPermissionsUseCase = new CheckNotInheritedPermissions();
46
+ return checkNotInheritedPermissionsUseCase.execute(permissions);
47
+ }
48
+ async canAccessFolder(params) {
49
+ if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
50
+ return true;
51
+ }
52
+ const canAccessFolderUseCase = new CanAccessFolder(this.identityContext);
53
+ return await canAccessFolderUseCase.execute(params);
54
+ }
55
+ async canAccessFolderContent(params) {
56
+ const canUseFlp = this.canUseFolderLevelPermissions();
57
+ const authEnabled = this.identityContext.isAuthorizationEnabled();
58
+ if (!canUseFlp || !authEnabled) {
59
+ return true;
60
+ }
61
+ const canAccessFolderContentUseCase = new CanAccessFolderContent(this.identityContext);
62
+ return await canAccessFolderContentUseCase.execute(params);
63
+ }
64
+ async ensureCanAccessFolder(params) {
65
+ const result = await this.canAccessFolder(params);
66
+ if (!result) {
67
+ throw new NotAuthorizedError();
68
+ }
69
+ }
70
+ async ensureCanAccessFolderContent(params) {
71
+ const result = await this.canAccessFolderContent(params);
72
+ if (!result) {
73
+ throw new NotAuthorizedError();
74
+ }
75
+ }
76
+ async canManageFolderContent(flp) {
77
+ if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
78
+ return true;
79
+ }
80
+ return await this.canAccessFolderContent({
81
+ permissions: flp.permissions,
82
+ rwd: "w"
83
+ });
84
+ }
85
+ async canManageFolderStructure(flp) {
86
+ if (!this.canUseFolderLevelPermissions() || !this.identityContext.isAuthorizationEnabled()) {
87
+ return true;
88
+ }
89
+ return await this.canAccessFolder({
90
+ permissions: flp.permissions,
91
+ rwd: "w"
92
+ });
93
+ }
94
+ async canManageFolderPermissions(flp) {
95
+ if (!this.canUseFolderLevelPermissions()) {
96
+ return false;
97
+ }
98
+ if (!this.identityContext.isAuthorizationEnabled()) {
99
+ return true;
100
+ }
101
+ return await this.canAccessFolder({
102
+ permissions: flp.permissions,
103
+ rwd: "w",
104
+ managePermissions: true
105
+ });
106
+ }
107
+ getDefaultPermissions(permissions) {
108
+ const getDefaultPermissionsUseCase = new GetDefaultPermissions(this.identityContext);
109
+ if (this.canUseTeams()) {
110
+ const getDefaultPermissionsWithTeams = new GetDefaultPermissionsWithTeams(this.identityContext, this.listUserTeamsUseCase, getDefaultPermissionsUseCase);
111
+ return getDefaultPermissionsWithTeams.execute(permissions);
112
+ }
113
+ return getDefaultPermissionsUseCase.execute(permissions);
114
+ }
115
+ async listFolderLevelPermissions(params) {
116
+ const flps = await this.listFlpsUseCase.execute(params);
117
+ return Promise.all(flps.map(async flp => ({
118
+ id: flp.id,
119
+ permissions: await this.getDefaultPermissions(flp.permissions)
120
+ })));
121
+ }
122
+ async getFolderLevelPermissions(id) {
123
+ const flp = await this.getFlpUseCase.execute(id);
124
+ return await this.getDefaultPermissions(flp?.permissions ?? []);
125
+ }
126
+ }
127
+ export const FolderLevelPermissions = createImplementation({
128
+ abstraction: FolderLevelPermissionsAbstraction,
129
+ implementation: FolderLevelPermissionsImpl,
130
+ dependencies: [IdentityContext, WcpContext, ListUserTeamsUseCase, GetFlpUseCase, ListFlpsUseCase]
131
+ });
132
+
133
+ //# sourceMappingURL=FolderLevelPermissions.js.map