@webiny/api-aco 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e

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/apps/AcoApp.d.ts +7 -2
  2. package/apps/AcoApp.js +56 -21
  3. package/apps/AcoApp.js.map +1 -1
  4. package/apps/AcoApps.d.ts +1 -1
  5. package/apps/AcoApps.js +7 -8
  6. package/apps/AcoApps.js.map +1 -1
  7. package/apps/app.gql.d.ts +1 -1
  8. package/apps/app.gql.js +6 -5
  9. package/apps/app.gql.js.map +1 -1
  10. package/apps/index.js +3 -1
  11. package/apps/index.js.map +1 -1
  12. package/constants.d.ts +3 -0
  13. package/constants.js +26 -0
  14. package/constants.js.map +1 -0
  15. package/createAcoContext.d.ts +8 -2
  16. package/createAcoContext.js +57 -27
  17. package/createAcoContext.js.map +1 -1
  18. package/createAcoGraphQL.d.ts +3 -2
  19. package/createAcoGraphQL.js +44 -2
  20. package/createAcoGraphQL.js.map +1 -1
  21. package/createAcoHooks.d.ts +1 -1
  22. package/createAcoHooks.js +11 -3
  23. package/createAcoHooks.js.map +1 -1
  24. package/createAcoModels.d.ts +2 -2
  25. package/createAcoModels.js +14 -21
  26. package/createAcoModels.js.map +1 -1
  27. package/createAcoStorageOperations.d.ts +6 -5
  28. package/createAcoStorageOperations.js +14 -9
  29. package/createAcoStorageOperations.js.map +1 -1
  30. package/createAcoTasks.d.ts +1 -0
  31. package/createAcoTasks.js +13 -0
  32. package/createAcoTasks.js.map +1 -0
  33. package/filter/filter.crud.d.ts +3 -0
  34. package/filter/filter.crud.js +94 -0
  35. package/filter/filter.crud.js.map +1 -0
  36. package/filter/filter.gql.d.ts +3 -0
  37. package/filter/filter.gql.js +152 -0
  38. package/filter/filter.gql.js.map +1 -0
  39. package/filter/filter.model.d.ts +2 -0
  40. package/filter/filter.model.js +124 -0
  41. package/filter/filter.model.js.map +1 -0
  42. package/filter/filter.so.d.ts +3 -0
  43. package/filter/filter.so.js +98 -0
  44. package/filter/filter.so.js.map +1 -0
  45. package/filter/filter.types.d.ts +95 -0
  46. package/filter/filter.types.js +13 -0
  47. package/filter/filter.types.js.map +1 -0
  48. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  49. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  57. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  58. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  66. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  67. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  75. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  76. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  84. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  85. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  93. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  94. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  95. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  96. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  97. package/flp/FolderLevelPermissions/index.js +116 -0
  98. package/flp/FolderLevelPermissions/index.js.map +1 -0
  99. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  100. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  117. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  118. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  126. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  127. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  144. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  145. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  153. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  154. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  168. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  169. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  177. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  178. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  186. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  187. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  188. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  189. package/flp/flp.crud.d.ts +9 -0
  190. package/flp/flp.crud.js +172 -0
  191. package/flp/flp.crud.js.map +1 -0
  192. package/flp/flp.so.d.ts +26 -0
  193. package/flp/flp.so.js +304 -0
  194. package/flp/flp.so.js.map +1 -0
  195. package/flp/flp.types.d.ts +147 -0
  196. package/flp/flp.types.js +18 -0
  197. package/flp/flp.types.js.map +1 -0
  198. package/flp/hooks/index.d.ts +2 -0
  199. package/flp/hooks/index.js +17 -0
  200. package/flp/hooks/index.js.map +1 -0
  201. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  202. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  204. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  205. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  207. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  208. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  210. package/flp/index.d.ts +5 -0
  211. package/flp/index.js +62 -0
  212. package/flp/index.js.map +1 -0
  213. package/flp/tasks/createFlp.task.d.ts +2 -0
  214. package/flp/tasks/createFlp.task.js +49 -0
  215. package/flp/tasks/createFlp.task.js.map +1 -0
  216. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  217. package/flp/tasks/deleteFlp.task.js +49 -0
  218. package/flp/tasks/deleteFlp.task.js.map +1 -0
  219. package/flp/tasks/index.d.ts +5 -0
  220. package/flp/tasks/index.js +20 -0
  221. package/flp/tasks/index.js.map +1 -0
  222. package/flp/tasks/syncFlp.task.d.ts +2 -0
  223. package/flp/tasks/syncFlp.task.js +126 -0
  224. package/flp/tasks/syncFlp.task.js.map +1 -0
  225. package/flp/tasks/updateFlp.task.d.ts +2 -0
  226. package/flp/tasks/updateFlp.task.js +55 -0
  227. package/flp/tasks/updateFlp.task.js.map +1 -0
  228. package/flp/useCases/CreateFlp.d.ts +7 -0
  229. package/flp/useCases/CreateFlp.js +51 -0
  230. package/flp/useCases/CreateFlp.js.map +1 -0
  231. package/flp/useCases/DeleteFlp.d.ts +6 -0
  232. package/flp/useCases/DeleteFlp.js +30 -0
  233. package/flp/useCases/DeleteFlp.js.map +1 -0
  234. package/flp/useCases/UpdateFlp.d.ts +26 -0
  235. package/flp/useCases/UpdateFlp.js +198 -0
  236. package/flp/useCases/UpdateFlp.js.map +1 -0
  237. package/flp/useCases/index.d.ts +3 -0
  238. package/flp/useCases/index.js +40 -0
  239. package/flp/useCases/index.js.map +1 -0
  240. package/folder/createFolderModelModifier.d.ts +36 -0
  241. package/folder/createFolderModelModifier.js +70 -0
  242. package/folder/createFolderModelModifier.js.map +1 -0
  243. package/folder/createFolderTypeDefs.d.ts +7 -0
  244. package/folder/createFolderTypeDefs.js +207 -0
  245. package/folder/createFolderTypeDefs.js.map +1 -0
  246. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  247. package/folder/ensureFolderIsEmpty.js +63 -0
  248. package/folder/ensureFolderIsEmpty.js.map +1 -0
  249. package/folder/folder.crud.d.ts +8 -3
  250. package/folder/folder.crud.js +112 -65
  251. package/folder/folder.crud.js.map +1 -1
  252. package/folder/folder.gql.d.ts +3 -2
  253. package/folder/folder.gql.js +121 -104
  254. package/folder/folder.gql.js.map +1 -1
  255. package/folder/folder.model.d.ts +1 -3
  256. package/folder/folder.model.js +80 -11
  257. package/folder/folder.model.js.map +1 -1
  258. package/folder/folder.so.d.ts +2 -2
  259. package/folder/folder.so.js +68 -22
  260. package/folder/folder.so.js.map +1 -1
  261. package/folder/folder.types.d.ts +67 -8
  262. package/folder/folder.types.js +3 -1
  263. package/folder/folder.types.js.map +1 -1
  264. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  265. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  266. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  267. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  268. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  270. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  271. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  273. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  274. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  276. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  277. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  282. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  283. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  285. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  286. package/folder/useCases/CreateFolder/index.js +20 -0
  287. package/folder/useCases/CreateFolder/index.js.map +1 -0
  288. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  289. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  297. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  298. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  300. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  301. package/folder/useCases/DeleteFolder/index.js +20 -0
  302. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  303. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  304. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  306. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  307. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  309. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  310. package/folder/useCases/GetAncestors/index.js +16 -0
  311. package/folder/useCases/GetAncestors/index.js.map +1 -0
  312. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  313. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  314. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  315. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  316. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  318. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  319. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  320. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  321. package/folder/useCases/GetFolder/index.d.ts +13 -0
  322. package/folder/useCases/GetFolder/index.js +19 -0
  323. package/folder/useCases/GetFolder/index.js.map +1 -0
  324. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  325. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  330. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  331. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  333. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  334. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  335. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  336. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  337. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  357. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  358. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  359. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  360. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  361. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  362. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  363. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  364. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  366. package/folder/useCases/ListFolders/index.d.ts +13 -0
  367. package/folder/useCases/ListFolders/index.js +19 -0
  368. package/folder/useCases/ListFolders/index.js.map +1 -0
  369. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  370. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  372. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  373. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  381. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  382. package/folder/useCases/UpdateFolder/index.js +20 -0
  383. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  384. package/folder/useCases/index.d.ts +8 -0
  385. package/folder/useCases/index.js +95 -0
  386. package/folder/useCases/index.js.map +1 -0
  387. package/index.d.ts +8 -1
  388. package/index.js +27 -5
  389. package/index.js.map +1 -1
  390. package/package.json +33 -33
  391. package/plugins/AcoAppModifierPlugin.d.ts +3 -3
  392. package/plugins/AcoAppModifierPlugin.js +4 -5
  393. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  394. package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
  395. package/plugins/AcoAppRegisterPlugin.js +4 -5
  396. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  397. package/plugins/index.js +3 -1
  398. package/plugins/index.js.map +1 -1
  399. package/record/graphql/createAppResolvers.d.ts +2 -2
  400. package/record/graphql/createAppResolvers.js +26 -19
  401. package/record/graphql/createAppResolvers.js.map +1 -1
  402. package/record/graphql/createAppSchema.d.ts +2 -2
  403. package/record/graphql/createAppSchema.js +13 -9
  404. package/record/graphql/createAppSchema.js.map +1 -1
  405. package/record/record.crud.d.ts +2 -2
  406. package/record/record.crud.js +13 -11
  407. package/record/record.crud.js.map +1 -1
  408. package/record/record.gql.d.ts +1 -1
  409. package/record/record.gql.js +3 -1
  410. package/record/record.gql.js.map +1 -1
  411. package/record/record.model.d.ts +3 -5
  412. package/record/record.model.js +18 -13
  413. package/record/record.model.js.map +1 -1
  414. package/record/record.so.d.ts +2 -2
  415. package/record/record.so.js +114 -93
  416. package/record/record.so.js.map +1 -1
  417. package/record/record.types.d.ts +17 -16
  418. package/record/record.types.js +3 -1
  419. package/record/record.types.js.map +1 -1
  420. package/types.d.ts +41 -15
  421. package/types.js +36 -4
  422. package/types.js.map +1 -1
  423. package/utils/FoldersCacheFactory.d.ts +10 -0
  424. package/utils/FoldersCacheFactory.js +31 -0
  425. package/utils/FoldersCacheFactory.js.map +1 -0
  426. package/utils/ListCache.d.ts +23 -0
  427. package/utils/ListCache.js +31 -0
  428. package/utils/ListCache.js.map +1 -0
  429. package/utils/ListFoldersRepository.d.ts +10 -0
  430. package/utils/ListFoldersRepository.js +35 -0
  431. package/utils/ListFoldersRepository.js.map +1 -0
  432. package/utils/Path.d.ts +3 -0
  433. package/utils/Path.js +18 -0
  434. package/utils/Path.js.map +1 -0
  435. package/utils/acoRecordId.js +3 -1
  436. package/utils/acoRecordId.js.map +1 -1
  437. package/utils/compress.d.ts +4 -0
  438. package/utils/compress.js +19 -0
  439. package/utils/compress.js.map +1 -0
  440. package/utils/createListSort.d.ts +3 -2
  441. package/utils/createListSort.js +6 -2
  442. package/utils/createListSort.js.map +1 -1
  443. package/utils/createModelField.d.ts +1 -1
  444. package/utils/createModelField.js +3 -1
  445. package/utils/createModelField.js.map +1 -1
  446. package/utils/createOperationsWrapper.d.ts +2 -2
  447. package/utils/createOperationsWrapper.js +8 -10
  448. package/utils/createOperationsWrapper.js.map +1 -1
  449. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  450. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  451. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  452. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  453. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  454. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  455. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  456. package/utils/decorators/ListEntriesFactory.js +107 -0
  457. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  458. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  459. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  460. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  461. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  462. package/utils/decorators/hasRootFolderId.js +27 -0
  463. package/utils/decorators/hasRootFolderId.js.map +1 -0
  464. package/utils/decorators/isPageModel.d.ts +5 -0
  465. package/utils/decorators/isPageModel.js +20 -0
  466. package/utils/decorators/isPageModel.js.map +1 -0
  467. package/utils/ensureAuthentication.d.ts +2 -0
  468. package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
  469. package/utils/ensureAuthentication.js.map +1 -0
  470. package/utils/modelFactory.d.ts +2 -4
  471. package/utils/modelFactory.js +7 -10
  472. package/utils/modelFactory.js.map +1 -1
  473. package/utils/pickEntryFieldValues.d.ts +3 -0
  474. package/utils/pickEntryFieldValues.js +30 -0
  475. package/utils/pickEntryFieldValues.js.map +1 -0
  476. package/utils/resolve.js +3 -1
  477. package/utils/resolve.js.map +1 -1
  478. package/fields/index.d.ts +0 -2
  479. package/fields/index.js +0 -12
  480. package/fields/index.js.map +0 -1
  481. package/fields/location.d.ts +0 -2
  482. package/fields/location.js +0 -44
  483. package/fields/location.js.map +0 -1
  484. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  485. package/folder/onFolderBeforeDelete.hook.js +0 -66
  486. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  487. package/utils/checkPermissions.d.ts +0 -2
  488. package/utils/checkPermissions.js.map +0 -1
  489. package/utils/fieldResolver.d.ts +0 -16
  490. package/utils/fieldResolver.js +0 -44
  491. package/utils/fieldResolver.js.map +0 -1
  492. package/utils/getFieldValues.d.ts +0 -5
  493. package/utils/getFieldValues.js +0 -16
  494. package/utils/getFieldValues.js.map +0 -1
  495. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  496. package/utils/getFolderAndItsAncestors.js +0 -48
  497. package/utils/getFolderAndItsAncestors.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,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListTeamsGatewayFromContext = void 0;
7
+ class ListTeamsGatewayFromContext {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute() {
12
+ const {
13
+ security
14
+ } = this.context;
15
+ return security.withoutAuthorization(async () => {
16
+ return security.listTeams();
17
+ });
18
+ }
19
+ }
20
+ exports.ListTeamsGatewayFromContext = ListTeamsGatewayFromContext;
21
+
22
+ //# sourceMappingURL=ListTeamsGatewayFromContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListTeamsGatewayFromContext","constructor","context","execute","security","withoutAuthorization","listTeams","exports"],"sources":["ListTeamsGatewayFromContext.ts"],"sourcesContent":["import type { AcoContext } from \"~/types\";\nimport type { IListTeamsGateway } from \"./IListTeamsGateway\";\n\nexport class ListTeamsGatewayFromContext implements IListTeamsGateway {\n private context: AcoContext;\n\n constructor(context: AcoContext) {\n this.context = context;\n }\n\n public async execute() {\n const { security } = this.context;\n\n return security.withoutAuthorization(async () => {\n return security.listTeams();\n });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,2BAA2B,CAA8B;EAGlEC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAaC,OAAOA,CAAA,EAAG;IACnB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACF,OAAO;IAEjC,OAAOE,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MAC7C,OAAOD,QAAQ,CAACE,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAAP,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { ListFolderLevelPermissionsTargets } from "./ListFolderLevelPermissionsTargets";
2
+ import type { AcoContext } from "../../../types";
3
+ interface GetListFolderLevelPermissionsTargetsParams {
4
+ context: AcoContext;
5
+ }
6
+ export declare const getListFolderLevelPermissionsTargets: (params: GetListFolderLevelPermissionsTargetsParams) => {
7
+ listFolderLevelPermissionsTargetsUseCase: ListFolderLevelPermissionsTargets;
8
+ };
9
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getListFolderLevelPermissionsTargets = void 0;
7
+ var _ListAdminUsersGatewayFromContext = require("./ListAdminUsersGatewayFromContext");
8
+ var _ListTeamsGatewayFromContext = require("./ListTeamsGatewayFromContext");
9
+ var _ListFolderLevelPermissionsTargets = require("./ListFolderLevelPermissionsTargets");
10
+ const getListFolderLevelPermissionsTargets = params => {
11
+ const listAdminUsersGateway = new _ListAdminUsersGatewayFromContext.ListAdminUsersGatewayFromContext(params.context);
12
+ const listTeamsGateway = new _ListTeamsGatewayFromContext.ListTeamsGatewayFromContext(params.context);
13
+ const listFolderLevelPermissionsTargetsUseCase = new _ListFolderLevelPermissionsTargets.ListFolderLevelPermissionsTargets(listAdminUsersGateway, listTeamsGateway);
14
+ return {
15
+ listFolderLevelPermissionsTargetsUseCase
16
+ };
17
+ };
18
+ exports.getListFolderLevelPermissionsTargets = getListFolderLevelPermissionsTargets;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ListAdminUsersGatewayFromContext","require","_ListTeamsGatewayFromContext","_ListFolderLevelPermissionsTargets","getListFolderLevelPermissionsTargets","params","listAdminUsersGateway","ListAdminUsersGatewayFromContext","context","listTeamsGateway","ListTeamsGatewayFromContext","listFolderLevelPermissionsTargetsUseCase","ListFolderLevelPermissionsTargets","exports"],"sources":["index.ts"],"sourcesContent":["import { ListAdminUsersGatewayFromContext } from \"./ListAdminUsersGatewayFromContext\";\nimport { ListTeamsGatewayFromContext } from \"./ListTeamsGatewayFromContext\";\nimport { ListFolderLevelPermissionsTargets } from \"./ListFolderLevelPermissionsTargets\";\nimport type { AcoContext } from \"~/types\";\n\ninterface GetListFolderLevelPermissionsTargetsParams {\n context: AcoContext;\n}\n\nexport const getListFolderLevelPermissionsTargets = (\n params: GetListFolderLevelPermissionsTargetsParams\n) => {\n const listAdminUsersGateway = new ListAdminUsersGatewayFromContext(params.context);\n const listTeamsGateway = new ListTeamsGatewayFromContext(params.context);\n\n const listFolderLevelPermissionsTargetsUseCase = new ListFolderLevelPermissionsTargets(\n listAdminUsersGateway,\n listTeamsGateway\n );\n\n return {\n listFolderLevelPermissionsTargetsUseCase\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iCAAA,GAAAC,OAAA;AACA,IAAAC,4BAAA,GAAAD,OAAA;AACA,IAAAE,kCAAA,GAAAF,OAAA;AAOO,MAAMG,oCAAoC,GAC7CC,MAAkD,IACjD;EACD,MAAMC,qBAAqB,GAAG,IAAIC,kEAAgC,CAACF,MAAM,CAACG,OAAO,CAAC;EAClF,MAAMC,gBAAgB,GAAG,IAAIC,wDAA2B,CAACL,MAAM,CAACG,OAAO,CAAC;EAExE,MAAMG,wCAAwC,GAAG,IAAIC,oEAAiC,CAClFN,qBAAqB,EACrBG,gBACJ,CAAC;EAED,OAAO;IACHE;EACJ,CAAC;AACL,CAAC;AAACE,OAAA,CAAAT,oCAAA,GAAAA,oCAAA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import type { Folder, ListFoldersParams } from "../../folder.types";
2
+ import type { ListMeta } from "../../../types";
3
+ export interface IListFolders {
4
+ execute: (params: ListFoldersParams) => Promise<[Folder[], ListMeta]>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IListFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IListFolders.ts"],"sourcesContent":["import type { Folder, ListFoldersParams } from \"~/folder/folder.types\";\nimport type { ListMeta } from \"~/types\";\n\nexport interface IListFolders {\n execute: (params: ListFoldersParams) => Promise<[Folder[], ListMeta]>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { IListFolders } from "./IListFolders";
2
+ import type { AcoFolderStorageOperations, Folder, ListFoldersParams } from "../../folder.types";
3
+ import type { ListMeta } from "../../../types";
4
+ export declare class ListFolders implements IListFolders {
5
+ private readonly listOperation;
6
+ constructor(listOperation: AcoFolderStorageOperations["listFolders"]);
7
+ execute(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;
8
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListFolders = void 0;
7
+ class ListFolders {
8
+ constructor(listOperation) {
9
+ this.listOperation = listOperation;
10
+ }
11
+ async execute(params) {
12
+ return await this.listOperation(params);
13
+ }
14
+ }
15
+ exports.ListFolders = ListFolders;
16
+
17
+ //# sourceMappingURL=ListFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListFolders","constructor","listOperation","execute","params","exports"],"sources":["ListFolders.ts"],"sourcesContent":["import type { IListFolders } from \"./IListFolders\";\nimport type { AcoFolderStorageOperations, Folder, ListFoldersParams } from \"~/folder/folder.types\";\nimport type { ListMeta } from \"~/types\";\n\nexport class ListFolders implements IListFolders {\n private readonly listOperation: AcoFolderStorageOperations[\"listFolders\"];\n\n constructor(listOperation: AcoFolderStorageOperations[\"listFolders\"]) {\n this.listOperation = listOperation;\n }\n\n async execute(params: ListFoldersParams): Promise<[Folder[], ListMeta]> {\n return await this.listOperation(params);\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,WAAW,CAAyB;EAG7CC,WAAWA,CAACC,aAAwD,EAAE;IAClE,IAAI,CAACA,aAAa,GAAGA,aAAa;EACtC;EAEA,MAAMC,OAAOA,CAACC,MAAyB,EAAiC;IACpE,OAAO,MAAM,IAAI,CAACF,aAAa,CAACE,MAAM,CAAC;EAC3C;AACJ;AAACC,OAAA,CAAAL,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import type { Folder, ListFoldersParams } from "../../folder.types";
2
+ import type { IListFolders } from "./IListFolders";
3
+ import type { FolderLevelPermissions } from "../../../flp";
4
+ import type { ListMeta } from "../../../types";
5
+ export declare class ListFoldersWithFolderLevelPermissions implements IListFolders {
6
+ private flpCatalog;
7
+ private folderLevelPermissions;
8
+ private readonly decoretee;
9
+ constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IListFolders);
10
+ execute(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;
11
+ private hasFlp;
12
+ private getFlp;
13
+ private setFlp;
14
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListFoldersWithFolderLevelPermissions = void 0;
7
+ var _constants = require("../../../constants");
8
+ class ListFoldersWithFolderLevelPermissions {
9
+ flpCatalog = new Map();
10
+ constructor(folderLevelPermissions, decoretee) {
11
+ this.folderLevelPermissions = folderLevelPermissions;
12
+ this.decoretee = decoretee;
13
+ }
14
+ async execute(params) {
15
+ const [folders, meta] = await this.decoretee.execute(params);
16
+
17
+ // Fetch FLP records for ROOT folders and populate the catalog.
18
+ const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({
19
+ where: {
20
+ type: params.where.type,
21
+ parentId: _constants.ROOT_FOLDER
22
+ }
23
+ });
24
+ rootFlps.forEach(flp => this.setFlp(flp.id, flp.permissions));
25
+
26
+ // Fetch FLP for folders not already in the catalog.
27
+ await Promise.all(folders.map(async folder => {
28
+ if (!this.hasFlp(folder.id)) {
29
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
30
+ this.setFlp(folder.id, permissions);
31
+ }
32
+ }));
33
+
34
+ // Filter folders based on permissions.
35
+ const foldersWithPermissions = await Promise.all(folders.map(async folder => {
36
+ const permissions = this.getFlp(folder.id);
37
+ if (!permissions) {
38
+ return null;
39
+ }
40
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
41
+ permissions,
42
+ rwd: "r"
43
+ });
44
+ if (!canAccessFolder) {
45
+ return null;
46
+ }
47
+ const folderWithFlp = {
48
+ ...folder,
49
+ permissions
50
+ };
51
+ return canAccessFolder ? folderWithFlp : null;
52
+ }));
53
+ return [foldersWithPermissions.filter(Boolean), meta];
54
+ }
55
+ hasFlp(id) {
56
+ return this.flpCatalog.has(id);
57
+ }
58
+ getFlp(id) {
59
+ return this.flpCatalog.get(id);
60
+ }
61
+ setFlp(id, permissions) {
62
+ this.flpCatalog.set(id, permissions);
63
+ }
64
+ }
65
+ exports.ListFoldersWithFolderLevelPermissions = ListFoldersWithFolderLevelPermissions;
66
+
67
+ //# sourceMappingURL=ListFoldersWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","ListFoldersWithFolderLevelPermissions","flpCatalog","Map","constructor","folderLevelPermissions","decoretee","execute","params","folders","meta","rootFlps","listFolderLevelPermissions","where","type","parentId","ROOT_FOLDER","forEach","flp","setFlp","id","permissions","Promise","all","map","folder","hasFlp","getFolderLevelPermissions","foldersWithPermissions","getFlp","canAccessFolder","rwd","folderWithFlp","filter","Boolean","has","get","set","exports"],"sources":["ListFoldersWithFolderLevelPermissions.ts"],"sourcesContent":["import type { Folder, ListFoldersParams } from \"~/folder/folder.types\";\nimport type { IListFolders } from \"./IListFolders\";\nimport type { FolderLevelPermissions } from \"~/flp\";\nimport type { FolderPermission } from \"~/flp/flp.types\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport type { ListMeta } from \"~/types\";\n\nexport class ListFoldersWithFolderLevelPermissions implements IListFolders {\n private flpCatalog: Map<string, FolderPermission[]> = new Map();\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly decoretee: IListFolders;\n\n constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IListFolders) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: ListFoldersParams): Promise<[Folder[], ListMeta]> {\n const [folders, meta] = await this.decoretee.execute(params);\n\n // Fetch FLP records for ROOT folders and populate the catalog.\n const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({\n where: {\n type: params.where.type,\n parentId: ROOT_FOLDER\n }\n });\n\n rootFlps.forEach(flp => this.setFlp(flp.id, flp.permissions));\n\n // Fetch FLP for folders not already in the catalog.\n await Promise.all(\n folders.map(async folder => {\n if (!this.hasFlp(folder.id)) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n folder.id\n );\n this.setFlp(folder.id, permissions);\n }\n })\n );\n\n // Filter folders based on permissions.\n const foldersWithPermissions = await Promise.all(\n folders.map(async folder => {\n const permissions = this.getFlp(folder.id);\n if (!permissions) {\n return null;\n }\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"r\"\n });\n\n if (!canAccessFolder) {\n return null;\n }\n\n const folderWithFlp = { ...folder, permissions };\n return canAccessFolder ? folderWithFlp : null;\n })\n );\n\n return [foldersWithPermissions.filter(Boolean) as Folder[], meta];\n }\n\n private hasFlp(id: string) {\n return this.flpCatalog.has(id);\n }\n\n private getFlp(id: string) {\n return this.flpCatalog.get(id);\n }\n\n private setFlp(id: string, permissions: FolderPermission[]) {\n this.flpCatalog.set(id, permissions);\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAGO,MAAMC,qCAAqC,CAAyB;EAC/DC,UAAU,GAAoC,IAAIC,GAAG,CAAC,CAAC;EAI/DC,WAAWA,CAACC,sBAA8C,EAAEC,SAAuB,EAAE;IACjF,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAAyB,EAAiC;IACpE,MAAM,CAACC,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;;IAE5D;IACA,MAAMG,QAAQ,GAAG,MAAM,IAAI,CAACN,sBAAsB,CAACO,0BAA0B,CAAC;MAC1EC,KAAK,EAAE;QACHC,IAAI,EAAEN,MAAM,CAACK,KAAK,CAACC,IAAI;QACvBC,QAAQ,EAAEC;MACd;IACJ,CAAC,CAAC;IAEFL,QAAQ,CAACM,OAAO,CAACC,GAAG,IAAI,IAAI,CAACC,MAAM,CAACD,GAAG,CAACE,EAAE,EAAEF,GAAG,CAACG,WAAW,CAAC,CAAC;;IAE7D;IACA,MAAMC,OAAO,CAACC,GAAG,CACbd,OAAO,CAACe,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,IAAI,CAAC,IAAI,CAACC,MAAM,CAACD,MAAM,CAACL,EAAE,CAAC,EAAE;QACzB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAAChB,sBAAsB,CAACsB,yBAAyB,CAC3EF,MAAM,CAACL,EACX,CAAC;QACD,IAAI,CAACD,MAAM,CAACM,MAAM,CAACL,EAAE,EAAEC,WAAW,CAAC;MACvC;IACJ,CAAC,CACL,CAAC;;IAED;IACA,MAAMO,sBAAsB,GAAG,MAAMN,OAAO,CAACC,GAAG,CAC5Cd,OAAO,CAACe,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,MAAMJ,WAAW,GAAG,IAAI,CAACQ,MAAM,CAACJ,MAAM,CAACL,EAAE,CAAC;MAC1C,IAAI,CAACC,WAAW,EAAE;QACd,OAAO,IAAI;MACf;MAEA,MAAMS,eAAe,GAAG,MAAM,IAAI,CAACzB,sBAAsB,CAACyB,eAAe,CAAC;QACtET,WAAW;QACXU,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,IAAI,CAACD,eAAe,EAAE;QAClB,OAAO,IAAI;MACf;MAEA,MAAME,aAAa,GAAG;QAAE,GAAGP,MAAM;QAAEJ;MAAY,CAAC;MAChD,OAAOS,eAAe,GAAGE,aAAa,GAAG,IAAI;IACjD,CAAC,CACL,CAAC;IAED,OAAO,CAACJ,sBAAsB,CAACK,MAAM,CAACC,OAAO,CAAC,EAAcxB,IAAI,CAAC;EACrE;EAEQgB,MAAMA,CAACN,EAAU,EAAE;IACvB,OAAO,IAAI,CAAClB,UAAU,CAACiC,GAAG,CAACf,EAAE,CAAC;EAClC;EAEQS,MAAMA,CAACT,EAAU,EAAE;IACvB,OAAO,IAAI,CAAClB,UAAU,CAACkC,GAAG,CAAChB,EAAE,CAAC;EAClC;EAEQD,MAAMA,CAACC,EAAU,EAAEC,WAA+B,EAAE;IACxD,IAAI,CAACnB,UAAU,CAACmC,GAAG,CAACjB,EAAE,EAAEC,WAAW,CAAC;EACxC;AACJ;AAACiB,OAAA,CAAArC,qCAAA,GAAAA,qCAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { AcoFolderStorageOperations } from "../../folder.types";
2
+ import { ListFolders } from "./ListFolders";
3
+ import { ListFoldersWithFolderLevelPermissions } from "./ListFoldersWithFolderLevelPermissions";
4
+ import type { FolderLevelPermissions } from "../../../flp";
5
+ interface ListFoldersUseCasesParams {
6
+ listOperation: AcoFolderStorageOperations["listFolders"];
7
+ folderLevelPermissions: FolderLevelPermissions;
8
+ }
9
+ export declare const getListFoldersUseCases: (params: ListFoldersUseCasesParams) => {
10
+ listFoldersUseCase: ListFoldersWithFolderLevelPermissions;
11
+ listFoldersUseCaseWithoutPermissions: ListFolders;
12
+ };
13
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getListFoldersUseCases = void 0;
7
+ var _ListFolders = require("./ListFolders");
8
+ var _ListFoldersWithFolderLevelPermissions = require("./ListFoldersWithFolderLevelPermissions");
9
+ const getListFoldersUseCases = params => {
10
+ const listFolders = new _ListFolders.ListFolders(params.listOperation);
11
+ const listFoldersUseCase = new _ListFoldersWithFolderLevelPermissions.ListFoldersWithFolderLevelPermissions(params.folderLevelPermissions, listFolders);
12
+ return {
13
+ listFoldersUseCase,
14
+ listFoldersUseCaseWithoutPermissions: listFolders
15
+ };
16
+ };
17
+ exports.getListFoldersUseCases = getListFoldersUseCases;
18
+
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ListFolders","require","_ListFoldersWithFolderLevelPermissions","getListFoldersUseCases","params","listFolders","ListFolders","listOperation","listFoldersUseCase","ListFoldersWithFolderLevelPermissions","folderLevelPermissions","listFoldersUseCaseWithoutPermissions","exports"],"sources":["index.ts"],"sourcesContent":["import type { AcoFolderStorageOperations } from \"~/folder/folder.types\";\nimport { ListFolders } from \"./ListFolders\";\nimport { ListFoldersWithFolderLevelPermissions } from \"./ListFoldersWithFolderLevelPermissions\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\ninterface ListFoldersUseCasesParams {\n listOperation: AcoFolderStorageOperations[\"listFolders\"];\n folderLevelPermissions: FolderLevelPermissions;\n}\n\nexport const getListFoldersUseCases = (params: ListFoldersUseCasesParams) => {\n const listFolders = new ListFolders(params.listOperation);\n const listFoldersUseCase = new ListFoldersWithFolderLevelPermissions(\n params.folderLevelPermissions,\n listFolders\n );\n\n return {\n listFoldersUseCase,\n listFoldersUseCaseWithoutPermissions: listFolders\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,sCAAA,GAAAD,OAAA;AAQO,MAAME,sBAAsB,GAAIC,MAAiC,IAAK;EACzE,MAAMC,WAAW,GAAG,IAAIC,wBAAW,CAACF,MAAM,CAACG,aAAa,CAAC;EACzD,MAAMC,kBAAkB,GAAG,IAAIC,4EAAqC,CAChEL,MAAM,CAACM,sBAAsB,EAC7BL,WACJ,CAAC;EAED,OAAO;IACHG,kBAAkB;IAClBG,oCAAoC,EAAEN;EAC1C,CAAC;AACL,CAAC;AAACO,OAAA,CAAAT,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { Folder, UpdateFolderParams } from "../../folder.types";
2
+ export interface IUpdateFolder {
3
+ execute: (id: string, data: UpdateFolderParams) => Promise<Folder>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IUpdateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IUpdateFolder.ts"],"sourcesContent":["import type { Folder, UpdateFolderParams } from \"~/folder/folder.types\";\n\nexport interface IUpdateFolder {\n execute: (id: string, data: UpdateFolderParams) => Promise<Folder>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IUpdateFolder } from "./IUpdateFolder";
2
+ import type { AcoFolderStorageOperations, Folder, UpdateFolderParams } from "../../folder.types";
3
+ export declare class UpdateFolder implements IUpdateFolder {
4
+ private readonly updateOperation;
5
+ constructor(updateOperation: AcoFolderStorageOperations["updateFolder"]);
6
+ execute(id: string, params: UpdateFolderParams): Promise<Folder>;
7
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UpdateFolder = void 0;
7
+ class UpdateFolder {
8
+ constructor(updateOperation) {
9
+ this.updateOperation = updateOperation;
10
+ }
11
+ async execute(id, params) {
12
+ return await this.updateOperation({
13
+ id,
14
+ data: params
15
+ });
16
+ }
17
+ }
18
+ exports.UpdateFolder = UpdateFolder;
19
+
20
+ //# sourceMappingURL=UpdateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UpdateFolder","constructor","updateOperation","execute","id","params","data","exports"],"sources":["UpdateFolder.ts"],"sourcesContent":["import type { IUpdateFolder } from \"./IUpdateFolder\";\nimport type { AcoFolderStorageOperations, Folder, UpdateFolderParams } from \"~/folder/folder.types\";\n\nexport class UpdateFolder implements IUpdateFolder {\n private readonly updateOperation: AcoFolderStorageOperations[\"updateFolder\"];\n\n constructor(updateOperation: AcoFolderStorageOperations[\"updateFolder\"]) {\n this.updateOperation = updateOperation;\n }\n\n async execute(id: string, params: UpdateFolderParams): Promise<Folder> {\n return await this.updateOperation({ id, 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,EAAU,EAAEC,MAA0B,EAAmB;IACnE,OAAO,MAAM,IAAI,CAACH,eAAe,CAAC;MAAEE,EAAE;MAAEE,IAAI,EAAED;IAAO,CAAC,CAAC;EAC3D;AACJ;AAACE,OAAA,CAAAP,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { UpdateFolderUseCasesTopics } from "./index";
2
+ import type { AcoFolderStorageOperations, Folder, UpdateFolderParams } from "../../folder.types";
3
+ import type { IUpdateFolder } from "./IUpdateFolder";
4
+ export declare class UpdateFolderWithEvents implements IUpdateFolder {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: UpdateFolderUseCasesTopics, getOperation: AcoFolderStorageOperations["getFolder"], decoretee: IUpdateFolder);
9
+ execute(id: string, params: UpdateFolderParams): Promise<Folder>;
10
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UpdateFolderWithEvents = void 0;
7
+ class UpdateFolderWithEvents {
8
+ constructor(topics, getOperation, decoretee) {
9
+ this.topics = topics;
10
+ this.getOperation = getOperation;
11
+ this.decoretee = decoretee;
12
+ }
13
+ async execute(id, params) {
14
+ const original = await this.getOperation({
15
+ id
16
+ });
17
+ await this.topics.onFolderBeforeUpdate.publish({
18
+ original,
19
+ input: {
20
+ id,
21
+ data: params
22
+ }
23
+ });
24
+ const folder = await this.decoretee.execute(id, params);
25
+ await this.topics.onFolderAfterUpdate.publish({
26
+ original,
27
+ input: {
28
+ id,
29
+ data: params
30
+ },
31
+ folder
32
+ });
33
+ return folder;
34
+ }
35
+ }
36
+ exports.UpdateFolderWithEvents = UpdateFolderWithEvents;
37
+
38
+ //# sourceMappingURL=UpdateFolderWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UpdateFolderWithEvents","constructor","topics","getOperation","decoretee","execute","id","params","original","onFolderBeforeUpdate","publish","input","data","folder","onFolderAfterUpdate","exports"],"sources":["UpdateFolderWithEvents.ts"],"sourcesContent":["import type { UpdateFolderUseCasesTopics } from \"./index\";\nimport type { AcoFolderStorageOperations, Folder, UpdateFolderParams } from \"~/folder/folder.types\";\nimport type { IUpdateFolder } from \"~/folder/useCases/UpdateFolder/IUpdateFolder\";\n\nexport class UpdateFolderWithEvents implements IUpdateFolder {\n private topics: UpdateFolderUseCasesTopics;\n private readonly getOperation: AcoFolderStorageOperations[\"getFolder\"];\n private readonly decoretee: IUpdateFolder;\n\n constructor(\n topics: UpdateFolderUseCasesTopics,\n getOperation: AcoFolderStorageOperations[\"getFolder\"],\n decoretee: IUpdateFolder\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(id: string, params: UpdateFolderParams): Promise<Folder> {\n const original = await this.getOperation({ id });\n await this.topics.onFolderBeforeUpdate.publish({ original, input: { id, data: params } });\n const folder = await this.decoretee.execute(id, params);\n await this.topics.onFolderAfterUpdate.publish({\n original,\n input: { id, data: params },\n folder\n });\n return folder;\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,EAAU,EAAEC,MAA0B,EAAmB;IACnE,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACL,YAAY,CAAC;MAAEG;IAAG,CAAC,CAAC;IAChD,MAAM,IAAI,CAACJ,MAAM,CAACO,oBAAoB,CAACC,OAAO,CAAC;MAAEF,QAAQ;MAAEG,KAAK,EAAE;QAAEL,EAAE;QAAEM,IAAI,EAAEL;MAAO;IAAE,CAAC,CAAC;IACzF,MAAMM,MAAM,GAAG,MAAM,IAAI,CAACT,SAAS,CAACC,OAAO,CAACC,EAAE,EAAEC,MAAM,CAAC;IACvD,MAAM,IAAI,CAACL,MAAM,CAACY,mBAAmB,CAACJ,OAAO,CAAC;MAC1CF,QAAQ;MACRG,KAAK,EAAE;QAAEL,EAAE;QAAEM,IAAI,EAAEL;MAAO,CAAC;MAC3BM;IACJ,CAAC,CAAC;IACF,OAAOA,MAAM;EACjB;AACJ;AAACE,OAAA,CAAAf,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import type { AcoFolderStorageOperations, UpdateFolderParams } from "../../folder.types";
2
+ import type { IUpdateFolder } from "./IUpdateFolder";
3
+ import type { FolderLevelPermissions } from "../../../flp";
4
+ export declare class UpdateFolderWithFolderLevelPermissions implements IUpdateFolder {
5
+ private folderLevelPermissions;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(folderLevelPermissions: FolderLevelPermissions, getOperation: AcoFolderStorageOperations["getFolder"], decoretee: IUpdateFolder);
9
+ execute(id: string, params: UpdateFolderParams): Promise<{
10
+ permissions: import("@webiny/shared-aco/flp/flp.types").FolderPermission[];
11
+ id: string;
12
+ entryId: string;
13
+ createdOn: string;
14
+ modifiedOn: string | null;
15
+ savedOn: string;
16
+ createdBy: import("../../../types").User;
17
+ modifiedBy: import("../../../types").User | null;
18
+ savedBy: import("../../../types").User;
19
+ title: string;
20
+ slug: string;
21
+ type: string;
22
+ parentId?: string | null | undefined;
23
+ path: string;
24
+ extensions?: Record<string, any> | undefined;
25
+ }>;
26
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.UpdateFolderWithFolderLevelPermissions = void 0;
8
+ var _apiSecurity = require("@webiny/api-security");
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
+ class UpdateFolderWithFolderLevelPermissions {
11
+ constructor(folderLevelPermissions, getOperation, decoretee) {
12
+ this.folderLevelPermissions = folderLevelPermissions;
13
+ this.getOperation = getOperation;
14
+ this.decoretee = decoretee;
15
+ }
16
+ async execute(id, params) {
17
+ const original = await this.getOperation({
18
+ id
19
+ });
20
+ const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);
21
+
22
+ // Let's ensure current identity's permission allows the update operation.
23
+ await this.folderLevelPermissions.ensureCanAccessFolder({
24
+ permissions: originalPermissions,
25
+ rwd: "w"
26
+ });
27
+ const permissions = await this.folderLevelPermissions.getDefaultPermissions(params.permissions ?? []);
28
+
29
+ // Check if the user still has access to the folder with the provided permissions.
30
+ const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({
31
+ permissions,
32
+ rwd: "w"
33
+ });
34
+ if (!stillHasAccess) {
35
+ throw new _error.default(`Cannot continue because you would loose access to this folder.`, "CANNOT_LOOSE_FOLDER_ACCESS");
36
+ }
37
+
38
+ // Validate data.
39
+ if (Array.isArray(params.permissions)) {
40
+ params.permissions.forEach(permission => {
41
+ const targetIsValid = permission.target.startsWith("admin:") || permission.target.startsWith("team:");
42
+ if (!targetIsValid) {
43
+ throw new Error(`Permission target "${permission.target}" is not valid.`);
44
+ }
45
+ if (permission.inheritedFrom) {
46
+ throw new Error(`Permission "inheritedFrom" cannot be set manually.`);
47
+ }
48
+ });
49
+ }
50
+
51
+ // Parent change is not allowed if the user doesn't have access to the new parent.
52
+ if (params.parentId && params.parentId !== original.parentId) {
53
+ try {
54
+ // Getting the parent folder permissions will throw an error if the user doesn't have access.
55
+ const parentPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
56
+ await this.folderLevelPermissions.ensureCanAccessFolder({
57
+ permissions: parentPermissions,
58
+ rwd: "r"
59
+ });
60
+ } catch (e) {
61
+ if (e instanceof _apiSecurity.NotAuthorizedError) {
62
+ throw new _error.default(`Cannot move folder to a new parent because you don't have access to the new parent.`, "CANNOT_MOVE_FOLDER_TO_NEW_PARENT");
63
+ }
64
+
65
+ // If we didn't receive the expected error, we still want to throw it.
66
+ throw e;
67
+ }
68
+ }
69
+ const folder = await this.decoretee.execute(id, params);
70
+ return {
71
+ ...folder,
72
+ permissions
73
+ };
74
+ }
75
+ }
76
+ exports.UpdateFolderWithFolderLevelPermissions = UpdateFolderWithFolderLevelPermissions;
77
+
78
+ //# sourceMappingURL=UpdateFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_apiSecurity","require","_error","_interopRequireDefault","UpdateFolderWithFolderLevelPermissions","constructor","folderLevelPermissions","getOperation","decoretee","execute","id","params","original","originalPermissions","getFolderLevelPermissions","ensureCanAccessFolder","permissions","rwd","getDefaultPermissions","stillHasAccess","canAccessFolder","WError","Array","isArray","forEach","permission","targetIsValid","target","startsWith","Error","inheritedFrom","parentId","parentPermissions","e","NotAuthorizedError","folder","exports"],"sources":["UpdateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport WError from \"@webiny/error\";\nimport type { AcoFolderStorageOperations, UpdateFolderParams } from \"~/folder/folder.types\";\nimport type { IUpdateFolder } from \"./IUpdateFolder\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport class UpdateFolderWithFolderLevelPermissions implements IUpdateFolder {\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly getOperation: AcoFolderStorageOperations[\"getFolder\"];\n private readonly decoretee: IUpdateFolder;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions,\n getOperation: AcoFolderStorageOperations[\"getFolder\"],\n decoretee: IUpdateFolder\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(id: string, params: UpdateFolderParams) {\n const original = await this.getOperation({ id });\n const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);\n\n // Let's ensure current identity's permission allows the update operation.\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions: originalPermissions,\n rwd: \"w\"\n });\n\n const permissions = await this.folderLevelPermissions.getDefaultPermissions(\n params.permissions ?? []\n );\n\n // Check if the user still has access to the folder with the provided permissions.\n const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n\n if (!stillHasAccess) {\n throw new WError(\n `Cannot continue because you would loose access to this folder.`,\n \"CANNOT_LOOSE_FOLDER_ACCESS\"\n );\n }\n\n // Validate data.\n if (Array.isArray(params.permissions)) {\n params.permissions.forEach(permission => {\n const targetIsValid =\n permission.target.startsWith(\"admin:\") || permission.target.startsWith(\"team:\");\n if (!targetIsValid) {\n throw new Error(`Permission target \"${permission.target}\" is not valid.`);\n }\n\n if (permission.inheritedFrom) {\n throw new Error(`Permission \"inheritedFrom\" cannot be set manually.`);\n }\n });\n }\n\n // Parent change is not allowed if the user doesn't have access to the new parent.\n if (params.parentId && params.parentId !== original.parentId) {\n try {\n // Getting the parent folder permissions will throw an error if the user doesn't have access.\n const parentPermissions =\n await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);\n\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions: parentPermissions,\n rwd: \"r\"\n });\n } catch (e) {\n if (e instanceof NotAuthorizedError) {\n throw new WError(\n `Cannot move folder to a new parent because you don't have access to the new parent.`,\n \"CANNOT_MOVE_FOLDER_TO_NEW_PARENT\"\n );\n }\n\n // If we didn't receive the expected error, we still want to throw it.\n throw e;\n }\n }\n\n const folder = await this.decoretee.execute(id, params);\n\n return {\n ...folder,\n permissions\n };\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKO,MAAMG,sCAAsC,CAA0B;EAKzEC,WAAWA,CACPC,sBAA8C,EAC9CC,YAAqD,EACrDC,SAAwB,EAC1B;IACE,IAAI,CAACF,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAEC,MAA0B,EAAE;IAClD,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACL,YAAY,CAAC;MAAEG;IAAG,CAAC,CAAC;IAChD,MAAMG,mBAAmB,GAAG,MAAM,IAAI,CAACP,sBAAsB,CAACQ,yBAAyB,CAACJ,EAAE,CAAC;;IAE3F;IACA,MAAM,IAAI,CAACJ,sBAAsB,CAACS,qBAAqB,CAAC;MACpDC,WAAW,EAAEH,mBAAmB;MAChCI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,MAAMD,WAAW,GAAG,MAAM,IAAI,CAACV,sBAAsB,CAACY,qBAAqB,CACvEP,MAAM,CAACK,WAAW,IAAI,EAC1B,CAAC;;IAED;IACA,MAAMG,cAAc,GAAG,MAAM,IAAI,CAACb,sBAAsB,CAACc,eAAe,CAAC;MACrEJ,WAAW;MACXC,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACE,cAAc,EAAE;MACjB,MAAM,IAAIE,cAAM,CACZ,gEAAgE,EAChE,4BACJ,CAAC;IACL;;IAEA;IACA,IAAIC,KAAK,CAACC,OAAO,CAACZ,MAAM,CAACK,WAAW,CAAC,EAAE;MACnCL,MAAM,CAACK,WAAW,CAACQ,OAAO,CAACC,UAAU,IAAI;QACrC,MAAMC,aAAa,GACfD,UAAU,CAACE,MAAM,CAACC,UAAU,CAAC,QAAQ,CAAC,IAAIH,UAAU,CAACE,MAAM,CAACC,UAAU,CAAC,OAAO,CAAC;QACnF,IAAI,CAACF,aAAa,EAAE;UAChB,MAAM,IAAIG,KAAK,CAAC,sBAAsBJ,UAAU,CAACE,MAAM,iBAAiB,CAAC;QAC7E;QAEA,IAAIF,UAAU,CAACK,aAAa,EAAE;UAC1B,MAAM,IAAID,KAAK,CAAC,oDAAoD,CAAC;QACzE;MACJ,CAAC,CAAC;IACN;;IAEA;IACA,IAAIlB,MAAM,CAACoB,QAAQ,IAAIpB,MAAM,CAACoB,QAAQ,KAAKnB,QAAQ,CAACmB,QAAQ,EAAE;MAC1D,IAAI;QACA;QACA,MAAMC,iBAAiB,GACnB,MAAM,IAAI,CAAC1B,sBAAsB,CAACQ,yBAAyB,CAACH,MAAM,CAACoB,QAAQ,CAAC;QAEhF,MAAM,IAAI,CAACzB,sBAAsB,CAACS,qBAAqB,CAAC;UACpDC,WAAW,EAAEgB,iBAAiB;UAC9Bf,GAAG,EAAE;QACT,CAAC,CAAC;MACN,CAAC,CAAC,OAAOgB,CAAC,EAAE;QACR,IAAIA,CAAC,YAAYC,+BAAkB,EAAE;UACjC,MAAM,IAAIb,cAAM,CACZ,qFAAqF,EACrF,kCACJ,CAAC;QACL;;QAEA;QACA,MAAMY,CAAC;MACX;IACJ;IAEA,MAAME,MAAM,GAAG,MAAM,IAAI,CAAC3B,SAAS,CAACC,OAAO,CAACC,EAAE,EAAEC,MAAM,CAAC;IAEvD,OAAO;MACH,GAAGwB,MAAM;MACTnB;IACJ,CAAC;EACL;AACJ;AAACoB,OAAA,CAAAhC,sCAAA,GAAAA,sCAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import type { AcoFolderStorageOperations, OnFolderAfterUpdateTopicParams, OnFolderBeforeUpdateTopicParams } from "../../folder.types";
3
+ import { UpdateFolderWithFolderLevelPermissions } from "./UpdateFolderWithFolderLevelPermissions";
4
+ import type { FolderLevelPermissions } from "../../../flp";
5
+ export interface UpdateFolderUseCasesTopics {
6
+ onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;
7
+ onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;
8
+ }
9
+ interface UpdateFolderUseCasesParams {
10
+ updateOperation: AcoFolderStorageOperations["updateFolder"];
11
+ getOperation: AcoFolderStorageOperations["getFolder"];
12
+ folderLevelPermissions: FolderLevelPermissions;
13
+ topics: UpdateFolderUseCasesTopics;
14
+ }
15
+ export declare const getUpdateFolderUseCase: (params: UpdateFolderUseCasesParams) => {
16
+ updateFolderUseCase: UpdateFolderWithFolderLevelPermissions;
17
+ };
18
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getUpdateFolderUseCase = void 0;
7
+ var _UpdateFolder = require("./UpdateFolder");
8
+ var _UpdateFolderWithEvents = require("./UpdateFolderWithEvents");
9
+ var _UpdateFolderWithFolderLevelPermissions = require("./UpdateFolderWithFolderLevelPermissions");
10
+ const getUpdateFolderUseCase = params => {
11
+ const updateFolder = new _UpdateFolder.UpdateFolder(params.updateOperation);
12
+ const updateFolderUseCaseWithEvents = new _UpdateFolderWithEvents.UpdateFolderWithEvents(params.topics, params.getOperation, updateFolder);
13
+ const updateFolderUseCase = new _UpdateFolderWithFolderLevelPermissions.UpdateFolderWithFolderLevelPermissions(params.folderLevelPermissions, params.getOperation, updateFolderUseCaseWithEvents);
14
+ return {
15
+ updateFolderUseCase
16
+ };
17
+ };
18
+ exports.getUpdateFolderUseCase = getUpdateFolderUseCase;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_UpdateFolder","require","_UpdateFolderWithEvents","_UpdateFolderWithFolderLevelPermissions","getUpdateFolderUseCase","params","updateFolder","UpdateFolder","updateOperation","updateFolderUseCaseWithEvents","UpdateFolderWithEvents","topics","getOperation","updateFolderUseCase","UpdateFolderWithFolderLevelPermissions","folderLevelPermissions","exports"],"sources":["index.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport type {\n AcoFolderStorageOperations,\n OnFolderAfterUpdateTopicParams,\n OnFolderBeforeUpdateTopicParams\n} from \"~/folder/folder.types\";\nimport { UpdateFolder } from \"./UpdateFolder\";\nimport { UpdateFolderWithEvents } from \"./UpdateFolderWithEvents\";\nimport { UpdateFolderWithFolderLevelPermissions } from \"./UpdateFolderWithFolderLevelPermissions\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport interface UpdateFolderUseCasesTopics {\n onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;\n onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;\n}\n\ninterface UpdateFolderUseCasesParams {\n updateOperation: AcoFolderStorageOperations[\"updateFolder\"];\n getOperation: AcoFolderStorageOperations[\"getFolder\"];\n folderLevelPermissions: FolderLevelPermissions;\n topics: UpdateFolderUseCasesTopics;\n}\n\nexport const getUpdateFolderUseCase = (params: UpdateFolderUseCasesParams) => {\n const updateFolder = new UpdateFolder(params.updateOperation);\n const updateFolderUseCaseWithEvents = new UpdateFolderWithEvents(\n params.topics,\n params.getOperation,\n updateFolder\n );\n const updateFolderUseCase = new UpdateFolderWithFolderLevelPermissions(\n params.folderLevelPermissions,\n params.getOperation,\n updateFolderUseCaseWithEvents\n );\n\n return {\n updateFolderUseCase\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,uCAAA,GAAAF,OAAA;AAeO,MAAMG,sBAAsB,GAAIC,MAAkC,IAAK;EAC1E,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,EAC7BV,MAAM,CAACO,YAAY,EACnBH,6BACJ,CAAC;EAED,OAAO;IACHI;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ export * from "./CreateFolder";
2
+ export * from "./DeleteFolder";
3
+ export * from "./GetAncestors";
4
+ export * from "./GetFolder";
5
+ export * from "./GetFolderHierarchy";
6
+ export * from "./ListFolderLevelPermissionsTargets";
7
+ export * from "./ListFolders";
8
+ export * from "./UpdateFolder";