@webiny/api-aco 0.0.0-unstable.2af142b57e → 0.0.0-unstable.3bc8100a7f

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 (500) hide show
  1. package/README.md +6 -6
  2. package/apps/AcoApp.d.ts +21 -0
  3. package/apps/AcoApp.js +143 -0
  4. package/apps/AcoApp.js.map +1 -0
  5. package/apps/AcoApps.d.ts +10 -0
  6. package/apps/AcoApps.js +75 -0
  7. package/apps/AcoApps.js.map +1 -0
  8. package/apps/app.gql.d.ts +3 -0
  9. package/apps/app.gql.js +59 -0
  10. package/apps/app.gql.js.map +1 -0
  11. package/apps/index.d.ts +2 -0
  12. package/apps/index.js +29 -0
  13. package/apps/index.js.map +1 -0
  14. package/constants.d.ts +3 -0
  15. package/constants.js +26 -0
  16. package/constants.js.map +1 -0
  17. package/createAcoContext.d.ts +8 -2
  18. package/createAcoContext.js +97 -30
  19. package/createAcoContext.js.map +1 -1
  20. package/createAcoGraphQL.d.ts +3 -2
  21. package/createAcoGraphQL.js +86 -14
  22. package/createAcoGraphQL.js.map +1 -1
  23. package/createAcoHooks.d.ts +1 -1
  24. package/createAcoHooks.js +11 -3
  25. package/createAcoHooks.js.map +1 -1
  26. package/createAcoModels.d.ts +2 -2
  27. package/createAcoModels.js +13 -45
  28. package/createAcoModels.js.map +1 -1
  29. package/createAcoStorageOperations.d.ts +6 -5
  30. package/createAcoStorageOperations.js +14 -9
  31. package/createAcoStorageOperations.js.map +1 -1
  32. package/createAcoTasks.d.ts +1 -0
  33. package/createAcoTasks.js +13 -0
  34. package/createAcoTasks.js.map +1 -0
  35. package/filter/filter.crud.d.ts +3 -0
  36. package/filter/filter.crud.js +94 -0
  37. package/filter/filter.crud.js.map +1 -0
  38. package/filter/filter.gql.d.ts +3 -0
  39. package/filter/filter.gql.js +152 -0
  40. package/filter/filter.gql.js.map +1 -0
  41. package/filter/filter.model.d.ts +2 -0
  42. package/filter/filter.model.js +124 -0
  43. package/filter/filter.model.js.map +1 -0
  44. package/filter/filter.so.d.ts +3 -0
  45. package/filter/filter.so.js +98 -0
  46. package/filter/filter.so.js.map +1 -0
  47. package/filter/filter.types.d.ts +95 -0
  48. package/filter/filter.types.js +13 -0
  49. package/filter/filter.types.js.map +1 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  57. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  58. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  66. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  67. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  75. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  76. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  84. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  85. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  93. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  94. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  95. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  96. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  97. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  98. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  99. package/flp/FolderLevelPermissions/index.js +116 -0
  100. package/flp/FolderLevelPermissions/index.js.map +1 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  117. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  118. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  126. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  127. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  144. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  145. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  153. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  154. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  168. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  169. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  177. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  178. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  186. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  187. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  188. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  189. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  190. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  191. package/flp/flp.crud.d.ts +9 -0
  192. package/flp/flp.crud.js +172 -0
  193. package/flp/flp.crud.js.map +1 -0
  194. package/flp/flp.so.d.ts +26 -0
  195. package/flp/flp.so.js +304 -0
  196. package/flp/flp.so.js.map +1 -0
  197. package/flp/flp.types.d.ts +147 -0
  198. package/flp/flp.types.js +18 -0
  199. package/flp/flp.types.js.map +1 -0
  200. package/flp/hooks/index.d.ts +2 -0
  201. package/flp/hooks/index.js +17 -0
  202. package/flp/hooks/index.js.map +1 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  204. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  205. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  207. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  208. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  210. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  211. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  212. package/flp/index.d.ts +5 -0
  213. package/flp/index.js +62 -0
  214. package/flp/index.js.map +1 -0
  215. package/flp/tasks/createFlp.task.d.ts +2 -0
  216. package/flp/tasks/createFlp.task.js +49 -0
  217. package/flp/tasks/createFlp.task.js.map +1 -0
  218. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  219. package/flp/tasks/deleteFlp.task.js +49 -0
  220. package/flp/tasks/deleteFlp.task.js.map +1 -0
  221. package/flp/tasks/index.d.ts +5 -0
  222. package/flp/tasks/index.js +20 -0
  223. package/flp/tasks/index.js.map +1 -0
  224. package/flp/tasks/syncFlp.task.d.ts +2 -0
  225. package/flp/tasks/syncFlp.task.js +126 -0
  226. package/flp/tasks/syncFlp.task.js.map +1 -0
  227. package/flp/tasks/updateFlp.task.d.ts +2 -0
  228. package/flp/tasks/updateFlp.task.js +55 -0
  229. package/flp/tasks/updateFlp.task.js.map +1 -0
  230. package/flp/useCases/CreateFlp.d.ts +7 -0
  231. package/flp/useCases/CreateFlp.js +51 -0
  232. package/flp/useCases/CreateFlp.js.map +1 -0
  233. package/flp/useCases/DeleteFlp.d.ts +6 -0
  234. package/flp/useCases/DeleteFlp.js +30 -0
  235. package/flp/useCases/DeleteFlp.js.map +1 -0
  236. package/flp/useCases/UpdateFlp.d.ts +26 -0
  237. package/flp/useCases/UpdateFlp.js +198 -0
  238. package/flp/useCases/UpdateFlp.js.map +1 -0
  239. package/flp/useCases/index.d.ts +3 -0
  240. package/flp/useCases/index.js +40 -0
  241. package/flp/useCases/index.js.map +1 -0
  242. package/folder/createFolderModelModifier.d.ts +36 -0
  243. package/folder/createFolderModelModifier.js +70 -0
  244. package/folder/createFolderModelModifier.js.map +1 -0
  245. package/folder/createFolderTypeDefs.d.ts +7 -0
  246. package/folder/createFolderTypeDefs.js +207 -0
  247. package/folder/createFolderTypeDefs.js.map +1 -0
  248. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  249. package/folder/ensureFolderIsEmpty.js +63 -0
  250. package/folder/ensureFolderIsEmpty.js.map +1 -0
  251. package/folder/folder.crud.d.ts +8 -3
  252. package/folder/folder.crud.js +114 -49
  253. package/folder/folder.crud.js.map +1 -1
  254. package/folder/folder.gql.d.ts +3 -2
  255. package/folder/folder.gql.js +121 -89
  256. package/folder/folder.gql.js.map +1 -1
  257. package/folder/folder.model.d.ts +2 -4
  258. package/folder/folder.model.js +81 -34
  259. package/folder/folder.model.js.map +1 -1
  260. package/folder/folder.so.d.ts +2 -7
  261. package/folder/folder.so.js +151 -110
  262. package/folder/folder.so.js.map +1 -1
  263. package/folder/folder.types.d.ts +74 -9
  264. package/folder/folder.types.js +3 -1
  265. package/folder/folder.types.js.map +1 -1
  266. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  267. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  268. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  270. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  271. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  273. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  274. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  276. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  277. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  282. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  283. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  285. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  286. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  287. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  288. package/folder/useCases/CreateFolder/index.js +20 -0
  289. package/folder/useCases/CreateFolder/index.js.map +1 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  297. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  298. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  300. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  301. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  302. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  303. package/folder/useCases/DeleteFolder/index.js +20 -0
  304. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  306. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  307. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  309. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  310. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  311. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  312. package/folder/useCases/GetAncestors/index.js +16 -0
  313. package/folder/useCases/GetAncestors/index.js.map +1 -0
  314. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  315. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  316. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  318. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  319. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  320. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  321. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  322. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  323. package/folder/useCases/GetFolder/index.d.ts +13 -0
  324. package/folder/useCases/GetFolder/index.js +19 -0
  325. package/folder/useCases/GetFolder/index.js.map +1 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  330. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  331. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  333. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  334. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  335. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  336. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  337. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  357. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  358. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  359. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  360. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  361. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  362. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  363. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  364. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  366. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  367. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  368. package/folder/useCases/ListFolders/index.d.ts +13 -0
  369. package/folder/useCases/ListFolders/index.js +19 -0
  370. package/folder/useCases/ListFolders/index.js.map +1 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  372. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  373. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  381. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  382. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  383. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  384. package/folder/useCases/UpdateFolder/index.js +20 -0
  385. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  386. package/folder/useCases/index.d.ts +8 -0
  387. package/folder/useCases/index.js +95 -0
  388. package/folder/useCases/index.js.map +1 -0
  389. package/index.d.ts +12 -1
  390. package/index.js +70 -6
  391. package/index.js.map +1 -1
  392. package/package.json +36 -33
  393. package/plugins/AcoAppModifierPlugin.d.ts +43 -0
  394. package/plugins/AcoAppModifierPlugin.js +58 -0
  395. package/plugins/AcoAppModifierPlugin.js.map +1 -0
  396. package/plugins/AcoAppRegisterPlugin.d.ts +8 -0
  397. package/plugins/AcoAppRegisterPlugin.js +21 -0
  398. package/plugins/AcoAppRegisterPlugin.js.map +1 -0
  399. package/plugins/index.d.ts +2 -0
  400. package/plugins/index.js +29 -0
  401. package/plugins/index.js.map +1 -0
  402. package/record/graphql/createAppResolvers.d.ts +14 -0
  403. package/record/graphql/createAppResolvers.js +115 -0
  404. package/record/graphql/createAppResolvers.js.map +1 -0
  405. package/record/graphql/createAppSchema.d.ts +9 -0
  406. package/record/graphql/createAppSchema.js +146 -0
  407. package/record/graphql/createAppSchema.js.map +1 -0
  408. package/record/record.crud.d.ts +2 -2
  409. package/record/record.crud.js +49 -13
  410. package/record/record.crud.js.map +1 -1
  411. package/record/record.gql.d.ts +8 -3
  412. package/record/record.gql.js +38 -113
  413. package/record/record.gql.js.map +1 -1
  414. package/record/record.model.d.ts +8 -4
  415. package/record/record.model.js +50 -34
  416. package/record/record.model.js.map +1 -1
  417. package/record/record.so.d.ts +2 -7
  418. package/record/record.so.js +136 -65
  419. package/record/record.so.js.map +1 -1
  420. package/record/record.types.d.ts +75 -23
  421. package/record/record.types.js +3 -1
  422. package/record/record.types.js.map +1 -1
  423. package/types.d.ts +90 -11
  424. package/types.js +67 -1
  425. package/types.js.map +1 -1
  426. package/utils/FoldersCacheFactory.d.ts +10 -0
  427. package/utils/FoldersCacheFactory.js +31 -0
  428. package/utils/FoldersCacheFactory.js.map +1 -0
  429. package/utils/ListCache.d.ts +23 -0
  430. package/utils/ListCache.js +31 -0
  431. package/utils/ListCache.js.map +1 -0
  432. package/utils/ListFoldersRepository.d.ts +10 -0
  433. package/utils/ListFoldersRepository.js +35 -0
  434. package/utils/ListFoldersRepository.js.map +1 -0
  435. package/utils/Path.d.ts +3 -0
  436. package/utils/Path.js +18 -0
  437. package/utils/Path.js.map +1 -0
  438. package/utils/acoRecordId.d.ts +6 -0
  439. package/utils/acoRecordId.js +35 -0
  440. package/utils/acoRecordId.js.map +1 -0
  441. package/utils/compress.d.ts +4 -0
  442. package/utils/compress.js +19 -0
  443. package/utils/compress.js.map +1 -0
  444. package/utils/createListSort.d.ts +3 -0
  445. package/utils/createListSort.js +17 -0
  446. package/utils/createListSort.js.map +1 -0
  447. package/utils/createModelField.d.ts +1 -2
  448. package/utils/createModelField.js +5 -5
  449. package/utils/createModelField.js.map +1 -1
  450. package/utils/createOperationsWrapper.d.ts +9 -0
  451. package/utils/createOperationsWrapper.js +27 -0
  452. package/utils/createOperationsWrapper.js.map +1 -0
  453. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  454. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  455. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  456. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  457. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  458. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  459. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  460. package/utils/decorators/ListEntriesFactory.js +107 -0
  461. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  462. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  463. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  464. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  465. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  466. package/utils/decorators/hasRootFolderId.js +27 -0
  467. package/utils/decorators/hasRootFolderId.js.map +1 -0
  468. package/utils/decorators/isPageModel.d.ts +5 -0
  469. package/utils/decorators/isPageModel.js +20 -0
  470. package/utils/decorators/isPageModel.js.map +1 -0
  471. package/utils/ensureAuthentication.d.ts +2 -0
  472. package/utils/ensureAuthentication.js +16 -0
  473. package/utils/ensureAuthentication.js.map +1 -0
  474. package/utils/modelFactory.d.ts +2 -4
  475. package/utils/modelFactory.js +7 -8
  476. package/utils/modelFactory.js.map +1 -1
  477. package/utils/pickEntryFieldValues.d.ts +3 -0
  478. package/utils/pickEntryFieldValues.js +30 -0
  479. package/utils/pickEntryFieldValues.js.map +1 -0
  480. package/utils/resolve.d.ts +2 -1
  481. package/utils/resolve.js +13 -2
  482. package/utils/resolve.js.map +1 -1
  483. package/createAcoCrud.d.ts +0 -2
  484. package/createAcoCrud.js +0 -17
  485. package/createAcoCrud.js.map +0 -1
  486. package/createAcoFields.d.ts +0 -2
  487. package/createAcoFields.js +0 -40
  488. package/createAcoFields.js.map +0 -1
  489. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  490. package/folder/onFolderBeforeDelete.hook.js +0 -53
  491. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  492. package/utils/fieldResolver.d.ts +0 -16
  493. package/utils/fieldResolver.js +0 -44
  494. package/utils/fieldResolver.js.map +0 -1
  495. package/utils/getFieldValues.d.ts +0 -2
  496. package/utils/getFieldValues.js +0 -12
  497. package/utils/getFieldValues.js.map +0 -1
  498. package/utils/isInstallationPending.d.ts +0 -4
  499. package/utils/isInstallationPending.js +0 -21
  500. package/utils/isInstallationPending.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.onFolderBeforeDeleteHcmsHook = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _ensureFolderIsEmpty = require("./ensureFolderIsEmpty");
10
+ const onFolderBeforeDeleteHcmsHook = context => {
11
+ context.aco.folder.onFolderBeforeDelete.subscribe(async ({
12
+ folder
13
+ }) => {
14
+ try {
15
+ const {
16
+ id,
17
+ type
18
+ } = folder;
19
+ const modelId = type.split(":")[1];
20
+ if (!modelId) {
21
+ return;
22
+ }
23
+ let model;
24
+ try {
25
+ model = await context.cms.getModel(modelId);
26
+ if (!model) {
27
+ return;
28
+ }
29
+ } catch {
30
+ return;
31
+ }
32
+ await (0, _ensureFolderIsEmpty.ensureFolderIsEmpty)({
33
+ context,
34
+ folder,
35
+ hasContentCallback: async () => {
36
+ const [content] = await context.cms.listEntries(model, {
37
+ where: {
38
+ latest: true,
39
+ wbyAco_location: {
40
+ folderId: id
41
+ }
42
+ },
43
+ limit: 1
44
+ });
45
+ return content.length > 0;
46
+ }
47
+ });
48
+ } catch (error) {
49
+ throw _error.default.from(error, {
50
+ message: "Error while executing onFolderBeforeDeleteHcmsHook hook.",
51
+ code: "ACO_BEFORE_FOLDER_DELETE_HCMS_HOOK"
52
+ });
53
+ }
54
+ });
55
+ };
56
+ exports.onFolderBeforeDeleteHcmsHook = onFolderBeforeDeleteHcmsHook;
57
+
58
+ //# sourceMappingURL=onFolderBeforeDeleteHcms.hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_ensureFolderIsEmpty","onFolderBeforeDeleteHcmsHook","context","aco","folder","onFolderBeforeDelete","subscribe","id","type","modelId","split","model","cms","getModel","ensureFolderIsEmpty","hasContentCallback","content","listEntries","where","latest","wbyAco_location","folderId","limit","length","error","WebinyError","from","message","code","exports"],"sources":["onFolderBeforeDeleteHcms.hook.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { AcoContext } from \"~/types\";\nimport { ensureFolderIsEmpty } from \"~/folder/ensureFolderIsEmpty\";\n\nexport const onFolderBeforeDeleteHcmsHook = (context: AcoContext) => {\n context.aco.folder.onFolderBeforeDelete.subscribe(async ({ folder }) => {\n try {\n const { id, type } = folder;\n\n const modelId = type.split(\":\")[1];\n if (!modelId) {\n return;\n }\n\n let model: CmsModel;\n try {\n model = await context.cms.getModel(modelId);\n if (!model) {\n return;\n }\n } catch {\n return;\n }\n\n await ensureFolderIsEmpty({\n context,\n folder,\n hasContentCallback: async () => {\n const [content] = await context.cms.listEntries(model!, {\n where: {\n latest: true,\n wbyAco_location: {\n folderId: id\n }\n },\n limit: 1\n });\n return content.length > 0;\n }\n });\n } catch (error) {\n throw WebinyError.from(error, {\n message: \"Error while executing onFolderBeforeDeleteHcmsHook hook.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_HCMS_HOOK\"\n });\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAEO,MAAME,4BAA4B,GAAIC,OAAmB,IAAK;EACjEA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACC,oBAAoB,CAACC,SAAS,CAAC,OAAO;IAAEF;EAAO,CAAC,KAAK;IACpE,IAAI;MACA,MAAM;QAAEG,EAAE;QAAEC;MAAK,CAAC,GAAGJ,MAAM;MAE3B,MAAMK,OAAO,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MAClC,IAAI,CAACD,OAAO,EAAE;QACV;MACJ;MAEA,IAAIE,KAAe;MACnB,IAAI;QACAA,KAAK,GAAG,MAAMT,OAAO,CAACU,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;QAC3C,IAAI,CAACE,KAAK,EAAE;UACR;QACJ;MACJ,CAAC,CAAC,MAAM;QACJ;MACJ;MAEA,MAAM,IAAAG,wCAAmB,EAAC;QACtBZ,OAAO;QACPE,MAAM;QACNW,kBAAkB,EAAE,MAAAA,CAAA,KAAY;UAC5B,MAAM,CAACC,OAAO,CAAC,GAAG,MAAMd,OAAO,CAACU,GAAG,CAACK,WAAW,CAACN,KAAK,EAAG;YACpDO,KAAK,EAAE;cACHC,MAAM,EAAE,IAAI;cACZC,eAAe,EAAE;gBACbC,QAAQ,EAAEd;cACd;YACJ,CAAC;YACDe,KAAK,EAAE;UACX,CAAC,CAAC;UACF,OAAON,OAAO,CAACO,MAAM,GAAG,CAAC;QAC7B;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,MAAMC,cAAW,CAACC,IAAI,CAACF,KAAK,EAAE;QAC1BG,OAAO,EAAE,0DAA0D;QACnEC,IAAI,EAAE;MACV,CAAC,CAAC;IACN;EACJ,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAA5B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { AcoFolderStorageOperations, CreateFolderParams } from "../../folder.types";
3
+ export declare class CreateFolder implements ICreateFolder {
4
+ private readonly createOperation;
5
+ constructor(createOperation: AcoFolderStorageOperations["createFolder"]);
6
+ execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolder = void 0;
7
+ class CreateFolder {
8
+ constructor(createOperation) {
9
+ this.createOperation = createOperation;
10
+ }
11
+ async execute(params) {
12
+ return await this.createOperation({
13
+ data: params
14
+ });
15
+ }
16
+ }
17
+ exports.CreateFolder = CreateFolder;
18
+
19
+ //# sourceMappingURL=CreateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFolder","constructor","createOperation","execute","params","data","exports"],"sources":["CreateFolder.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { AcoFolderStorageOperations, CreateFolderParams } from \"~/folder/folder.types\";\n\nexport class CreateFolder implements ICreateFolder {\n private readonly createOperation: AcoFolderStorageOperations[\"createFolder\"];\n\n constructor(createOperation: AcoFolderStorageOperations[\"createFolder\"]) {\n this.createOperation = createOperation;\n }\n\n async execute(params: CreateFolderParams) {\n return await this.createOperation({ data: params });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,eAA2D,EAAE;IACrE,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAAEG,IAAI,EAAED;IAAO,CAAC,CAAC;EACvD;AACJ;AAACE,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { CreateFolderUseCasesTopics } from "./index";
3
+ import type { CreateFolderParams } from "../../folder.types";
4
+ export declare class CreateFolderWithEvents implements ICreateFolder {
5
+ private topics;
6
+ private readonly decoretee;
7
+ constructor(topics: CreateFolderUseCasesTopics, decoretee: ICreateFolder);
8
+ execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolderWithEvents = void 0;
7
+ class CreateFolderWithEvents {
8
+ constructor(topics, decoretee) {
9
+ this.topics = topics;
10
+ this.decoretee = decoretee;
11
+ }
12
+ async execute(params) {
13
+ await this.topics.onFolderBeforeCreate.publish({
14
+ input: params
15
+ });
16
+ const folder = await this.decoretee.execute(params);
17
+ await this.topics.onFolderAfterCreate.publish({
18
+ folder
19
+ });
20
+ return folder;
21
+ }
22
+ }
23
+ exports.CreateFolderWithEvents = CreateFolderWithEvents;
24
+
25
+ //# sourceMappingURL=CreateFolderWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFolderWithEvents","constructor","topics","decoretee","execute","params","onFolderBeforeCreate","publish","input","folder","onFolderAfterCreate","exports"],"sources":["CreateFolderWithEvents.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { CreateFolderUseCasesTopics } from \"./index\";\nimport type { CreateFolderParams } from \"~/folder/folder.types\";\n\nexport class CreateFolderWithEvents implements ICreateFolder {\n private topics: CreateFolderUseCasesTopics;\n private readonly decoretee: ICreateFolder;\n\n constructor(topics: CreateFolderUseCasesTopics, decoretee: ICreateFolder) {\n this.topics = topics;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateFolderParams) {\n await this.topics.onFolderBeforeCreate.publish({ input: params });\n const folder = await this.decoretee.execute(params);\n await this.topics.onFolderAfterCreate.publish({ folder });\n return folder;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sBAAsB,CAA0B;EAIzDC,WAAWA,CAACC,MAAkC,EAAEC,SAAwB,EAAE;IACtE,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACH,MAAM,CAACI,oBAAoB,CAACC,OAAO,CAAC;MAAEC,KAAK,EAAEH;IAAO,CAAC,CAAC;IACjE,MAAMI,MAAM,GAAG,MAAM,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACnD,MAAM,IAAI,CAACH,MAAM,CAACQ,mBAAmB,CAACH,OAAO,CAAC;MAAEE;IAAO,CAAC,CAAC;IACzD,OAAOA,MAAM;EACjB;AACJ;AAACE,OAAA,CAAAX,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { CreateFolderParams } from "../../folder.types";
3
+ import type { FolderLevelPermissions } from "../../../flp";
4
+ export declare class CreateFolderWithFolderLevelPermissions implements ICreateFolder {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: ICreateFolder);
8
+ execute(params: CreateFolderParams): Promise<{
9
+ permissions: import("@webiny/shared-aco/flp/flp.types").FolderPermission[];
10
+ id: string;
11
+ entryId: string;
12
+ createdOn: string;
13
+ modifiedOn: string | null;
14
+ savedOn: string;
15
+ createdBy: import("../../../types").User;
16
+ modifiedBy: import("../../../types").User | null;
17
+ savedBy: import("../../../types").User;
18
+ title: string;
19
+ slug: string;
20
+ type: string;
21
+ parentId?: string | null | undefined;
22
+ path: string;
23
+ extensions?: Record<string, any> | undefined;
24
+ }>;
25
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolderWithFolderLevelPermissions = void 0;
7
+ var _apiSecurity = require("@webiny/api-security");
8
+ class CreateFolderWithFolderLevelPermissions {
9
+ constructor(folderLevelPermissions, decoretee) {
10
+ this.folderLevelPermissions = folderLevelPermissions;
11
+ this.decoretee = decoretee;
12
+ }
13
+ async execute(params) {
14
+ let canCreateFolder;
15
+ if (params.parentId) {
16
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
17
+ canCreateFolder = await this.folderLevelPermissions.canAccessFolder({
18
+ permissions,
19
+ rwd: "w"
20
+ });
21
+ } else {
22
+ canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();
23
+ }
24
+ if (!canCreateFolder) {
25
+ throw new _apiSecurity.NotAuthorizedError();
26
+ }
27
+ const folder = await this.decoretee.execute(params);
28
+
29
+ // Let's set default permissions based on the current user.
30
+ const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(folder?.permissions ?? []);
31
+ return {
32
+ ...folder,
33
+ permissions: permissionsWithDefaults
34
+ };
35
+ }
36
+ }
37
+ exports.CreateFolderWithFolderLevelPermissions = CreateFolderWithFolderLevelPermissions;
38
+
39
+ //# sourceMappingURL=CreateFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_apiSecurity","require","CreateFolderWithFolderLevelPermissions","constructor","folderLevelPermissions","decoretee","execute","params","canCreateFolder","parentId","permissions","getFolderLevelPermissions","canAccessFolder","rwd","canCreateFolderInRoot","NotAuthorizedError","folder","permissionsWithDefaults","getDefaultPermissions","exports"],"sources":["CreateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { CreateFolderParams } from \"~/folder/folder.types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport class CreateFolderWithFolderLevelPermissions implements ICreateFolder {\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly decoretee: ICreateFolder;\n\n constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: ICreateFolder) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateFolderParams) {\n let canCreateFolder: boolean;\n if (params.parentId) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n params.parentId\n );\n canCreateFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n } else {\n canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();\n }\n\n if (!canCreateFolder) {\n throw new NotAuthorizedError();\n }\n\n const folder = await this.decoretee.execute(params);\n\n // Let's set default permissions based on the current user.\n const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(\n folder?.permissions ?? []\n );\n\n return {\n ...folder,\n permissions: permissionsWithDefaults\n };\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,sCAAsC,CAA0B;EAIzEC,WAAWA,CAACC,sBAA8C,EAAEC,SAAwB,EAAE;IAClF,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,IAAIC,eAAwB;IAC5B,IAAID,MAAM,CAACE,QAAQ,EAAE;MACjB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACN,sBAAsB,CAACO,yBAAyB,CAC3EJ,MAAM,CAACE,QACX,CAAC;MACDD,eAAe,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACQ,eAAe,CAAC;QAChEF,WAAW;QACXG,GAAG,EAAE;MACT,CAAC,CAAC;IACN,CAAC,MAAM;MACHL,eAAe,GAAG,IAAI,CAACJ,sBAAsB,CAACU,qBAAqB,CAAC,CAAC;IACzE;IAEA,IAAI,CAACN,eAAe,EAAE;MAClB,MAAM,IAAIO,+BAAkB,CAAC,CAAC;IAClC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACX,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;;IAEnD;IACA,MAAMU,uBAAuB,GAAG,MAAM,IAAI,CAACb,sBAAsB,CAACc,qBAAqB,CACnFF,MAAM,EAAEN,WAAW,IAAI,EAC3B,CAAC;IAED,OAAO;MACH,GAAGM,MAAM;MACTN,WAAW,EAAEO;IACjB,CAAC;EACL;AACJ;AAACE,OAAA,CAAAjB,sCAAA,GAAAA,sCAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CreateFolderParams, Folder } from "../../folder.types";
2
+ export interface ICreateFolder {
3
+ execute: (params: CreateFolderParams) => Promise<Folder>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICreateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICreateFolder.ts"],"sourcesContent":["import type { CreateFolderParams, Folder } from \"~/folder/folder.types\";\n\nexport interface ICreateFolder {\n execute: (params: CreateFolderParams) => Promise<Folder>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import { type AcoFolderStorageOperations, type OnFolderAfterCreateTopicParams, type OnFolderBeforeCreateTopicParams } from "../../folder.types";
3
+ import { CreateFolderWithFolderLevelPermissions } from "./CreateFolderWithFolderLevelPermissions";
4
+ import type { FolderLevelPermissions } from "../../../flp";
5
+ export interface CreateFolderUseCasesTopics {
6
+ onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;
7
+ onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;
8
+ }
9
+ interface CreateFolderUseCasesParams {
10
+ createOperation: AcoFolderStorageOperations["createFolder"];
11
+ folderLevelPermissions: FolderLevelPermissions;
12
+ topics: CreateFolderUseCasesTopics;
13
+ }
14
+ export declare const getCreateFolderUseCases: (params: CreateFolderUseCasesParams) => {
15
+ createFolderUseCase: CreateFolderWithFolderLevelPermissions;
16
+ };
17
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCreateFolderUseCases = void 0;
7
+ var _CreateFolder = require("./CreateFolder");
8
+ var _CreateFolderWithEvents = require("./CreateFolderWithEvents");
9
+ var _CreateFolderWithFolderLevelPermissions = require("./CreateFolderWithFolderLevelPermissions");
10
+ const getCreateFolderUseCases = params => {
11
+ const createFolder = new _CreateFolder.CreateFolder(params.createOperation);
12
+ const createFolderUseCaseWithEvents = new _CreateFolderWithEvents.CreateFolderWithEvents(params.topics, createFolder);
13
+ const createFolderUseCase = new _CreateFolderWithFolderLevelPermissions.CreateFolderWithFolderLevelPermissions(params.folderLevelPermissions, createFolderUseCaseWithEvents);
14
+ return {
15
+ createFolderUseCase
16
+ };
17
+ };
18
+ exports.getCreateFolderUseCases = getCreateFolderUseCases;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CreateFolder","require","_CreateFolderWithEvents","_CreateFolderWithFolderLevelPermissions","getCreateFolderUseCases","params","createFolder","CreateFolder","createOperation","createFolderUseCaseWithEvents","CreateFolderWithEvents","topics","createFolderUseCase","CreateFolderWithFolderLevelPermissions","folderLevelPermissions","exports"],"sources":["index.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport {\n type AcoFolderStorageOperations,\n type OnFolderAfterCreateTopicParams,\n type OnFolderBeforeCreateTopicParams\n} from \"~/folder/folder.types\";\nimport { CreateFolder } from \"./CreateFolder\";\nimport { CreateFolderWithEvents } from \"./CreateFolderWithEvents\";\nimport { CreateFolderWithFolderLevelPermissions } from \"./CreateFolderWithFolderLevelPermissions\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport interface CreateFolderUseCasesTopics {\n onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;\n onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;\n}\n\ninterface CreateFolderUseCasesParams {\n createOperation: AcoFolderStorageOperations[\"createFolder\"];\n folderLevelPermissions: FolderLevelPermissions;\n topics: CreateFolderUseCasesTopics;\n}\n\nexport const getCreateFolderUseCases = (params: CreateFolderUseCasesParams) => {\n const createFolder = new CreateFolder(params.createOperation);\n const createFolderUseCaseWithEvents = new CreateFolderWithEvents(params.topics, createFolder);\n const createFolderUseCase = new CreateFolderWithFolderLevelPermissions(\n params.folderLevelPermissions,\n createFolderUseCaseWithEvents\n );\n\n return {\n createFolderUseCase\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,uCAAA,GAAAF,OAAA;AAcO,MAAMG,uBAAuB,GAAIC,MAAkC,IAAK;EAC3E,MAAMC,YAAY,GAAG,IAAIC,0BAAY,CAACF,MAAM,CAACG,eAAe,CAAC;EAC7D,MAAMC,6BAA6B,GAAG,IAAIC,8CAAsB,CAACL,MAAM,CAACM,MAAM,EAAEL,YAAY,CAAC;EAC7F,MAAMM,mBAAmB,GAAG,IAAIC,8EAAsC,CAClER,MAAM,CAACS,sBAAsB,EAC7BL,6BACJ,CAAC;EAED,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAX,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IDeleteFolder } from "./IDeleteFolder";
2
+ import type { AcoFolderStorageOperations, DeleteFolderParams } from "../../folder.types";
3
+ export declare class DeleteFolder implements IDeleteFolder {
4
+ private readonly deleteOperation;
5
+ constructor(deleteOperation: AcoFolderStorageOperations["deleteFolder"]);
6
+ execute(params: DeleteFolderParams): Promise<boolean>;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolder = void 0;
7
+ class DeleteFolder {
8
+ constructor(deleteOperation) {
9
+ this.deleteOperation = deleteOperation;
10
+ }
11
+ async execute(params) {
12
+ await this.deleteOperation(params);
13
+ return true;
14
+ }
15
+ }
16
+ exports.DeleteFolder = DeleteFolder;
17
+
18
+ //# sourceMappingURL=DeleteFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolder","constructor","deleteOperation","execute","params","exports"],"sources":["DeleteFolder.ts"],"sourcesContent":["import type { IDeleteFolder } from \"./IDeleteFolder\";\nimport type { AcoFolderStorageOperations, DeleteFolderParams } from \"~/folder/folder.types\";\n\nexport class DeleteFolder implements IDeleteFolder {\n private readonly deleteOperation: AcoFolderStorageOperations[\"deleteFolder\"];\n\n constructor(deleteOperation: AcoFolderStorageOperations[\"deleteFolder\"]) {\n this.deleteOperation = deleteOperation;\n }\n\n async execute(params: DeleteFolderParams): Promise<boolean> {\n await this.deleteOperation(params);\n return true;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,eAA2D,EAAE;IACrE,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAoB;IACxD,MAAM,IAAI,CAACF,eAAe,CAACE,MAAM,CAAC;IAClC,OAAO,IAAI;EACf;AACJ;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { DeleteFolderUseCasesTopics } from "./index";
2
+ import type { AcoFolderStorageOperations, DeleteFolderParams } from "../../folder.types";
3
+ import type { IDeleteFolder } from "./IDeleteFolder";
4
+ export declare class DeleteFolderWithEvents implements IDeleteFolder {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: DeleteFolderUseCasesTopics, getOperation: AcoFolderStorageOperations["getFolder"], decoretee: IDeleteFolder);
9
+ execute(params: DeleteFolderParams): Promise<boolean>;
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolderWithEvents = void 0;
7
+ class DeleteFolderWithEvents {
8
+ constructor(topics, getOperation, decoretee) {
9
+ this.topics = topics;
10
+ this.getOperation = getOperation;
11
+ this.decoretee = decoretee;
12
+ }
13
+ async execute(params) {
14
+ const folder = await this.getOperation({
15
+ id: params.id
16
+ });
17
+ await this.topics.onFolderBeforeDelete.publish({
18
+ folder
19
+ });
20
+ await this.decoretee.execute(params);
21
+ await this.topics.onFolderAfterDelete.publish({
22
+ folder
23
+ });
24
+ return true;
25
+ }
26
+ }
27
+ exports.DeleteFolderWithEvents = DeleteFolderWithEvents;
28
+
29
+ //# sourceMappingURL=DeleteFolderWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolderWithEvents","constructor","topics","getOperation","decoretee","execute","params","folder","id","onFolderBeforeDelete","publish","onFolderAfterDelete","exports"],"sources":["DeleteFolderWithEvents.ts"],"sourcesContent":["import type { DeleteFolderUseCasesTopics } from \"./index\";\nimport type { AcoFolderStorageOperations, DeleteFolderParams } from \"~/folder/folder.types\";\nimport type { IDeleteFolder } from \"~/folder/useCases/DeleteFolder/IDeleteFolder\";\n\nexport class DeleteFolderWithEvents implements IDeleteFolder {\n private topics: DeleteFolderUseCasesTopics;\n private readonly getOperation: AcoFolderStorageOperations[\"getFolder\"];\n private readonly decoretee: IDeleteFolder;\n\n constructor(\n topics: DeleteFolderUseCasesTopics,\n getOperation: AcoFolderStorageOperations[\"getFolder\"],\n decoretee: IDeleteFolder\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(params: DeleteFolderParams) {\n const folder = await this.getOperation({ id: params.id });\n await this.topics.onFolderBeforeDelete.publish({ folder });\n await this.decoretee.execute(params);\n await this.topics.onFolderAfterDelete.publish({ folder });\n return true;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sBAAsB,CAA0B;EAKzDC,WAAWA,CACPC,MAAkC,EAClCC,YAAqD,EACrDC,SAAwB,EAC1B;IACE,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,YAAY,CAAC;MAAEK,EAAE,EAAEF,MAAM,CAACE;IAAG,CAAC,CAAC;IACzD,MAAM,IAAI,CAACN,MAAM,CAACO,oBAAoB,CAACC,OAAO,CAAC;MAAEH;IAAO,CAAC,CAAC;IAC1D,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACpC,MAAM,IAAI,CAACJ,MAAM,CAACS,mBAAmB,CAACD,OAAO,CAAC;MAAEH;IAAO,CAAC,CAAC;IACzD,OAAO,IAAI;EACf;AACJ;AAACK,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { FolderLevelPermissions } from "../../../flp";
2
+ import type { IDeleteFolder } from "./IDeleteFolder";
3
+ import type { DeleteFolderParams } from "../../folder.types";
4
+ export declare class DeleteFolderWithFolderLevelPermissions implements IDeleteFolder {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IDeleteFolder);
8
+ execute(params: DeleteFolderParams): Promise<boolean>;
9
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolderWithFolderLevelPermissions = void 0;
7
+ class DeleteFolderWithFolderLevelPermissions {
8
+ constructor(folderLevelPermissions, decoretee) {
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.decoretee = decoretee;
11
+ }
12
+ async execute(params) {
13
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.id);
14
+ await this.folderLevelPermissions.ensureCanAccessFolder({
15
+ permissions,
16
+ rwd: "d"
17
+ });
18
+ await this.decoretee.execute(params);
19
+ return true;
20
+ }
21
+ }
22
+ exports.DeleteFolderWithFolderLevelPermissions = DeleteFolderWithFolderLevelPermissions;
23
+
24
+ //# sourceMappingURL=DeleteFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolderWithFolderLevelPermissions","constructor","folderLevelPermissions","decoretee","execute","params","permissions","getFolderLevelPermissions","id","ensureCanAccessFolder","rwd","exports"],"sources":["DeleteFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import type { FolderLevelPermissions } from \"~/flp\";\nimport type { IDeleteFolder } from \"./IDeleteFolder\";\nimport type { DeleteFolderParams } from \"~/folder/folder.types\";\n\nexport class DeleteFolderWithFolderLevelPermissions implements IDeleteFolder {\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly decoretee: IDeleteFolder;\n\n constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IDeleteFolder) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: DeleteFolderParams) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.id);\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions,\n rwd: \"d\"\n });\n await this.decoretee.execute(params);\n return true;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sCAAsC,CAA0B;EAIzEC,WAAWA,CAACC,sBAA8C,EAAEC,SAAwB,EAAE;IAClF,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACK,yBAAyB,CAACF,MAAM,CAACG,EAAE,CAAC;IAC1F,MAAM,IAAI,CAACN,sBAAsB,CAACO,qBAAqB,CAAC;MACpDH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IACF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACpC,OAAO,IAAI;EACf;AACJ;AAACM,OAAA,CAAAX,sCAAA,GAAAA,sCAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DeleteFolderParams } from "../../folder.types";
2
+ export interface IDeleteFolder {
3
+ execute: (params: DeleteFolderParams) => Promise<boolean>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IDeleteFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IDeleteFolder.ts"],"sourcesContent":["import type { DeleteFolderParams } from \"~/folder/folder.types\";\n\nexport interface IDeleteFolder {\n execute: (params: DeleteFolderParams) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import { type AcoFolderStorageOperations, type OnFolderAfterDeleteTopicParams, type OnFolderBeforeDeleteTopicParams } from "../../folder.types";
3
+ import { DeleteFolderWithFolderLevelPermissions } from "./DeleteFolderWithFolderLevelPermissions";
4
+ import type { FolderLevelPermissions } from "../../../flp";
5
+ export interface DeleteFolderUseCasesTopics {
6
+ onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;
7
+ onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;
8
+ }
9
+ interface DeleteFolderUseCasesParams {
10
+ deleteOperation: AcoFolderStorageOperations["deleteFolder"];
11
+ getOperation: AcoFolderStorageOperations["getFolder"];
12
+ folderLevelPermissions: FolderLevelPermissions;
13
+ topics: DeleteFolderUseCasesTopics;
14
+ }
15
+ export declare const getDeleteFolderUseCases: (params: DeleteFolderUseCasesParams) => {
16
+ deleteFolderUseCase: DeleteFolderWithFolderLevelPermissions;
17
+ };
18
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDeleteFolderUseCases = void 0;
7
+ var _DeleteFolder = require("./DeleteFolder");
8
+ var _DeleteFolderWithEvents = require("./DeleteFolderWithEvents");
9
+ var _DeleteFolderWithFolderLevelPermissions = require("./DeleteFolderWithFolderLevelPermissions");
10
+ const getDeleteFolderUseCases = params => {
11
+ const deleteFolder = new _DeleteFolder.DeleteFolder(params.deleteOperation);
12
+ const deleteFolderUseCaseWithEvents = new _DeleteFolderWithEvents.DeleteFolderWithEvents(params.topics, params.getOperation, deleteFolder);
13
+ const deleteFolderUseCase = new _DeleteFolderWithFolderLevelPermissions.DeleteFolderWithFolderLevelPermissions(params.folderLevelPermissions, deleteFolderUseCaseWithEvents);
14
+ return {
15
+ deleteFolderUseCase
16
+ };
17
+ };
18
+ exports.getDeleteFolderUseCases = getDeleteFolderUseCases;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DeleteFolder","require","_DeleteFolderWithEvents","_DeleteFolderWithFolderLevelPermissions","getDeleteFolderUseCases","params","deleteFolder","DeleteFolder","deleteOperation","deleteFolderUseCaseWithEvents","DeleteFolderWithEvents","topics","getOperation","deleteFolderUseCase","DeleteFolderWithFolderLevelPermissions","folderLevelPermissions","exports"],"sources":["index.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport {\n type AcoFolderStorageOperations,\n type OnFolderAfterDeleteTopicParams,\n type OnFolderBeforeDeleteTopicParams\n} from \"~/folder/folder.types\";\nimport { DeleteFolder } from \"./DeleteFolder\";\nimport { DeleteFolderWithEvents } from \"./DeleteFolderWithEvents\";\nimport { DeleteFolderWithFolderLevelPermissions } from \"./DeleteFolderWithFolderLevelPermissions\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport interface DeleteFolderUseCasesTopics {\n onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;\n onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;\n}\n\ninterface DeleteFolderUseCasesParams {\n deleteOperation: AcoFolderStorageOperations[\"deleteFolder\"];\n getOperation: AcoFolderStorageOperations[\"getFolder\"];\n folderLevelPermissions: FolderLevelPermissions;\n topics: DeleteFolderUseCasesTopics;\n}\n\nexport const getDeleteFolderUseCases = (params: DeleteFolderUseCasesParams) => {\n const deleteFolder = new DeleteFolder(params.deleteOperation);\n const deleteFolderUseCaseWithEvents = new DeleteFolderWithEvents(\n params.topics,\n params.getOperation,\n deleteFolder\n );\n const deleteFolderUseCase = new DeleteFolderWithFolderLevelPermissions(\n params.folderLevelPermissions,\n deleteFolderUseCaseWithEvents\n );\n\n return {\n deleteFolderUseCase\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,uCAAA,GAAAF,OAAA;AAeO,MAAMG,uBAAuB,GAAIC,MAAkC,IAAK;EAC3E,MAAMC,YAAY,GAAG,IAAIC,0BAAY,CAACF,MAAM,CAACG,eAAe,CAAC;EAC7D,MAAMC,6BAA6B,GAAG,IAAIC,8CAAsB,CAC5DL,MAAM,CAACM,MAAM,EACbN,MAAM,CAACO,YAAY,EACnBN,YACJ,CAAC;EACD,MAAMO,mBAAmB,GAAG,IAAIC,8EAAsC,CAClET,MAAM,CAACU,sBAAsB,EAC7BN,6BACJ,CAAC;EAED,OAAO;IACHI;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAZ,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { GetAncestorsParams, IGetAncestors } from "./IGetAncestors";
2
+ import type { Folder } from "../../folder.types";
3
+ import type { IListFolders } from "../ListFolders/IListFolders";
4
+ export declare class GetAncestors implements IGetAncestors {
5
+ private listFoldersUseCase;
6
+ constructor(listFoldersUseCase: IListFolders);
7
+ execute(params: GetAncestorsParams): Promise<Folder[]>;
8
+ private listFolders;
9
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GetAncestors = void 0;
7
+ var _constants = require("../../../constants");
8
+ class GetAncestors {
9
+ constructor(listFoldersUseCase) {
10
+ this.listFoldersUseCase = listFoldersUseCase;
11
+ }
12
+ async execute(params) {
13
+ const {
14
+ folder
15
+ } = params;
16
+ const folders = await this.listFolders(folder);
17
+
18
+ // Create a Map with folders, using folder.id as key
19
+ const folderMap = new Map();
20
+ folders.forEach(folder => folderMap.set(folder.id, folder));
21
+ const findParents = (next, current) => {
22
+ // No folder found: return the result
23
+ if (!current) {
24
+ return next;
25
+ }
26
+
27
+ // Push the current folder into the accumulator array
28
+ next.push(current);
29
+
30
+ // No parentId found: return the result
31
+ if (!current.parentId) {
32
+ return next;
33
+ }
34
+ const parent = folderMap.get(current.parentId);
35
+
36
+ // No parent found: return the result
37
+ if (!parent) {
38
+ return next;
39
+ }
40
+
41
+ // Go ahead and find parent for the current parent
42
+ return findParents(next, parent);
43
+ };
44
+
45
+ // No folder found: return an empty array
46
+ if (!folder) {
47
+ return [];
48
+ }
49
+
50
+ // The folder has no parent (it's at root level): return an array with the folder
51
+ if (!folder.parentId) {
52
+ return [folder];
53
+ }
54
+
55
+ // Recursively find parents for a given folder id
56
+ return findParents([], folder);
57
+ }
58
+ async listFolders(folder) {
59
+ // Construct paths for all ancestors of the folder
60
+ const parts = folder.path.split("/").slice(1);
61
+ const paths = parts.map((_, index) => {
62
+ return [_constants.ROOT_FOLDER, ...parts.slice(0, index + 1)].join("/");
63
+ });
64
+
65
+ // Retrieve all folders that match the specified type and any of the constructed paths
66
+ const [folders] = await this.listFoldersUseCase.execute({
67
+ where: {
68
+ type: folder.type,
69
+ path_in: paths
70
+ }
71
+ });
72
+ return folders;
73
+ }
74
+ }
75
+ exports.GetAncestors = GetAncestors;
76
+
77
+ //# sourceMappingURL=GetAncestors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","GetAncestors","constructor","listFoldersUseCase","execute","params","folder","folders","listFolders","folderMap","Map","forEach","set","id","findParents","next","current","push","parentId","parent","get","parts","path","split","slice","paths","map","_","index","ROOT_FOLDER","join","where","type","path_in","exports"],"sources":["GetAncestors.ts"],"sourcesContent":["import type { GetAncestorsParams, IGetAncestors } from \"./IGetAncestors\";\nimport type { Folder } from \"~/folder/folder.types\";\nimport type { IListFolders } from \"~/folder/useCases/ListFolders/IListFolders\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport class GetAncestors implements IGetAncestors {\n private listFoldersUseCase: IListFolders;\n\n constructor(listFoldersUseCase: IListFolders) {\n this.listFoldersUseCase = listFoldersUseCase;\n }\n\n public async execute(params: GetAncestorsParams) {\n const { folder } = params;\n\n const folders = await this.listFolders(folder);\n\n // Create a Map with folders, using folder.id as key\n const folderMap = new Map<string, Folder>();\n folders.forEach(folder => folderMap.set(folder.id, folder));\n\n const findParents = (next: Folder[], current: Folder): Folder[] => {\n // No folder found: return the result\n if (!current) {\n return next;\n }\n\n // Push the current folder into the accumulator array\n next.push(current);\n\n // No parentId found: return the result\n if (!current.parentId) {\n return next;\n }\n\n const parent = folderMap.get(current.parentId);\n\n // No parent found: return the result\n if (!parent) {\n return next;\n }\n\n // Go ahead and find parent for the current parent\n return findParents(next, parent);\n };\n\n // No folder found: return an empty array\n if (!folder) {\n return [];\n }\n\n // The folder has no parent (it's at root level): return an array with the folder\n if (!folder.parentId) {\n return [folder];\n }\n\n // Recursively find parents for a given folder id\n return findParents([], folder);\n }\n\n private async listFolders(folder: Folder) {\n // Construct paths for all ancestors of the folder\n const parts = folder.path.split(\"/\").slice(1);\n const paths = parts.map((_, index) => {\n return [ROOT_FOLDER, ...parts.slice(0, index + 1)].join(\"/\");\n });\n\n // Retrieve all folders that match the specified type and any of the constructed paths\n const [folders] = await this.listFoldersUseCase.execute({\n where: {\n type: folder.type,\n path_in: paths\n }\n });\n\n return folders;\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,kBAAgC,EAAE;IAC1C,IAAI,CAACA,kBAAkB,GAAGA,kBAAkB;EAChD;EAEA,MAAaC,OAAOA,CAACC,MAA0B,EAAE;IAC7C,MAAM;MAAEC;IAAO,CAAC,GAAGD,MAAM;IAEzB,MAAME,OAAO,GAAG,MAAM,IAAI,CAACC,WAAW,CAACF,MAAM,CAAC;;IAE9C;IACA,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAAiB,CAAC;IAC3CH,OAAO,CAACI,OAAO,CAACL,MAAM,IAAIG,SAAS,CAACG,GAAG,CAACN,MAAM,CAACO,EAAE,EAAEP,MAAM,CAAC,CAAC;IAE3D,MAAMQ,WAAW,GAAGA,CAACC,IAAc,EAAEC,OAAe,KAAe;MAC/D;MACA,IAAI,CAACA,OAAO,EAAE;QACV,OAAOD,IAAI;MACf;;MAEA;MACAA,IAAI,CAACE,IAAI,CAACD,OAAO,CAAC;;MAElB;MACA,IAAI,CAACA,OAAO,CAACE,QAAQ,EAAE;QACnB,OAAOH,IAAI;MACf;MAEA,MAAMI,MAAM,GAAGV,SAAS,CAACW,GAAG,CAACJ,OAAO,CAACE,QAAQ,CAAC;;MAE9C;MACA,IAAI,CAACC,MAAM,EAAE;QACT,OAAOJ,IAAI;MACf;;MAEA;MACA,OAAOD,WAAW,CAACC,IAAI,EAAEI,MAAM,CAAC;IACpC,CAAC;;IAED;IACA,IAAI,CAACb,MAAM,EAAE;MACT,OAAO,EAAE;IACb;;IAEA;IACA,IAAI,CAACA,MAAM,CAACY,QAAQ,EAAE;MAClB,OAAO,CAACZ,MAAM,CAAC;IACnB;;IAEA;IACA,OAAOQ,WAAW,CAAC,EAAE,EAAER,MAAM,CAAC;EAClC;EAEA,MAAcE,WAAWA,CAACF,MAAc,EAAE;IACtC;IACA,MAAMe,KAAK,GAAGf,MAAM,CAACgB,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;IAC7C,MAAMC,KAAK,GAAGJ,KAAK,CAACK,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;MAClC,OAAO,CAACC,sBAAW,EAAE,GAAGR,KAAK,CAACG,KAAK,CAAC,CAAC,EAAEI,KAAK,GAAG,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;IAChE,CAAC,CAAC;;IAEF;IACA,MAAM,CAACvB,OAAO,CAAC,GAAG,MAAM,IAAI,CAACJ,kBAAkB,CAACC,OAAO,CAAC;MACpD2B,KAAK,EAAE;QACHC,IAAI,EAAE1B,MAAM,CAAC0B,IAAI;QACjBC,OAAO,EAAER;MACb;IACJ,CAAC,CAAC;IAEF,OAAOlB,OAAO;EAClB;AACJ;AAAC2B,OAAA,CAAAjC,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { Folder } from "../../folder.types";
2
+ export interface GetAncestorsParams {
3
+ folder: Folder;
4
+ }
5
+ export interface IGetAncestors {
6
+ execute: (params: GetAncestorsParams) => Promise<Folder[]>;
7
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IGetAncestors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IGetAncestors.ts"],"sourcesContent":["import type { Folder } from \"~/folder/folder.types\";\n\nexport interface GetAncestorsParams {\n folder: Folder;\n}\n\nexport interface IGetAncestors {\n execute: (params: GetAncestorsParams) => Promise<Folder[]>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { GetAncestors } from "./GetAncestors";
2
+ import type { IListFolders } from "../ListFolders/IListFolders";
3
+ interface GetAncestorsUseCasesParams {
4
+ listFoldersUseCase: IListFolders;
5
+ }
6
+ export declare const getGetAncestors: (params: GetAncestorsUseCasesParams) => {
7
+ getAncestorsUseCase: GetAncestors;
8
+ };
9
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGetAncestors = void 0;
7
+ var _GetAncestors = require("./GetAncestors");
8
+ const getGetAncestors = params => {
9
+ const getAncestorsUseCase = new _GetAncestors.GetAncestors(params.listFoldersUseCase);
10
+ return {
11
+ getAncestorsUseCase
12
+ };
13
+ };
14
+ exports.getGetAncestors = getGetAncestors;
15
+
16
+ //# sourceMappingURL=index.js.map