@webiny/api-aco 6.0.0-beta.0 → 6.0.0-rc.0

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 (604) 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 +4 -2
  6. package/createAcoContext.js +103 -168
  7. package/createAcoContext.js.map +1 -1
  8. package/createAcoGraphQL.d.ts +3 -2
  9. package/createAcoGraphQL.js +46 -60
  10. package/createAcoGraphQL.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +8 -5
  12. package/createAcoStorageOperations.js +5 -17
  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/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  27. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -0
  28. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  29. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  30. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +36 -0
  31. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  32. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  33. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +43 -0
  34. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  35. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  36. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +45 -0
  37. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  38. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  39. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +41 -0
  40. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  41. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  42. package/features/cms/decorators/GetEntryWithFlpDecorator.js +41 -0
  43. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  44. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  45. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +45 -0
  46. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  47. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  48. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +44 -0
  49. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  50. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  51. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  52. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  53. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  54. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +35 -0
  55. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  56. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  57. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  58. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  59. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  60. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  61. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  62. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  63. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +63 -0
  64. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  65. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
  66. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
  67. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  68. package/features/cms/feature.d.ts +1 -0
  69. package/features/cms/feature.js +43 -0
  70. package/features/cms/feature.js.map +1 -0
  71. package/features/cms/index.d.ts +1 -0
  72. package/features/cms/index.js +3 -0
  73. package/features/cms/index.js.map +1 -0
  74. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  75. package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
  76. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  77. package/features/flp/CreateFlp/abstractions.d.ts +8 -0
  78. package/features/flp/CreateFlp/abstractions.js +7 -0
  79. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  80. package/features/flp/CreateFlp/feature.d.ts +6 -0
  81. package/features/flp/CreateFlp/feature.js +13 -0
  82. package/features/flp/CreateFlp/feature.js.map +1 -0
  83. package/features/flp/CreateFlp/index.d.ts +2 -0
  84. package/features/flp/CreateFlp/index.js +4 -0
  85. package/features/flp/CreateFlp/index.js.map +1 -0
  86. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
  87. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
  88. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  89. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +1 -0
  90. package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -0
  91. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  92. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  93. package/features/flp/CreateFlpOnFolderCreated/index.js +3 -0
  94. package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
  95. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  96. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
  97. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  98. package/features/flp/DeleteFlp/abstractions.d.ts +8 -0
  99. package/features/flp/DeleteFlp/abstractions.js +7 -0
  100. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  101. package/features/flp/DeleteFlp/feature.d.ts +6 -0
  102. package/features/flp/DeleteFlp/feature.js +13 -0
  103. package/features/flp/DeleteFlp/feature.js.map +1 -0
  104. package/features/flp/DeleteFlp/index.d.ts +2 -0
  105. package/features/flp/DeleteFlp/index.js +4 -0
  106. package/features/flp/DeleteFlp/index.js.map +1 -0
  107. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
  108. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
  109. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  110. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +1 -0
  111. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -0
  112. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  113. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  114. package/features/flp/DeleteFlpOnFolderDeleted/index.js +3 -0
  115. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
  116. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  117. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
  118. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  119. package/features/flp/FolderLevelPermissions/abstractions.d.ts +25 -0
  120. package/features/flp/FolderLevelPermissions/abstractions.js +4 -0
  121. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  122. package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
  123. package/features/flp/FolderLevelPermissions/feature.js +10 -0
  124. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  125. package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
  126. package/features/flp/FolderLevelPermissions/index.js +4 -0
  127. package/features/flp/FolderLevelPermissions/index.js.map +1 -0
  128. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  129. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -0
  130. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  131. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  132. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +3 -0
  133. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  134. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  135. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
  136. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  137. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  138. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -0
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +3 -0
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  146. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  147. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
  148. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  149. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  150. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
  151. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  152. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  153. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
  154. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  155. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  156. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -0
  157. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  158. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  159. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +3 -0
  160. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  161. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  162. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
  163. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  164. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  165. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -0
  166. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  167. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  168. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +13 -0
  169. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  170. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  171. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -0
  172. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  173. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  174. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +3 -0
  175. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  176. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  177. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
  178. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  179. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  180. package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
  181. package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  182. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  183. package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
  184. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  185. package/features/flp/GetFlp/abstractions.d.ts +8 -0
  186. package/features/flp/GetFlp/abstractions.js +4 -0
  187. package/features/flp/GetFlp/abstractions.js.map +1 -0
  188. package/features/flp/GetFlp/feature.d.ts +1 -0
  189. package/features/flp/GetFlp/feature.js +13 -0
  190. package/features/flp/GetFlp/feature.js.map +1 -0
  191. package/features/flp/GetFlp/index.d.ts +1 -0
  192. package/features/flp/GetFlp/index.js +3 -0
  193. package/features/flp/GetFlp/index.js.map +1 -0
  194. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  195. package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
  196. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  197. package/features/flp/ListFlps/abstractions.d.ts +16 -0
  198. package/features/flp/ListFlps/abstractions.js +4 -0
  199. package/features/flp/ListFlps/abstractions.js.map +1 -0
  200. package/features/flp/ListFlps/feature.d.ts +1 -0
  201. package/features/flp/ListFlps/feature.js +13 -0
  202. package/features/flp/ListFlps/feature.js.map +1 -0
  203. package/features/flp/ListFlps/index.d.ts +1 -0
  204. package/features/flp/ListFlps/index.js +3 -0
  205. package/features/flp/ListFlps/index.js.map +1 -0
  206. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
  207. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
  208. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  209. package/features/flp/UpdateFlp/abstractions.d.ts +14 -0
  210. package/features/flp/UpdateFlp/abstractions.js +7 -0
  211. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  212. package/features/flp/UpdateFlp/feature.d.ts +6 -0
  213. package/features/flp/UpdateFlp/feature.js +13 -0
  214. package/features/flp/UpdateFlp/feature.js.map +1 -0
  215. package/features/flp/UpdateFlp/index.d.ts +2 -0
  216. package/features/flp/UpdateFlp/index.js +4 -0
  217. package/features/flp/UpdateFlp/index.js.map +1 -0
  218. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
  219. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
  220. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  221. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +1 -0
  222. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -0
  223. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  224. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  225. package/features/flp/UpdateFlpOnFolderUpdated/index.js +3 -0
  226. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
  227. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  228. package/features/folder/CreateFolder/CreateFolderRepository.js +108 -0
  229. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  230. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  231. package/features/folder/CreateFolder/CreateFolderUseCase.js +39 -0
  232. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  233. package/features/folder/CreateFolder/abstractions.d.ts +55 -0
  234. package/features/folder/CreateFolder/abstractions.js +21 -0
  235. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  236. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
  237. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -0
  238. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  239. package/features/folder/CreateFolder/events.d.ts +10 -0
  240. package/features/folder/CreateFolder/events.js +19 -0
  241. package/features/folder/CreateFolder/events.js.map +1 -0
  242. package/features/folder/CreateFolder/feature.d.ts +1 -0
  243. package/features/folder/CreateFolder/feature.js +14 -0
  244. package/features/folder/CreateFolder/feature.js.map +1 -0
  245. package/features/folder/CreateFolder/index.d.ts +2 -0
  246. package/features/folder/CreateFolder/index.js +4 -0
  247. package/features/folder/CreateFolder/index.js.map +1 -0
  248. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  249. package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -0
  250. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  251. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  252. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +55 -0
  253. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  254. package/features/folder/DeleteFolder/abstractions.d.ts +55 -0
  255. package/features/folder/DeleteFolder/abstractions.js +21 -0
  256. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  257. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  258. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +28 -0
  259. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  260. package/features/folder/DeleteFolder/events.d.ts +10 -0
  261. package/features/folder/DeleteFolder/events.js +19 -0
  262. package/features/folder/DeleteFolder/events.js.map +1 -0
  263. package/features/folder/DeleteFolder/feature.d.ts +1 -0
  264. package/features/folder/DeleteFolder/feature.js +14 -0
  265. package/features/folder/DeleteFolder/feature.js.map +1 -0
  266. package/features/folder/DeleteFolder/index.d.ts +2 -0
  267. package/features/folder/DeleteFolder/index.js +4 -0
  268. package/features/folder/DeleteFolder/index.js.map +1 -0
  269. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  270. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
  271. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  272. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +20 -0
  273. package/features/folder/EnsureFolderIsEmpty/abstractions.js +4 -0
  274. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  275. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
  276. package/features/folder/EnsureFolderIsEmpty/feature.js +10 -0
  277. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  278. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  279. package/features/folder/EnsureFolderIsEmpty/index.js +3 -0
  280. package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
  281. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  282. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
  283. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  284. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
  285. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -0
  286. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  287. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  288. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +3 -0
  289. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
  290. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  291. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
  292. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  293. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
  294. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -0
  295. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  296. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  297. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +3 -0
  298. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
  299. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  300. package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -0
  301. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  302. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  303. package/features/folder/GetAncestors/GetAncestorsUseCase.js +17 -0
  304. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  305. package/features/folder/GetAncestors/abstractions.d.ts +38 -0
  306. package/features/folder/GetAncestors/abstractions.js +15 -0
  307. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  308. package/features/folder/GetAncestors/feature.d.ts +1 -0
  309. package/features/folder/GetAncestors/feature.js +12 -0
  310. package/features/folder/GetAncestors/feature.js.map +1 -0
  311. package/features/folder/GetAncestors/index.d.ts +2 -0
  312. package/features/folder/GetAncestors/index.js +4 -0
  313. package/features/folder/GetAncestors/index.js.map +1 -0
  314. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  315. package/features/folder/GetFolder/GetFolderRepository.js +31 -0
  316. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  317. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  318. package/features/folder/GetFolder/GetFolderUseCase.js +17 -0
  319. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  320. package/features/folder/GetFolder/abstractions.d.ts +54 -0
  321. package/features/folder/GetFolder/abstractions.js +21 -0
  322. package/features/folder/GetFolder/abstractions.js.map +1 -0
  323. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  324. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +37 -0
  325. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  326. package/features/folder/GetFolder/feature.d.ts +1 -0
  327. package/features/folder/GetFolder/feature.js +14 -0
  328. package/features/folder/GetFolder/feature.js.map +1 -0
  329. package/features/folder/GetFolder/index.d.ts +2 -0
  330. package/features/folder/GetFolder/index.js +4 -0
  331. package/features/folder/GetFolder/index.js.map +1 -0
  332. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  333. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -0
  334. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  335. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  336. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +17 -0
  337. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  338. package/features/folder/GetFolderHierarchy/abstractions.d.ts +36 -0
  339. package/features/folder/GetFolderHierarchy/abstractions.js +15 -0
  340. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  341. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  342. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
  343. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  344. package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
  345. package/features/folder/GetFolderHierarchy/feature.js +14 -0
  346. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  347. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  348. package/features/folder/GetFolderHierarchy/index.js +4 -0
  349. package/features/folder/GetFolderHierarchy/index.js.map +1 -0
  350. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  351. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
  352. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  353. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +10 -0
  354. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +7 -0
  355. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  356. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
  357. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -0
  358. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  359. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  360. package/features/folder/ListFolderLevelPermissionsTargets/index.js +3 -0
  361. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  362. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  363. package/features/folder/ListFolders/ListFoldersRepository.js +54 -0
  364. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  365. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  366. package/features/folder/ListFolders/ListFoldersUseCase.js +17 -0
  367. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  368. package/features/folder/ListFolders/abstractions.d.ts +42 -0
  369. package/features/folder/ListFolders/abstractions.js +15 -0
  370. package/features/folder/ListFolders/abstractions.js.map +1 -0
  371. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  372. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
  373. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  374. package/features/folder/ListFolders/feature.d.ts +1 -0
  375. package/features/folder/ListFolders/feature.js +14 -0
  376. package/features/folder/ListFolders/feature.js.map +1 -0
  377. package/features/folder/ListFolders/index.d.ts +2 -0
  378. package/features/folder/ListFolders/index.js +4 -0
  379. package/features/folder/ListFolders/index.js.map +1 -0
  380. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  381. package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -0
  382. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  383. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  384. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +55 -0
  385. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  386. package/features/folder/UpdateFolder/abstractions.d.ts +60 -0
  387. package/features/folder/UpdateFolder/abstractions.js +21 -0
  388. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  389. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
  390. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +77 -0
  391. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  392. package/features/folder/UpdateFolder/events.d.ts +10 -0
  393. package/features/folder/UpdateFolder/events.js +19 -0
  394. package/features/folder/UpdateFolder/events.js.map +1 -0
  395. package/features/folder/UpdateFolder/feature.d.ts +1 -0
  396. package/features/folder/UpdateFolder/feature.js +14 -0
  397. package/features/folder/UpdateFolder/feature.js.map +1 -0
  398. package/features/folder/UpdateFolder/index.d.ts +2 -0
  399. package/features/folder/UpdateFolder/index.js +4 -0
  400. package/features/folder/UpdateFolder/index.js.map +1 -0
  401. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  402. package/features/folder/shared/EntryToFolderMapper.js +22 -0
  403. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  404. package/features/folder/shared/abstractions.d.ts +5 -0
  405. package/features/folder/shared/abstractions.js +4 -0
  406. package/features/folder/shared/abstractions.js.map +1 -0
  407. package/filter/filter.crud.d.ts +2 -2
  408. package/filter/filter.crud.js +6 -67
  409. package/filter/filter.crud.js.map +1 -1
  410. package/filter/filter.gql.d.ts +2 -2
  411. package/filter/filter.gql.js +16 -22
  412. package/filter/filter.gql.js.map +1 -1
  413. package/filter/filter.model.d.ts +9 -2
  414. package/filter/filter.model.js +38 -121
  415. package/filter/filter.model.js.map +1 -1
  416. package/filter/filter.so.d.ts +2 -2
  417. package/filter/filter.so.js +38 -32
  418. package/filter/filter.so.js.map +1 -1
  419. package/filter/filter.types.d.ts +4 -32
  420. package/filter/filter.types.js +1 -7
  421. package/filter/filter.types.js.map +1 -1
  422. package/flp/flp.crud.d.ts +7 -0
  423. package/flp/flp.crud.js +91 -0
  424. package/flp/flp.crud.js.map +1 -0
  425. package/flp/flp.so.d.ts +20 -0
  426. package/flp/flp.so.js +220 -0
  427. package/flp/flp.so.js.map +1 -0
  428. package/flp/flp.types.d.ts +93 -0
  429. package/flp/flp.types.js +3 -0
  430. package/flp/flp.types.js.map +1 -0
  431. package/flp/index.d.ts +3 -0
  432. package/flp/index.js +5 -0
  433. package/flp/index.js.map +1 -0
  434. package/flp/tasks/createFlp.task.d.ts +16 -0
  435. package/flp/tasks/createFlp.task.js +35 -0
  436. package/flp/tasks/createFlp.task.js.map +1 -0
  437. package/flp/tasks/deleteFlp.task.d.ts +16 -0
  438. package/flp/tasks/deleteFlp.task.js +35 -0
  439. package/flp/tasks/deleteFlp.task.js.map +1 -0
  440. package/flp/tasks/index.d.ts +5 -0
  441. package/flp/tasks/index.js +19 -0
  442. package/flp/tasks/index.js.map +1 -0
  443. package/flp/tasks/syncFlp.task.d.ts +20 -0
  444. package/flp/tasks/syncFlp.task.js +127 -0
  445. package/flp/tasks/syncFlp.task.js.map +1 -0
  446. package/flp/tasks/updateFlp.task.d.ts +16 -0
  447. package/flp/tasks/updateFlp.task.js +40 -0
  448. package/flp/tasks/updateFlp.task.js.map +1 -0
  449. package/folder/createFolderModelModifier.d.ts +36 -0
  450. package/folder/createFolderModelModifier.js +61 -0
  451. package/folder/createFolderModelModifier.js.map +1 -0
  452. package/folder/createFolderTypeDefs.d.ts +7 -0
  453. package/folder/createFolderTypeDefs.js +186 -0
  454. package/folder/createFolderTypeDefs.js.map +1 -0
  455. package/folder/folder.gql.d.ts +4 -3
  456. package/folder/folder.gql.js +143 -185
  457. package/folder/folder.gql.js.map +1 -1
  458. package/folder/folder.types.d.ts +40 -79
  459. package/folder/folder.types.js +1 -5
  460. package/folder/folder.types.js.map +1 -1
  461. package/index.d.ts +5 -6
  462. package/index.js +7 -62
  463. package/index.js.map +1 -1
  464. package/package.json +43 -40
  465. package/types.d.ts +22 -76
  466. package/types.js +2 -53
  467. package/types.js.map +1 -1
  468. package/utils/FoldersCacheFactory.d.ts +10 -0
  469. package/utils/FoldersCacheFactory.js +24 -0
  470. package/utils/FoldersCacheFactory.js.map +1 -0
  471. package/utils/ListCache.d.ts +23 -0
  472. package/utils/ListCache.js +23 -0
  473. package/utils/ListCache.js.map +1 -0
  474. package/utils/Path.d.ts +3 -0
  475. package/utils/Path.js +11 -0
  476. package/utils/Path.js.map +1 -0
  477. package/utils/acoRecordId.js +2 -10
  478. package/utils/acoRecordId.js.map +1 -1
  479. package/utils/compress.d.ts +4 -0
  480. package/utils/compress.js +12 -0
  481. package/utils/compress.js.map +1 -0
  482. package/utils/createListSort.d.ts +3 -2
  483. package/utils/createListSort.js +4 -9
  484. package/utils/createListSort.js.map +1 -1
  485. package/utils/createOperationsWrapper.d.ts +2 -2
  486. package/utils/createOperationsWrapper.js +7 -12
  487. package/utils/createOperationsWrapper.js.map +1 -1
  488. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
  489. package/utils/decorators/CmsEntriesCrudDecorators.js +70 -98
  490. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  491. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  492. package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
  493. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  494. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  495. package/utils/decorators/ListEntriesFactory.js +106 -0
  496. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  497. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  498. package/utils/decorators/hasRootFolderId.js +19 -0
  499. package/utils/decorators/hasRootFolderId.js.map +1 -0
  500. package/utils/decorators/isPageModel.d.ts +1 -1
  501. package/utils/decorators/isPageModel.js +1 -8
  502. package/utils/decorators/isPageModel.js.map +1 -1
  503. package/utils/ensureAuthentication.d.ts +2 -2
  504. package/utils/ensureAuthentication.js +8 -12
  505. package/utils/ensureAuthentication.js.map +1 -1
  506. package/utils/pickEntryFieldValues.d.ts +1 -1
  507. package/utils/pickEntryFieldValues.js +3 -10
  508. package/utils/pickEntryFieldValues.js.map +1 -1
  509. package/utils/resolve.d.ts +1 -2
  510. package/utils/resolve.js +4 -20
  511. package/utils/resolve.js.map +1 -1
  512. package/apps/AcoApp.d.ts +0 -21
  513. package/apps/AcoApp.js +0 -143
  514. package/apps/AcoApp.js.map +0 -1
  515. package/apps/AcoApps.d.ts +0 -10
  516. package/apps/AcoApps.js +0 -75
  517. package/apps/AcoApps.js.map +0 -1
  518. package/apps/app.gql.d.ts +0 -3
  519. package/apps/app.gql.js +0 -59
  520. package/apps/app.gql.js.map +0 -1
  521. package/apps/index.d.ts +0 -2
  522. package/apps/index.js +0 -29
  523. package/apps/index.js.map +0 -1
  524. package/createAcoHooks.d.ts +0 -2
  525. package/createAcoHooks.js +0 -17
  526. package/createAcoHooks.js.map +0 -1
  527. package/createAcoModels.d.ts +0 -2
  528. package/createAcoModels.js +0 -29
  529. package/createAcoModels.js.map +0 -1
  530. package/folder/folder.crud.d.ts +0 -10
  531. package/folder/folder.crud.js +0 -306
  532. package/folder/folder.crud.js.map +0 -1
  533. package/folder/folder.model.d.ts +0 -2
  534. package/folder/folder.model.js +0 -110
  535. package/folder/folder.model.js.map +0 -1
  536. package/folder/folder.so.d.ts +0 -3
  537. package/folder/folder.so.js +0 -170
  538. package/folder/folder.so.js.map +0 -1
  539. package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
  540. package/folder/onFolderBeforeDeleteAco.hook.js +0 -67
  541. package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
  542. package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
  543. package/folder/onFolderBeforeDeleteFm.hook.js +0 -49
  544. package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
  545. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
  546. package/folder/onFolderBeforeDeleteHcms.hook.js +0 -56
  547. package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
  548. package/plugins/AcoAppModifierPlugin.d.ts +0 -43
  549. package/plugins/AcoAppModifierPlugin.js +0 -58
  550. package/plugins/AcoAppModifierPlugin.js.map +0 -1
  551. package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
  552. package/plugins/AcoAppRegisterPlugin.js +0 -21
  553. package/plugins/AcoAppRegisterPlugin.js.map +0 -1
  554. package/plugins/index.d.ts +0 -2
  555. package/plugins/index.js +0 -29
  556. package/plugins/index.js.map +0 -1
  557. package/record/graphql/createAppResolvers.d.ts +0 -14
  558. package/record/graphql/createAppResolvers.js +0 -115
  559. package/record/graphql/createAppResolvers.js.map +0 -1
  560. package/record/graphql/createAppSchema.d.ts +0 -9
  561. package/record/graphql/createAppSchema.js +0 -146
  562. package/record/graphql/createAppSchema.js.map +0 -1
  563. package/record/record.crud.d.ts +0 -3
  564. package/record/record.crud.js +0 -128
  565. package/record/record.crud.js.map +0 -1
  566. package/record/record.gql.d.ts +0 -8
  567. package/record/record.gql.js +0 -43
  568. package/record/record.gql.js.map +0 -1
  569. package/record/record.model.d.ts +0 -8
  570. package/record/record.model.js +0 -91
  571. package/record/record.model.js.map +0 -1
  572. package/record/record.so.d.ts +0 -3
  573. package/record/record.so.js +0 -147
  574. package/record/record.so.js.map +0 -1
  575. package/record/record.types.d.ts +0 -144
  576. package/record/record.types.js +0 -7
  577. package/record/record.types.js.map +0 -1
  578. package/utils/FolderLevelPermissions.d.ts +0 -74
  579. package/utils/FolderLevelPermissions.js +0 -386
  580. package/utils/FolderLevelPermissions.js.map +0 -1
  581. package/utils/createModelField.d.ts +0 -5
  582. package/utils/createModelField.js +0 -39
  583. package/utils/createModelField.js.map +0 -1
  584. package/utils/decorators/constants.d.ts +0 -1
  585. package/utils/decorators/constants.js +0 -9
  586. package/utils/decorators/constants.js.map +0 -1
  587. package/utils/decorators/createFolderType.d.ts +0 -2
  588. package/utils/decorators/createFolderType.js +0 -18
  589. package/utils/decorators/createFolderType.js.map +0 -1
  590. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
  591. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -47
  592. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
  593. package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
  594. package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
  595. package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
  596. package/utils/decorators/where.d.ts +0 -15
  597. package/utils/decorators/where.js +0 -60
  598. package/utils/decorators/where.js.map +0 -1
  599. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  600. package/utils/getFolderAndItsAncestors.js +0 -53
  601. package/utils/getFolderAndItsAncestors.js.map +0 -1
  602. package/utils/modelFactory.d.ts +0 -13
  603. package/utils/modelFactory.js +0 -22
  604. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ import { DefaultPermissionsMerger } from "./DefaultPermissionsMerger.js";
2
+ export class GetDefaultPermissions {
3
+ constructor(identityContext) {
4
+ this.identityContext = identityContext;
5
+ }
6
+ async execute(permissions) {
7
+ const identity = this.identityContext.getIdentity();
8
+ const identityPermissions = await this.identityContext.listPermissions();
9
+ return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);
10
+ }
11
+ }
12
+
13
+ //# sourceMappingURL=GetDefaultPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DefaultPermissionsMerger","GetDefaultPermissions","constructor","identityContext","execute","permissions","identity","getIdentity","identityPermissions","listPermissions","merge"],"sources":["GetDefaultPermissions.ts"],"sourcesContent":["import type { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport type { IGetDefaultPermissions } from \"./IGetDefaultPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { DefaultPermissionsMerger } from \"./DefaultPermissionsMerger.js\";\n\nexport class GetDefaultPermissions implements IGetDefaultPermissions {\n constructor(private identityContext: IdentityContext.Interface) {}\n\n async execute(permissions: FolderPermission[]) {\n const identity = this.identityContext.getIdentity();\n const identityPermissions = await this.identityContext.listPermissions();\n\n return DefaultPermissionsMerger.merge(identity, identityPermissions, permissions);\n }\n}\n"],"mappings":"AAGA,SAASA,wBAAwB;AAEjC,OAAO,MAAMC,qBAAqB,CAAmC;EACjEC,WAAWA,CAASC,eAA0C,EAAE;IAAA,KAA5CA,eAA0C,GAA1CA,eAA0C;EAAG;EAEjE,MAAMC,OAAOA,CAACC,WAA+B,EAAE;IAC3C,MAAMC,QAAQ,GAAG,IAAI,CAACH,eAAe,CAACI,WAAW,CAAC,CAAC;IACnD,MAAMC,mBAAmB,GAAG,MAAM,IAAI,CAACL,eAAe,CAACM,eAAe,CAAC,CAAC;IAExE,OAAOT,wBAAwB,CAACU,KAAK,CAACJ,QAAQ,EAAEE,mBAAmB,EAAEH,WAAW,CAAC;EACrF;AACJ","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { IGetDefaultPermissions } from "./IGetDefaultPermissions.js";
2
+ import type { FolderPermission } from "../../../../../flp/flp.types.js";
3
+ import type { IdentityContext } from "@webiny/api-core/features/IdentityContext";
4
+ import { ListUserTeamsUseCase } from "@webiny/api-core/features/ListUserTeams";
5
+ export declare class GetDefaultPermissionsWithTeams implements IGetDefaultPermissions {
6
+ private identityContext;
7
+ private listUserTeamsUseCase;
8
+ private decoretee;
9
+ constructor(identityContext: IdentityContext.Interface, listUserTeamsUseCase: ListUserTeamsUseCase.Interface, decoretee: IGetDefaultPermissions);
10
+ execute(originalPermissions: FolderPermission[]): Promise<FolderPermission[]>;
11
+ }
@@ -0,0 +1,38 @@
1
+ export class GetDefaultPermissionsWithTeams {
2
+ constructor(identityContext, listUserTeamsUseCase, decoretee) {
3
+ this.identityContext = identityContext;
4
+ this.listUserTeamsUseCase = listUserTeamsUseCase;
5
+ this.decoretee = decoretee;
6
+ }
7
+ async execute(originalPermissions) {
8
+ /**
9
+ * Retrieves the list of teams the current identity belongs to and checks if any of these teams
10
+ * have permissions for the folder. If a team has permissions, the current identity is granted
11
+ * the same permissions, inheriting them from the team.
12
+ */
13
+ const identity = this.identityContext.getIdentity();
14
+
15
+ // Get teams for current identity
16
+ const listTeamsResult = await this.listUserTeamsUseCase.execute(identity.id);
17
+ const identityTeams = listTeamsResult.isOk() ? listTeamsResult.value : [];
18
+ const permissions = [...originalPermissions]; // Clone the original permissions to avoid mutation.
19
+
20
+ if (identity && identityTeams.length) {
21
+ for (const identityTeam of identityTeams) {
22
+ // Check if the team has permissions for the folder.
23
+ const teamPermission = permissions.find(p => p.target === `team:${identityTeam.id}`);
24
+ if (teamPermission) {
25
+ // Grant the current identity the same permissions as the team, marking them as inherited.
26
+ permissions.push({
27
+ target: `admin:${identity.id}`,
28
+ level: teamPermission.level,
29
+ inheritedFrom: "team:" + identityTeam.id
30
+ });
31
+ }
32
+ }
33
+ }
34
+ return await this.decoretee.execute(permissions);
35
+ }
36
+ }
37
+
38
+ //# sourceMappingURL=GetDefaultPermissionsWithTeams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetDefaultPermissionsWithTeams","constructor","identityContext","listUserTeamsUseCase","decoretee","execute","originalPermissions","identity","getIdentity","listTeamsResult","id","identityTeams","isOk","value","permissions","length","identityTeam","teamPermission","find","p","target","push","level","inheritedFrom"],"sources":["GetDefaultPermissionsWithTeams.ts"],"sourcesContent":["import type { IGetDefaultPermissions } from \"./IGetDefaultPermissions.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport type { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { ListUserTeamsUseCase } from \"@webiny/api-core/features/ListUserTeams\";\nimport type { Team } from \"@webiny/api-core/types/security.js\";\n\nexport class GetDefaultPermissionsWithTeams implements IGetDefaultPermissions {\n private identityContext: IdentityContext.Interface;\n private listUserTeamsUseCase: ListUserTeamsUseCase.Interface;\n private decoretee: IGetDefaultPermissions;\n\n constructor(\n identityContext: IdentityContext.Interface,\n listUserTeamsUseCase: ListUserTeamsUseCase.Interface,\n decoretee: IGetDefaultPermissions\n ) {\n this.identityContext = identityContext;\n this.listUserTeamsUseCase = listUserTeamsUseCase;\n this.decoretee = decoretee;\n }\n\n async execute(originalPermissions: FolderPermission[]) {\n /**\n * Retrieves the list of teams the current identity belongs to and checks if any of these teams\n * have permissions for the folder. If a team has permissions, the current identity is granted\n * the same permissions, inheriting them from the team.\n */\n const identity = this.identityContext.getIdentity();\n\n // Get teams for current identity\n const listTeamsResult = await this.listUserTeamsUseCase.execute(identity.id);\n const identityTeams: Team[] = listTeamsResult.isOk() ? listTeamsResult.value : [];\n\n const permissions = [...originalPermissions]; // Clone the original permissions to avoid mutation.\n\n if (identity && identityTeams.length) {\n for (const identityTeam of identityTeams) {\n // Check if the team has permissions for the folder.\n const teamPermission = permissions.find(\n p => p.target === `team:${identityTeam.id}`\n );\n\n if (teamPermission) {\n // Grant the current identity the same permissions as the team, marking them as inherited.\n permissions.push({\n target: `admin:${identity.id}`,\n level: teamPermission.level,\n inheritedFrom: \"team:\" + identityTeam.id\n });\n }\n }\n }\n\n return await this.decoretee.execute(permissions);\n }\n}\n"],"mappings":"AAMA,OAAO,MAAMA,8BAA8B,CAAmC;EAK1EC,WAAWA,CACPC,eAA0C,EAC1CC,oBAAoD,EACpDC,SAAiC,EACnC;IACE,IAAI,CAACF,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,oBAAoB,GAAGA,oBAAoB;IAChD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,mBAAuC,EAAE;IACnD;AACR;AACA;AACA;AACA;IACQ,MAAMC,QAAQ,GAAG,IAAI,CAACL,eAAe,CAACM,WAAW,CAAC,CAAC;;IAEnD;IACA,MAAMC,eAAe,GAAG,MAAM,IAAI,CAACN,oBAAoB,CAACE,OAAO,CAACE,QAAQ,CAACG,EAAE,CAAC;IAC5E,MAAMC,aAAqB,GAAGF,eAAe,CAACG,IAAI,CAAC,CAAC,GAAGH,eAAe,CAACI,KAAK,GAAG,EAAE;IAEjF,MAAMC,WAAW,GAAG,CAAC,GAAGR,mBAAmB,CAAC,CAAC,CAAC;;IAE9C,IAAIC,QAAQ,IAAII,aAAa,CAACI,MAAM,EAAE;MAClC,KAAK,MAAMC,YAAY,IAAIL,aAAa,EAAE;QACtC;QACA,MAAMM,cAAc,GAAGH,WAAW,CAACI,IAAI,CACnCC,CAAC,IAAIA,CAAC,CAACC,MAAM,KAAK,QAAQJ,YAAY,CAACN,EAAE,EAC7C,CAAC;QAED,IAAIO,cAAc,EAAE;UAChB;UACAH,WAAW,CAACO,IAAI,CAAC;YACbD,MAAM,EAAE,SAASb,QAAQ,CAACG,EAAE,EAAE;YAC9BY,KAAK,EAAEL,cAAc,CAACK,KAAK;YAC3BC,aAAa,EAAE,OAAO,GAAGP,YAAY,CAACN;UAC1C,CAAC,CAAC;QACN;MACJ;IACJ;IAEA,OAAO,MAAM,IAAI,CAACN,SAAS,CAACC,OAAO,CAACS,WAAW,CAAC;EACpD;AACJ","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { FolderPermission } from "../../../../../flp/flp.types.js";
2
+ export interface IGetDefaultPermissions {
3
+ execute: (permissions: FolderPermission[]) => Promise<FolderPermission[]>;
4
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=IGetDefaultPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IGetDefaultPermissions.ts"],"sourcesContent":["import type { FolderPermission } from \"~/flp/flp.types.js\";\n\nexport interface IGetDefaultPermissions {\n execute: (permissions: FolderPermission[]) => Promise<FolderPermission[]>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export type * from "./IGetDefaultPermissions.js";
2
+ export * from "./GetDefaultPermissions.js";
3
+ export * from "./GetDefaultPermissionsWithTeams.js";
@@ -0,0 +1,4 @@
1
+ export * from "./GetDefaultPermissions.js";
2
+ export * from "./GetDefaultPermissionsWithTeams.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export type * from \"./IGetDefaultPermissions.js\";\nexport * from \"./GetDefaultPermissions.js\";\nexport * from \"./GetDefaultPermissionsWithTeams.js\";\n"],"mappings":"AACA;AACA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export * from "./CanAccessFolder/index.js";
2
+ export * from "./CanAccessFolderContent/index.js";
3
+ export * from "./CanCreateFolderInRoot/index.js";
4
+ export * from "./CheckNotInheritedPermissions/index.js";
5
+ export * from "./GetDefaultPermissions/index.js";
@@ -0,0 +1,7 @@
1
+ export * from "./CanAccessFolder/index.js";
2
+ export * from "./CanAccessFolderContent/index.js";
3
+ export * from "./CanCreateFolderInRoot/index.js";
4
+ export * from "./CheckNotInheritedPermissions/index.js";
5
+ export * from "./GetDefaultPermissions/index.js";
6
+
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./CanAccessFolder/index.js\";\nexport * from \"./CanAccessFolderContent/index.js\";\nexport * from \"./CanCreateFolderInRoot/index.js\";\nexport * from \"./CheckNotInheritedPermissions/index.js\";\nexport * from \"./GetDefaultPermissions/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { GetFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import type { AcoFolderLevelPermissionsCrud, FolderLevelPermission } from "../../../flp/flp.types.js";
3
+ export declare class GetFlpUseCase implements UseCaseAbstraction.Interface {
4
+ private readonly get;
5
+ constructor(get: AcoFolderLevelPermissionsCrud["get"]);
6
+ execute(id: string): Promise<FolderLevelPermission | null>;
7
+ }
@@ -0,0 +1,10 @@
1
+ export class GetFlpUseCase {
2
+ constructor(get) {
3
+ this.get = get;
4
+ }
5
+ async execute(id) {
6
+ return this.get(id);
7
+ }
8
+ }
9
+
10
+ //# sourceMappingURL=GetFlpUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetFlpUseCase","constructor","get","execute","id"],"sources":["GetFlpUseCase.ts"],"sourcesContent":["import type { GetFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoFolderLevelPermissionsCrud, FolderLevelPermission } from \"~/flp/flp.types.js\";\n\nexport class GetFlpUseCase implements UseCaseAbstraction.Interface {\n private readonly get: AcoFolderLevelPermissionsCrud[\"get\"];\n\n constructor(get: AcoFolderLevelPermissionsCrud[\"get\"]) {\n this.get = get;\n }\n\n async execute(id: string): Promise<FolderLevelPermission | null> {\n return this.get(id);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,aAAa,CAAyC;EAG/DC,WAAWA,CAACC,GAAyC,EAAE;IACnD,IAAI,CAACA,GAAG,GAAGA,GAAG;EAClB;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAyC;IAC7D,OAAO,IAAI,CAACF,GAAG,CAACE,EAAE,CAAC;EACvB;AACJ","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { FolderLevelPermission } from "../../../types.js";
2
+ export interface IGetFolderPermission {
3
+ execute: (id: string) => Promise<FolderLevelPermission | null>;
4
+ }
5
+ export declare const GetFlpUseCase: import("@webiny/di").Abstraction<IGetFolderPermission>;
6
+ export declare namespace GetFlpUseCase {
7
+ type Interface = IGetFolderPermission;
8
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const GetFlpUseCase = createAbstraction("GetFlpUseCase");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","GetFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\nexport interface IGetFolderPermission {\n execute: (id: string) => Promise<FolderLevelPermission | null>;\n}\n\nexport const GetFlpUseCase = createAbstraction<IGetFolderPermission>(\"GetFlpUseCase\");\n\nexport namespace GetFlpUseCase {\n export type Interface = IGetFolderPermission;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAOvD,OAAO,MAAMC,aAAa,GAAGD,iBAAiB,CAAuB,eAAe,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const GetFlpFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<import("~/types.js").AcoFolderLevelPermissionsCrud>;
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { GetFlpUseCase } from "./GetFlpUseCase.js";
3
+ import { GetFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ export const GetFlpFeature = createFeature({
5
+ name: "GetFlpFeature",
6
+ register(container, context) {
7
+ container.registerFactory(UseCaseAbstraction, () => {
8
+ return new GetFlpUseCase(context.get);
9
+ });
10
+ }
11
+ });
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","GetFlpUseCase","UseCaseAbstraction","GetFlpFeature","name","register","container","context","registerFactory","get"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GetFlpUseCase } from \"./GetFlpUseCase.js\";\nimport { GetFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport const GetFlpFeature = createFeature({\n name: \"GetFlpFeature\",\n register(container, context: AcoContext[\"aco\"][\"flp\"]) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new GetFlpUseCase(context.get);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,aAAa;AACtB,SAASA,aAAa,IAAIC,kBAAkB;AAG5C,OAAO,MAAMC,aAAa,GAAGH,aAAa,CAAC;EACvCI,IAAI,EAAE,eAAe;EACrBC,QAAQA,CAACC,SAAS,EAAEC,OAAiC,EAAE;IACnDD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,aAAa,CAACM,OAAO,CAACE,GAAG,CAAC;IACzC,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export * from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ListFlpsUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import type { AcoFolderLevelPermissionsCrud, ListFlpsParams } from "../../../flp/flp.types.js";
3
+ export declare class ListFlpsUseCase implements UseCaseAbstraction.Interface {
4
+ private readonly list;
5
+ constructor(list: AcoFolderLevelPermissionsCrud["list"]);
6
+ execute(params: ListFlpsParams): Promise<import("~/flp/flp.types.js").FolderLevelPermission[]>;
7
+ }
@@ -0,0 +1,10 @@
1
+ export class ListFlpsUseCase {
2
+ constructor(list) {
3
+ this.list = list;
4
+ }
5
+ async execute(params) {
6
+ return this.list(params);
7
+ }
8
+ }
9
+
10
+ //# sourceMappingURL=ListFlpsUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListFlpsUseCase","constructor","list","execute","params"],"sources":["ListFlpsUseCase.ts"],"sourcesContent":["import type { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoFolderLevelPermissionsCrud, ListFlpsParams } from \"~/flp/flp.types.js\";\n\nexport class ListFlpsUseCase implements UseCaseAbstraction.Interface {\n private readonly list: AcoFolderLevelPermissionsCrud[\"list\"];\n\n constructor(list: AcoFolderLevelPermissionsCrud[\"list\"]) {\n this.list = list;\n }\n\n async execute(params: ListFlpsParams) {\n return this.list(params);\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,eAAe,CAAyC;EAGjEC,WAAWA,CAACC,IAA2C,EAAE;IACrD,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB;EAEA,MAAMC,OAAOA,CAACC,MAAsB,EAAE;IAClC,OAAO,IAAI,CAACF,IAAI,CAACE,MAAM,CAAC;EAC5B;AACJ","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { FolderLevelPermission } from "../../../types.js";
2
+ interface ListFlpsParams {
3
+ where: {
4
+ path_startsWith?: string;
5
+ parentId?: string;
6
+ type: string;
7
+ };
8
+ }
9
+ export interface IListFlps {
10
+ execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;
11
+ }
12
+ export declare const ListFlpsUseCase: import("@webiny/di").Abstraction<IListFlps>;
13
+ export declare namespace ListFlpsUseCase {
14
+ type Interface = IListFlps;
15
+ }
16
+ export {};
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const ListFlpsUseCase = createAbstraction("ListFlpsUseCase");
3
+
4
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","ListFlpsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { FolderLevelPermission } from \"~/types.js\";\n\ninterface ListFlpsParams {\n where: {\n path_startsWith?: string;\n parentId?: string;\n type: string;\n };\n}\n\nexport interface IListFlps {\n execute: (params: ListFlpsParams) => Promise<FolderLevelPermission[]>;\n}\n\nexport const ListFlpsUseCase = createAbstraction<IListFlps>(\"ListFlpsUseCase\");\n\nexport namespace ListFlpsUseCase {\n export type Interface = IListFlps;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD,OAAO,MAAMC,eAAe,GAAGD,iBAAiB,CAAY,iBAAiB,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const ListFlpsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<import("~/types.js").AcoFolderLevelPermissionsCrud>;
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListFlpsUseCase } from "./ListFlpsUseCase.js";
3
+ import { ListFlpsUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ export const ListFlpsFeature = createFeature({
5
+ name: "ListFlpsFeature",
6
+ register(container, context) {
7
+ container.registerFactory(UseCaseAbstraction, () => {
8
+ return new ListFlpsUseCase(context.list);
9
+ });
10
+ }
11
+ });
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","ListFlpsUseCase","UseCaseAbstraction","ListFlpsFeature","name","register","container","context","registerFactory","list"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFlpsUseCase } from \"./ListFlpsUseCase.js\";\nimport { ListFlpsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\nexport const ListFlpsFeature = createFeature({\n name: \"ListFlpsFeature\",\n register(container, context: AcoContext[\"aco\"][\"flp\"]) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new ListFlpsUseCase(context.list);\n });\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,eAAe;AACxB,SAASA,eAAe,IAAIC,kBAAkB;AAG9C,OAAO,MAAMC,eAAe,GAAGH,aAAa,CAAC;EACzCI,IAAI,EAAE,iBAAiB;EACvBC,QAAQA,CAACC,SAAS,EAAEC,OAAiC,EAAE;IACnDD,SAAS,CAACE,eAAe,CAACN,kBAAkB,EAAE,MAAM;MAChD,OAAO,IAAID,eAAe,CAACM,OAAO,CAACE,IAAI,CAAC;IAC5C,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export * from "./abstractions.js";
@@ -0,0 +1,3 @@
1
+ export * from "./abstractions.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./abstractions.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { UpdateFlpParams, UpdateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import type { AcoContext } from "../../../types.js";
3
+ export declare class UpdateFlpUseCase implements UseCaseAbstraction.Interface {
4
+ private context;
5
+ private isCloseToTimeout?;
6
+ private handleTimeout?;
7
+ private readonly queued;
8
+ private readonly flpsToUpdate;
9
+ constructor(context: AcoContext);
10
+ execute(params: UpdateFlpParams): Promise<void>;
11
+ private collectBranchForUpdate;
12
+ private executeBatchUpdate;
13
+ private getQueuedList;
14
+ private setQueued;
15
+ private isQueued;
16
+ private clearQueuedList;
17
+ private listDirectChildren;
18
+ private getFlp;
19
+ }
@@ -0,0 +1,203 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ import { Path } from "../../../utils/Path.js";
3
+ import { Permissions, ROOT_FOLDER } from "@webiny/shared-aco";
4
+ import { ListFoldersUseCase } from "../../folder/ListFolders/index.js";
5
+ import { FolderModel } from "../../../domain/folder/abstractions.js";
6
+ import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
7
+ export class UpdateFlpUseCase {
8
+ queued = new Set();
9
+ flpsToUpdate = new Map();
10
+ constructor(context) {
11
+ this.context = context;
12
+ }
13
+ async execute(params) {
14
+ this.isCloseToTimeout = params.isCloseToTimeout;
15
+ this.handleTimeout = params.handleTimeout;
16
+ if (params.queued) {
17
+ params.queued.forEach(id => this.queued.add(id));
18
+ }
19
+ try {
20
+ const {
21
+ folder
22
+ } = params;
23
+ if (!folder) {
24
+ throw new WebinyError("Missing `folder`, I can't update the FLP record.", "ERROR_UPDATING_FLP_USE_CASE_FOLDER_NOT_PROVIDED", {
25
+ folder
26
+ });
27
+ }
28
+ const flp = await this.getFlp(folder);
29
+ const parentFlp = folder.parentId ? await this.context.aco.flp.get(folder.parentId) : null;
30
+
31
+ // Add the root folder to the update collection
32
+ this.flpsToUpdate.set(folder.id, {
33
+ slug: folder.slug,
34
+ parentId: folder.parentId ?? ROOT_FOLDER,
35
+ path: Path.create(folder.slug, parentFlp?.path),
36
+ permissions: Permissions.create(folder.permissions, parentFlp)
37
+ });
38
+
39
+ // Let's set the FLP as in queue
40
+ this.setQueued(flp.id);
41
+
42
+ // Get direct children and process each branch completely
43
+ const directChildren = await this.listDirectChildren(flp);
44
+ for (const child of directChildren) {
45
+ if (this.isCloseToTimeout?.()) {
46
+ await this.executeBatchUpdate();
47
+ this.handleTimeout?.(this.getQueuedList());
48
+ return;
49
+ }
50
+ await this.collectBranchForUpdate(child, flp);
51
+ }
52
+
53
+ // Execute batch update
54
+ await this.executeBatchUpdate();
55
+ } catch (error) {
56
+ // Clear the update collection in case of error
57
+ this.flpsToUpdate.clear();
58
+ this.queued.clear();
59
+ throw WebinyError.from(error, {
60
+ message: "Error while updating FLP",
61
+ code: "ERROR_UPDATING_FLP_USE_CASE"
62
+ });
63
+ }
64
+ }
65
+ async collectBranchForUpdate(flp, parentFlp) {
66
+ if (this.isQueued(flp.id)) {
67
+ return;
68
+ }
69
+
70
+ // Get the parent's permissions from the update collection if available
71
+ const parentFlpData = this.flpsToUpdate.get(parentFlp.id);
72
+ const currentParentFlp = {
73
+ ...parentFlp,
74
+ ...(parentFlpData && {
75
+ ...parentFlpData
76
+ })
77
+ };
78
+
79
+ // Add the FLP to the update collection with inherited permissions
80
+ this.flpsToUpdate.set(flp.id, {
81
+ slug: flp.slug,
82
+ parentId: flp.parentId,
83
+ path: Path.create(flp.slug, currentParentFlp.path),
84
+ permissions: Permissions.create(flp.permissions, currentParentFlp)
85
+ });
86
+
87
+ // Add the FLP to the queue list so we don't fetch it again
88
+ this.setQueued(flp.id);
89
+
90
+ // Process all children of this folder before moving to siblings
91
+ const children = await this.listDirectChildren(flp);
92
+ for (const child of children) {
93
+ if (this.isCloseToTimeout?.()) {
94
+ await this.executeBatchUpdate();
95
+ this.handleTimeout?.(this.getQueuedList());
96
+ return;
97
+ }
98
+ // Pass the current FLP as the parent for the child
99
+ await this.collectBranchForUpdate(child, flp);
100
+ }
101
+ }
102
+ async executeBatchUpdate() {
103
+ try {
104
+ const items = Array.from(this.flpsToUpdate.entries()).map(([id, {
105
+ slug,
106
+ parentId,
107
+ path,
108
+ permissions
109
+ }]) => {
110
+ return {
111
+ id,
112
+ data: {
113
+ slug,
114
+ parentId,
115
+ path,
116
+ permissions
117
+ }
118
+ };
119
+ });
120
+ await this.context.aco.flp.batchUpdate(items);
121
+
122
+ // Update all folders with the new path
123
+ const folderModel = this.context.container.resolve(FolderModel);
124
+ for (const item of items) {
125
+ const {
126
+ id,
127
+ data
128
+ } = item;
129
+ // Directly update the folder in CMS storage to bypass any folder update event triggers.
130
+ const entryId = EntryId.from(id);
131
+ await this.context.cms.updateEntry(folderModel, entryId.toString(), {
132
+ values: {
133
+ path: data.path
134
+ }
135
+ });
136
+ }
137
+ } catch (error) {
138
+ throw WebinyError.from(error, {
139
+ message: "Error while executing batch update of FLPs",
140
+ code: "BATCH_UPDATE_FLP_ERROR",
141
+ data: {
142
+ items: Array.from(this.flpsToUpdate.keys())
143
+ }
144
+ });
145
+ } finally {
146
+ // Clear the update collection after the batch update
147
+ this.flpsToUpdate.clear();
148
+
149
+ //Let's remove all the updated FLPs ids from the queue cache
150
+ this.clearQueuedList();
151
+ }
152
+ }
153
+ getQueuedList() {
154
+ return Array.from(this.queued);
155
+ }
156
+ setQueued(id) {
157
+ this.queued.add(id);
158
+ }
159
+ isQueued(id) {
160
+ return this.queued.has(id);
161
+ }
162
+ clearQueuedList() {
163
+ this.queued.clear();
164
+ }
165
+ async listDirectChildren(flp) {
166
+ const listFolders = this.context.container.resolve(ListFoldersUseCase);
167
+ const result = await this.context.security.withoutAuthorization(() => {
168
+ return listFolders.execute({
169
+ where: {
170
+ type: flp.type,
171
+ parentId: flp.id
172
+ }
173
+ });
174
+ });
175
+ if (result.isFail()) {
176
+ throw result.error;
177
+ }
178
+ return await Promise.all(result.value.folders.map(folder => this.getFlp(folder)));
179
+ }
180
+ async getFlp({
181
+ id,
182
+ type,
183
+ parentId,
184
+ slug,
185
+ permissions
186
+ }) {
187
+ const flp = await this.context.aco.flp.get(id);
188
+ if (!flp) {
189
+ const parentFlp = parentId ? await this.context.aco.flp.get(parentId) : null;
190
+ return await this.context.aco.flp.create({
191
+ id,
192
+ type,
193
+ slug,
194
+ parentId: parentId ?? ROOT_FOLDER,
195
+ path: Path.create(slug, parentFlp?.path),
196
+ permissions: Permissions.create(permissions, parentFlp)
197
+ });
198
+ }
199
+ return flp;
200
+ }
201
+ }
202
+
203
+ //# sourceMappingURL=UpdateFlpUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebinyError","Path","Permissions","ROOT_FOLDER","ListFoldersUseCase","FolderModel","EntryId","UpdateFlpUseCase","queued","Set","flpsToUpdate","Map","constructor","context","execute","params","isCloseToTimeout","handleTimeout","forEach","id","add","folder","flp","getFlp","parentFlp","parentId","aco","get","set","slug","path","create","permissions","setQueued","directChildren","listDirectChildren","child","executeBatchUpdate","getQueuedList","collectBranchForUpdate","error","clear","from","message","code","isQueued","parentFlpData","currentParentFlp","children","items","Array","entries","map","data","batchUpdate","folderModel","container","resolve","item","entryId","cms","updateEntry","toString","values","keys","clearQueuedList","has","listFolders","result","security","withoutAuthorization","where","type","isFail","Promise","all","value","folders"],"sources":["UpdateFlpUseCase.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { Path } from \"~/utils/Path.js\";\nimport { Permissions, ROOT_FOLDER } from \"@webiny/shared-aco\";\nimport type { UpdateFlpParams, UpdateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext, Folder, FolderLevelPermission, FolderPermission } from \"~/types.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\nimport { FolderModel } from \"~/domain/folder/abstractions.js\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\n\ninterface FlpUpdateData {\n parentId: string;\n slug: string;\n path: string;\n permissions: FolderPermission[];\n}\n\nexport class UpdateFlpUseCase implements UseCaseAbstraction.Interface {\n private context: AcoContext;\n private isCloseToTimeout?: () => boolean;\n private handleTimeout?: (updated: string[]) => void;\n\n private readonly queued: Set<string> = new Set();\n private readonly flpsToUpdate: Map<string, FlpUpdateData> = new Map();\n\n constructor(context: AcoContext) {\n this.context = context;\n }\n\n async execute(params: UpdateFlpParams): Promise<void> {\n this.isCloseToTimeout = params.isCloseToTimeout;\n this.handleTimeout = params.handleTimeout;\n\n if (params.queued) {\n params.queued.forEach(id => this.queued.add(id));\n }\n\n try {\n const { folder } = params;\n\n if (!folder) {\n throw new WebinyError(\n \"Missing `folder`, I can't update the FLP record.\",\n \"ERROR_UPDATING_FLP_USE_CASE_FOLDER_NOT_PROVIDED\",\n { folder }\n );\n }\n\n const flp = await this.getFlp(folder);\n const parentFlp = folder.parentId\n ? await this.context.aco.flp.get(folder.parentId)\n : null;\n\n // Add the root folder to the update collection\n this.flpsToUpdate.set(folder.id, {\n slug: folder.slug,\n parentId: folder.parentId ?? ROOT_FOLDER,\n path: Path.create(folder.slug, parentFlp?.path),\n permissions: Permissions.create(folder.permissions, parentFlp)\n });\n\n // Let's set the FLP as in queue\n this.setQueued(flp.id);\n\n // Get direct children and process each branch completely\n const directChildren = await this.listDirectChildren(flp);\n\n for (const child of directChildren) {\n if (this.isCloseToTimeout?.()) {\n await this.executeBatchUpdate();\n this.handleTimeout?.(this.getQueuedList());\n return;\n }\n await this.collectBranchForUpdate(child, flp);\n }\n\n // Execute batch update\n await this.executeBatchUpdate();\n } catch (error) {\n // Clear the update collection in case of error\n this.flpsToUpdate.clear();\n this.queued.clear();\n throw WebinyError.from(error, {\n message: \"Error while updating FLP\",\n code: \"ERROR_UPDATING_FLP_USE_CASE\"\n });\n }\n }\n\n private async collectBranchForUpdate(\n flp: FolderLevelPermission,\n parentFlp: FolderLevelPermission\n ): Promise<void> {\n if (this.isQueued(flp.id)) {\n return;\n }\n\n // Get the parent's permissions from the update collection if available\n const parentFlpData = this.flpsToUpdate.get(parentFlp.id);\n const currentParentFlp = {\n ...parentFlp,\n ...(parentFlpData && { ...parentFlpData })\n };\n\n // Add the FLP to the update collection with inherited permissions\n this.flpsToUpdate.set(flp.id, {\n slug: flp.slug,\n parentId: flp.parentId,\n path: Path.create(flp.slug, currentParentFlp.path),\n permissions: Permissions.create(flp.permissions, currentParentFlp)\n });\n\n // Add the FLP to the queue list so we don't fetch it again\n this.setQueued(flp.id);\n\n // Process all children of this folder before moving to siblings\n const children = await this.listDirectChildren(flp);\n\n for (const child of children) {\n if (this.isCloseToTimeout?.()) {\n await this.executeBatchUpdate();\n this.handleTimeout?.(this.getQueuedList());\n return;\n }\n // Pass the current FLP as the parent for the child\n await this.collectBranchForUpdate(child, flp);\n }\n }\n\n private async executeBatchUpdate(): Promise<void> {\n try {\n const items = Array.from(this.flpsToUpdate.entries()).map(\n ([id, { slug, parentId, path, permissions }]) => {\n return {\n id,\n data: {\n slug,\n parentId,\n path,\n permissions\n }\n };\n }\n );\n\n await this.context.aco.flp.batchUpdate(items);\n\n // Update all folders with the new path\n const folderModel = this.context.container.resolve(FolderModel);\n for (const item of items) {\n const { id, data } = item;\n // Directly update the folder in CMS storage to bypass any folder update event triggers.\n const entryId = EntryId.from(id);\n await this.context.cms.updateEntry(folderModel, entryId.toString(), {\n values: {\n path: data.path\n }\n });\n }\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing batch update of FLPs\",\n code: \"BATCH_UPDATE_FLP_ERROR\",\n data: {\n items: Array.from(this.flpsToUpdate.keys())\n }\n });\n } finally {\n // Clear the update collection after the batch update\n this.flpsToUpdate.clear();\n\n //Let's remove all the updated FLPs ids from the queue cache\n this.clearQueuedList();\n }\n }\n\n private getQueuedList(): string[] {\n return Array.from(this.queued);\n }\n\n private setQueued(id: string): void {\n this.queued.add(id);\n }\n\n private isQueued(id: string): boolean {\n return this.queued.has(id);\n }\n\n private clearQueuedList(): void {\n this.queued.clear();\n }\n\n private async listDirectChildren(flp: FolderLevelPermission): Promise<FolderLevelPermission[]> {\n const listFolders = this.context.container.resolve(ListFoldersUseCase);\n\n const result = await this.context.security.withoutAuthorization(() => {\n return listFolders.execute({\n where: {\n type: flp.type,\n parentId: flp.id\n }\n });\n });\n\n if (result.isFail()) {\n throw result.error;\n }\n\n return await Promise.all(result.value.folders.map(folder => this.getFlp(folder)));\n }\n\n private async getFlp({\n id,\n type,\n parentId,\n slug,\n permissions\n }: Folder): Promise<FolderLevelPermission> {\n const flp = await this.context.aco.flp.get(id);\n\n if (!flp) {\n const parentFlp = parentId ? await this.context.aco.flp.get(parentId) : null;\n\n return 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 }\n\n return flp;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,IAAI;AACb,SAASC,WAAW,EAAEC,WAAW,QAAQ,oBAAoB;AAG7D,SAASC,kBAAkB;AAC3B,SAASC,WAAW;AACpB,SAASC,OAAO,QAAQ,mDAAmD;AAS3E,OAAO,MAAMC,gBAAgB,CAAyC;EAKjDC,MAAM,GAAgB,IAAIC,GAAG,CAAC,CAAC;EAC/BC,YAAY,GAA+B,IAAIC,GAAG,CAAC,CAAC;EAErEC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,MAAuB,EAAiB;IAClD,IAAI,CAACC,gBAAgB,GAAGD,MAAM,CAACC,gBAAgB;IAC/C,IAAI,CAACC,aAAa,GAAGF,MAAM,CAACE,aAAa;IAEzC,IAAIF,MAAM,CAACP,MAAM,EAAE;MACfO,MAAM,CAACP,MAAM,CAACU,OAAO,CAACC,EAAE,IAAI,IAAI,CAACX,MAAM,CAACY,GAAG,CAACD,EAAE,CAAC,CAAC;IACpD;IAEA,IAAI;MACA,MAAM;QAAEE;MAAO,CAAC,GAAGN,MAAM;MAEzB,IAAI,CAACM,MAAM,EAAE;QACT,MAAM,IAAIrB,WAAW,CACjB,kDAAkD,EAClD,iDAAiD,EACjD;UAAEqB;QAAO,CACb,CAAC;MACL;MAEA,MAAMC,GAAG,GAAG,MAAM,IAAI,CAACC,MAAM,CAACF,MAAM,CAAC;MACrC,MAAMG,SAAS,GAAGH,MAAM,CAACI,QAAQ,GAC3B,MAAM,IAAI,CAACZ,OAAO,CAACa,GAAG,CAACJ,GAAG,CAACK,GAAG,CAACN,MAAM,CAACI,QAAQ,CAAC,GAC/C,IAAI;;MAEV;MACA,IAAI,CAACf,YAAY,CAACkB,GAAG,CAACP,MAAM,CAACF,EAAE,EAAE;QAC7BU,IAAI,EAAER,MAAM,CAACQ,IAAI;QACjBJ,QAAQ,EAAEJ,MAAM,CAACI,QAAQ,IAAItB,WAAW;QACxC2B,IAAI,EAAE7B,IAAI,CAAC8B,MAAM,CAACV,MAAM,CAACQ,IAAI,EAAEL,SAAS,EAAEM,IAAI,CAAC;QAC/CE,WAAW,EAAE9B,WAAW,CAAC6B,MAAM,CAACV,MAAM,CAACW,WAAW,EAAER,SAAS;MACjE,CAAC,CAAC;;MAEF;MACA,IAAI,CAACS,SAAS,CAACX,GAAG,CAACH,EAAE,CAAC;;MAEtB;MACA,MAAMe,cAAc,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAACb,GAAG,CAAC;MAEzD,KAAK,MAAMc,KAAK,IAAIF,cAAc,EAAE;QAChC,IAAI,IAAI,CAAClB,gBAAgB,GAAG,CAAC,EAAE;UAC3B,MAAM,IAAI,CAACqB,kBAAkB,CAAC,CAAC;UAC/B,IAAI,CAACpB,aAAa,GAAG,IAAI,CAACqB,aAAa,CAAC,CAAC,CAAC;UAC1C;QACJ;QACA,MAAM,IAAI,CAACC,sBAAsB,CAACH,KAAK,EAAEd,GAAG,CAAC;MACjD;;MAEA;MACA,MAAM,IAAI,CAACe,kBAAkB,CAAC,CAAC;IACnC,CAAC,CAAC,OAAOG,KAAK,EAAE;MACZ;MACA,IAAI,CAAC9B,YAAY,CAAC+B,KAAK,CAAC,CAAC;MACzB,IAAI,CAACjC,MAAM,CAACiC,KAAK,CAAC,CAAC;MACnB,MAAMzC,WAAW,CAAC0C,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,0BAA0B;QACnCC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ;EAEA,MAAcL,sBAAsBA,CAChCjB,GAA0B,EAC1BE,SAAgC,EACnB;IACb,IAAI,IAAI,CAACqB,QAAQ,CAACvB,GAAG,CAACH,EAAE,CAAC,EAAE;MACvB;IACJ;;IAEA;IACA,MAAM2B,aAAa,GAAG,IAAI,CAACpC,YAAY,CAACiB,GAAG,CAACH,SAAS,CAACL,EAAE,CAAC;IACzD,MAAM4B,gBAAgB,GAAG;MACrB,GAAGvB,SAAS;MACZ,IAAIsB,aAAa,IAAI;QAAE,GAAGA;MAAc,CAAC;IAC7C,CAAC;;IAED;IACA,IAAI,CAACpC,YAAY,CAACkB,GAAG,CAACN,GAAG,CAACH,EAAE,EAAE;MAC1BU,IAAI,EAAEP,GAAG,CAACO,IAAI;MACdJ,QAAQ,EAAEH,GAAG,CAACG,QAAQ;MACtBK,IAAI,EAAE7B,IAAI,CAAC8B,MAAM,CAACT,GAAG,CAACO,IAAI,EAAEkB,gBAAgB,CAACjB,IAAI,CAAC;MAClDE,WAAW,EAAE9B,WAAW,CAAC6B,MAAM,CAACT,GAAG,CAACU,WAAW,EAAEe,gBAAgB;IACrE,CAAC,CAAC;;IAEF;IACA,IAAI,CAACd,SAAS,CAACX,GAAG,CAACH,EAAE,CAAC;;IAEtB;IACA,MAAM6B,QAAQ,GAAG,MAAM,IAAI,CAACb,kBAAkB,CAACb,GAAG,CAAC;IAEnD,KAAK,MAAMc,KAAK,IAAIY,QAAQ,EAAE;MAC1B,IAAI,IAAI,CAAChC,gBAAgB,GAAG,CAAC,EAAE;QAC3B,MAAM,IAAI,CAACqB,kBAAkB,CAAC,CAAC;QAC/B,IAAI,CAACpB,aAAa,GAAG,IAAI,CAACqB,aAAa,CAAC,CAAC,CAAC;QAC1C;MACJ;MACA;MACA,MAAM,IAAI,CAACC,sBAAsB,CAACH,KAAK,EAAEd,GAAG,CAAC;IACjD;EACJ;EAEA,MAAce,kBAAkBA,CAAA,EAAkB;IAC9C,IAAI;MACA,MAAMY,KAAK,GAAGC,KAAK,CAACR,IAAI,CAAC,IAAI,CAAChC,YAAY,CAACyC,OAAO,CAAC,CAAC,CAAC,CAACC,GAAG,CACrD,CAAC,CAACjC,EAAE,EAAE;QAAEU,IAAI;QAAEJ,QAAQ;QAAEK,IAAI;QAAEE;MAAY,CAAC,CAAC,KAAK;QAC7C,OAAO;UACHb,EAAE;UACFkC,IAAI,EAAE;YACFxB,IAAI;YACJJ,QAAQ;YACRK,IAAI;YACJE;UACJ;QACJ,CAAC;MACL,CACJ,CAAC;MAED,MAAM,IAAI,CAACnB,OAAO,CAACa,GAAG,CAACJ,GAAG,CAACgC,WAAW,CAACL,KAAK,CAAC;;MAE7C;MACA,MAAMM,WAAW,GAAG,IAAI,CAAC1C,OAAO,CAAC2C,SAAS,CAACC,OAAO,CAACpD,WAAW,CAAC;MAC/D,KAAK,MAAMqD,IAAI,IAAIT,KAAK,EAAE;QACtB,MAAM;UAAE9B,EAAE;UAAEkC;QAAK,CAAC,GAAGK,IAAI;QACzB;QACA,MAAMC,OAAO,GAAGrD,OAAO,CAACoC,IAAI,CAACvB,EAAE,CAAC;QAChC,MAAM,IAAI,CAACN,OAAO,CAAC+C,GAAG,CAACC,WAAW,CAACN,WAAW,EAAEI,OAAO,CAACG,QAAQ,CAAC,CAAC,EAAE;UAChEC,MAAM,EAAE;YACJjC,IAAI,EAAEuB,IAAI,CAACvB;UACf;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC,OAAOU,KAAK,EAAE;MACZ,MAAMxC,WAAW,CAAC0C,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,4CAA4C;QACrDC,IAAI,EAAE,wBAAwB;QAC9BS,IAAI,EAAE;UACFJ,KAAK,EAAEC,KAAK,CAACR,IAAI,CAAC,IAAI,CAAChC,YAAY,CAACsD,IAAI,CAAC,CAAC;QAC9C;MACJ,CAAC,CAAC;IACN,CAAC,SAAS;MACN;MACA,IAAI,CAACtD,YAAY,CAAC+B,KAAK,CAAC,CAAC;;MAEzB;MACA,IAAI,CAACwB,eAAe,CAAC,CAAC;IAC1B;EACJ;EAEQ3B,aAAaA,CAAA,EAAa;IAC9B,OAAOY,KAAK,CAACR,IAAI,CAAC,IAAI,CAAClC,MAAM,CAAC;EAClC;EAEQyB,SAASA,CAACd,EAAU,EAAQ;IAChC,IAAI,CAACX,MAAM,CAACY,GAAG,CAACD,EAAE,CAAC;EACvB;EAEQ0B,QAAQA,CAAC1B,EAAU,EAAW;IAClC,OAAO,IAAI,CAACX,MAAM,CAAC0D,GAAG,CAAC/C,EAAE,CAAC;EAC9B;EAEQ8C,eAAeA,CAAA,EAAS;IAC5B,IAAI,CAACzD,MAAM,CAACiC,KAAK,CAAC,CAAC;EACvB;EAEA,MAAcN,kBAAkBA,CAACb,GAA0B,EAAoC;IAC3F,MAAM6C,WAAW,GAAG,IAAI,CAACtD,OAAO,CAAC2C,SAAS,CAACC,OAAO,CAACrD,kBAAkB,CAAC;IAEtE,MAAMgE,MAAM,GAAG,MAAM,IAAI,CAACvD,OAAO,CAACwD,QAAQ,CAACC,oBAAoB,CAAC,MAAM;MAClE,OAAOH,WAAW,CAACrD,OAAO,CAAC;QACvByD,KAAK,EAAE;UACHC,IAAI,EAAElD,GAAG,CAACkD,IAAI;UACd/C,QAAQ,EAAEH,GAAG,CAACH;QAClB;MACJ,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAIiD,MAAM,CAACK,MAAM,CAAC,CAAC,EAAE;MACjB,MAAML,MAAM,CAAC5B,KAAK;IACtB;IAEA,OAAO,MAAMkC,OAAO,CAACC,GAAG,CAACP,MAAM,CAACQ,KAAK,CAACC,OAAO,CAACzB,GAAG,CAAC/B,MAAM,IAAI,IAAI,CAACE,MAAM,CAACF,MAAM,CAAC,CAAC,CAAC;EACrF;EAEA,MAAcE,MAAMA,CAAC;IACjBJ,EAAE;IACFqD,IAAI;IACJ/C,QAAQ;IACRI,IAAI;IACJG;EACI,CAAC,EAAkC;IACvC,MAAMV,GAAG,GAAG,MAAM,IAAI,CAACT,OAAO,CAACa,GAAG,CAACJ,GAAG,CAACK,GAAG,CAACR,EAAE,CAAC;IAE9C,IAAI,CAACG,GAAG,EAAE;MACN,MAAME,SAAS,GAAGC,QAAQ,GAAG,MAAM,IAAI,CAACZ,OAAO,CAACa,GAAG,CAACJ,GAAG,CAACK,GAAG,CAACF,QAAQ,CAAC,GAAG,IAAI;MAE5E,OAAO,MAAM,IAAI,CAACZ,OAAO,CAACa,GAAG,CAACJ,GAAG,CAACS,MAAM,CAAC;QACrCZ,EAAE;QACFqD,IAAI;QACJ3C,IAAI;QACJJ,QAAQ,EAAEA,QAAQ,IAAItB,WAAW;QACjC2B,IAAI,EAAE7B,IAAI,CAAC8B,MAAM,CAACF,IAAI,EAAEL,SAAS,EAAEM,IAAI,CAAC;QACxCE,WAAW,EAAE9B,WAAW,CAAC6B,MAAM,CAACC,WAAW,EAAER,SAAS;MAC1D,CAAC,CAAC;IACN;IAEA,OAAOF,GAAG;EACd;AACJ","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import type { Folder } from "../../../folder/folder.types.js";
2
+ export interface UpdateFlpParams {
3
+ folder: Folder;
4
+ queued?: string[];
5
+ isCloseToTimeout?: () => boolean;
6
+ handleTimeout?: (queued: string[]) => void;
7
+ }
8
+ export interface IUpdateFlpUseCase {
9
+ execute: (params: UpdateFlpParams) => Promise<void>;
10
+ }
11
+ export declare const UpdateFlpUseCase: import("@webiny/di").Abstraction<IUpdateFlpUseCase>;
12
+ export declare namespace UpdateFlpUseCase {
13
+ type Interface = IUpdateFlpUseCase;
14
+ }
@@ -0,0 +1,7 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+
3
+ // Use Case Abstraction
4
+
5
+ export const UpdateFlpUseCase = createAbstraction("UpdateFlpUseCase");
6
+
7
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","UpdateFlpUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Folder } from \"~/folder/folder.types.js\";\n\nexport interface UpdateFlpParams {\n folder: Folder;\n queued?: string[];\n isCloseToTimeout?: () => boolean;\n handleTimeout?: (queued: string[]) => void;\n}\n\n// Use Case Abstraction\nexport interface IUpdateFlpUseCase {\n execute: (params: UpdateFlpParams) => Promise<void>;\n}\n\nexport const UpdateFlpUseCase = createAbstraction<IUpdateFlpUseCase>(\"UpdateFlpUseCase\");\n\nexport namespace UpdateFlpUseCase {\n export type Interface = IUpdateFlpUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;;AAKA,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 UpdateFlpFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<LegacyDeps>;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { UpdateFlpUseCase } from "./UpdateFlpUseCase.js";
3
+ import { UpdateFlpUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ export const UpdateFlpFeature = createFeature({
5
+ name: "UpdateFlp",
6
+ register(container, deps) {
7
+ container.registerFactory(UseCaseAbstraction, () => {
8
+ return new UpdateFlpUseCase(deps.context);
9
+ });
10
+ }
11
+ });
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","UpdateFlpUseCase","UseCaseAbstraction","UpdateFlpFeature","name","register","container","deps","registerFactory","context"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { UpdateFlpUseCase } from \"./UpdateFlpUseCase.js\";\nimport { UpdateFlpUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport type { AcoContext } from \"~/types.js\";\n\ninterface LegacyDeps {\n context: AcoContext;\n}\n\nexport const UpdateFlpFeature = createFeature({\n name: \"UpdateFlp\",\n register(container: Container, deps: LegacyDeps) {\n container.registerFactory(UseCaseAbstraction, () => {\n return new UpdateFlpUseCase(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 { UpdateFlpFeature } from "./feature.js";
2
+ export { UpdateFlpUseCase } from "./abstractions.js";