@webiny/api-aco 5.43.0-beta.0 → 5.43.0-beta.2

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 (384) hide show
  1. package/apps/AcoApp.js +4 -4
  2. package/apps/AcoApp.js.map +1 -1
  3. package/constants.d.ts +3 -0
  4. package/constants.js +11 -0
  5. package/constants.js.map +1 -0
  6. package/createAcoContext.d.ts +3 -1
  7. package/createAcoContext.js +13 -99
  8. package/createAcoContext.js.map +1 -1
  9. package/createAcoHooks.js +2 -0
  10. package/createAcoHooks.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +2 -0
  12. package/createAcoStorageOperations.js +5 -3
  13. package/createAcoStorageOperations.js.map +1 -1
  14. package/createAcoTasks.d.ts +1 -0
  15. package/createAcoTasks.js +13 -0
  16. package/createAcoTasks.js.map +1 -0
  17. package/filter/filter.crud.js +7 -7
  18. package/filter/filter.crud.js.map +1 -1
  19. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  20. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  21. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  22. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  23. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  24. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  25. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  26. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  27. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  28. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  29. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  30. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  31. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  32. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  33. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  34. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  35. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  36. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  37. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  38. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  39. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  40. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  41. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  42. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  43. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  44. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  45. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  46. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  47. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  48. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  49. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  50. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  51. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  52. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  53. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  54. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  55. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  56. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  57. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  58. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  59. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  60. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  61. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  62. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  63. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  64. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  65. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  66. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  67. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  68. package/flp/FolderLevelPermissions/index.js +116 -0
  69. package/flp/FolderLevelPermissions/index.js.map +1 -0
  70. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  71. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  72. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  73. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  74. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  75. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  76. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  77. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  78. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  79. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  80. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  81. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  82. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  83. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  84. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  85. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  86. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  87. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  88. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  89. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  90. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  91. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  92. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  93. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  94. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  95. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  96. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  97. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  98. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  99. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  100. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  101. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  102. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  103. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  104. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  105. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  106. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  107. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  108. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  109. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  110. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  111. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  112. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  113. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  114. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  115. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  116. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  117. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  118. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  119. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  120. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  121. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  122. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  123. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  124. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +10 -0
  125. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +53 -0
  126. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  127. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  128. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +40 -0
  129. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  130. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  131. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  132. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  133. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  134. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  135. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  136. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  137. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  138. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  139. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  140. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  141. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  142. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  143. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  144. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  145. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  146. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  147. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  148. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  149. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  150. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  151. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  152. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  153. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  154. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  155. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  156. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  157. package/flp/flp.crud.d.ts +9 -0
  158. package/flp/flp.crud.js +172 -0
  159. package/flp/flp.crud.js.map +1 -0
  160. package/flp/flp.so.d.ts +26 -0
  161. package/flp/flp.so.js +304 -0
  162. package/flp/flp.so.js.map +1 -0
  163. package/flp/flp.types.d.ts +159 -0
  164. package/flp/flp.types.js +7 -0
  165. package/flp/flp.types.js.map +1 -0
  166. package/flp/hooks/index.d.ts +2 -0
  167. package/flp/hooks/index.js +17 -0
  168. package/flp/hooks/index.js.map +1 -0
  169. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  170. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  171. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  172. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  173. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  174. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  175. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  176. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  177. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  178. package/flp/index.d.ts +5 -0
  179. package/flp/index.js +62 -0
  180. package/flp/index.js.map +1 -0
  181. package/flp/tasks/createFlp.task.d.ts +2 -0
  182. package/flp/tasks/createFlp.task.js +49 -0
  183. package/flp/tasks/createFlp.task.js.map +1 -0
  184. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  185. package/flp/tasks/deleteFlp.task.js +49 -0
  186. package/flp/tasks/deleteFlp.task.js.map +1 -0
  187. package/flp/tasks/index.d.ts +5 -0
  188. package/flp/tasks/index.js +20 -0
  189. package/flp/tasks/index.js.map +1 -0
  190. package/flp/tasks/syncFlp.task.d.ts +2 -0
  191. package/flp/tasks/syncFlp.task.js +126 -0
  192. package/flp/tasks/syncFlp.task.js.map +1 -0
  193. package/flp/tasks/updateFlp.task.d.ts +2 -0
  194. package/flp/tasks/updateFlp.task.js +55 -0
  195. package/flp/tasks/updateFlp.task.js.map +1 -0
  196. package/flp/useCases/CreateFlp.d.ts +7 -0
  197. package/flp/useCases/CreateFlp.js +52 -0
  198. package/flp/useCases/CreateFlp.js.map +1 -0
  199. package/flp/useCases/DeleteFlp.d.ts +6 -0
  200. package/flp/useCases/DeleteFlp.js +30 -0
  201. package/flp/useCases/DeleteFlp.js.map +1 -0
  202. package/flp/useCases/Path.d.ts +3 -0
  203. package/flp/useCases/Path.js +18 -0
  204. package/flp/useCases/Path.js.map +1 -0
  205. package/flp/useCases/Permissions.d.ts +4 -0
  206. package/flp/useCases/Permissions.js +38 -0
  207. package/flp/useCases/Permissions.js.map +1 -0
  208. package/flp/useCases/UpdateFlp.d.ts +25 -0
  209. package/flp/useCases/UpdateFlp.js +182 -0
  210. package/flp/useCases/UpdateFlp.js.map +1 -0
  211. package/flp/useCases/index.d.ts +3 -0
  212. package/flp/useCases/index.js +40 -0
  213. package/flp/useCases/index.js.map +1 -0
  214. package/folder/createFolderTypeDefs.js +13 -2
  215. package/folder/createFolderTypeDefs.js.map +1 -1
  216. package/folder/folder.crud.d.ts +3 -6
  217. package/folder/folder.crud.js +90 -231
  218. package/folder/folder.crud.js.map +1 -1
  219. package/folder/folder.gql.js +30 -8
  220. package/folder/folder.gql.js.map +1 -1
  221. package/folder/folder.model.js +3 -0
  222. package/folder/folder.model.js.map +1 -1
  223. package/folder/folder.so.js +4 -1
  224. package/folder/folder.so.js.map +1 -1
  225. package/folder/folder.types.d.ts +17 -3
  226. package/folder/folder.types.js.map +1 -1
  227. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  228. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  229. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  230. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  231. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  232. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  233. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +24 -0
  234. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  235. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  236. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  237. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  238. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  239. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  240. package/folder/useCases/CreateFolder/index.js +20 -0
  241. package/folder/useCases/CreateFolder/index.js.map +1 -0
  242. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  243. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  244. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  245. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  246. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  247. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  248. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  249. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  250. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  251. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  252. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  253. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  254. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  255. package/folder/useCases/DeleteFolder/index.js +20 -0
  256. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  257. package/folder/useCases/GetAncestors/GetAncestors.d.ts +5 -0
  258. package/folder/useCases/GetAncestors/GetAncestors.js +57 -0
  259. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  260. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +8 -0
  261. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  262. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  263. package/folder/useCases/GetAncestors/index.d.ts +4 -0
  264. package/folder/useCases/GetAncestors/index.js +16 -0
  265. package/folder/useCases/GetAncestors/index.js.map +1 -0
  266. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  267. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  268. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  269. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +24 -0
  270. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  271. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  272. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  273. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  274. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  275. package/folder/useCases/GetFolder/index.d.ts +13 -0
  276. package/folder/useCases/GetFolder/index.js +19 -0
  277. package/folder/useCases/GetFolder/index.js.map +1 -0
  278. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  279. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  280. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  281. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  282. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  283. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  284. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  285. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  286. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  287. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  288. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  289. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  290. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  291. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  292. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  293. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  294. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  295. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  296. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  297. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  298. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  299. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  300. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  301. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  302. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  303. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  304. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  305. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  306. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  307. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  308. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  309. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  310. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  311. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  312. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  313. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  314. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  315. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  316. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  317. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  318. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  319. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  320. package/folder/useCases/ListFolders/index.d.ts +13 -0
  321. package/folder/useCases/ListFolders/index.js +19 -0
  322. package/folder/useCases/ListFolders/index.js.map +1 -0
  323. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  324. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  325. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  326. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  327. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  328. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  329. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  330. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  331. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  332. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +25 -0
  333. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  334. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  335. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  336. package/folder/useCases/UpdateFolder/index.js +20 -0
  337. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  338. package/folder/useCases/index.d.ts +8 -0
  339. package/folder/useCases/index.js +95 -0
  340. package/folder/useCases/index.js.map +1 -0
  341. package/index.d.ts +3 -1
  342. package/index.js +3 -2
  343. package/index.js.map +1 -1
  344. package/package.json +28 -26
  345. package/record/record.crud.js +10 -10
  346. package/record/record.crud.js.map +1 -1
  347. package/record/record.so.js +2 -1
  348. package/record/record.so.js.map +1 -1
  349. package/types.d.ts +17 -8
  350. package/types.js +12 -0
  351. package/types.js.map +1 -1
  352. package/utils/decorators/CmsEntriesCrudDecorators.js +41 -65
  353. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  354. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  355. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  356. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  357. package/utils/decorators/ListEntriesFactory.d.ts +15 -0
  358. package/utils/decorators/ListEntriesFactory.js +107 -0
  359. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  360. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +7 -0
  361. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -1
  362. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  363. package/utils/decorators/hasRootFolderId.js +27 -0
  364. package/utils/decorators/hasRootFolderId.js.map +1 -0
  365. package/utils/pickEntryFieldValues.js +1 -1
  366. package/utils/pickEntryFieldValues.js.map +1 -1
  367. package/utils/FolderLevelPermissions.d.ts +0 -75
  368. package/utils/FolderLevelPermissions.js +0 -390
  369. package/utils/FolderLevelPermissions.js.map +0 -1
  370. package/utils/decorators/constants.d.ts +0 -1
  371. package/utils/decorators/constants.js +0 -9
  372. package/utils/decorators/constants.js.map +0 -1
  373. package/utils/decorators/createFolderType.d.ts +0 -2
  374. package/utils/decorators/createFolderType.js +0 -18
  375. package/utils/decorators/createFolderType.js.map +0 -1
  376. package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
  377. package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
  378. package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
  379. package/utils/decorators/where.d.ts +0 -15
  380. package/utils/decorators/where.js +0 -60
  381. package/utils/decorators/where.js.map +0 -1
  382. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  383. package/utils/getFolderAndItsAncestors.js +0 -53
  384. package/utils/getFolderAndItsAncestors.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=IListTeamsGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["IListTeamsGateway.ts"],"sourcesContent":["import type { Team } from \"@webiny/api-security/types\";\n\nexport interface IListTeamsGateway {\n execute: () => Promise<Team[]>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IListAdminUsersGateway } from "./IListAdminUsersGateway";
2
+ import type { AcoContext } from "../../../types";
3
+ export declare class ListAdminUsersGatewayFromContext implements IListAdminUsersGateway {
4
+ private context;
5
+ constructor(context: AcoContext);
6
+ execute(): Promise<import("@webiny/api-admin-users/types").AdminUser[]>;
7
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListAdminUsersGatewayFromContext = void 0;
7
+ class ListAdminUsersGatewayFromContext {
8
+ constructor(context) {
9
+ this.context = context;
10
+ }
11
+ async execute() {
12
+ const {
13
+ security,
14
+ adminUsers
15
+ } = this.context;
16
+ return security.withoutAuthorization(async () => {
17
+ return adminUsers.listUsers();
18
+ });
19
+ }
20
+ }
21
+ exports.ListAdminUsersGatewayFromContext = ListAdminUsersGatewayFromContext;
22
+
23
+ //# sourceMappingURL=ListAdminUsersGatewayFromContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ListAdminUsersGatewayFromContext","constructor","context","execute","security","adminUsers","withoutAuthorization","listUsers","exports"],"sources":["ListAdminUsersGatewayFromContext.ts"],"sourcesContent":["import type { IListAdminUsersGateway } from \"./IListAdminUsersGateway\";\nimport type { AcoContext } from \"~/types\";\n\nexport class ListAdminUsersGatewayFromContext implements IListAdminUsersGateway {\n private context: AcoContext;\n\n constructor(context: AcoContext) {\n this.context = context;\n }\n\n public async execute() {\n const { security, adminUsers } = this.context;\n\n return security.withoutAuthorization(async () => {\n return adminUsers.listUsers();\n });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,gCAAgC,CAAmC;EAG5EC,WAAWA,CAACC,OAAmB,EAAE;IAC7B,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAaC,OAAOA,CAAA,EAAG;IACnB,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACH,OAAO;IAE7C,OAAOE,QAAQ,CAACE,oBAAoB,CAAC,YAAY;MAC7C,OAAOD,UAAU,CAACE,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAAR,gCAAA,GAAAA,gCAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import type { IListFolderLevelPermissionsTargets } from "./IListFolderLevelPermissionsTargets";
2
+ import type { IListAdminUsersGateway } from "./IListAdminUsersGateway";
3
+ import type { IListTeamsGateway } from "./IListTeamsGateway";
4
+ import type { FolderLevelPermissionsTarget, FolderLevelPermissionsTargetListMeta } from "../../folder.types";
5
+ export declare class ListFolderLevelPermissionsTargets implements IListFolderLevelPermissionsTargets {
6
+ private listAdminUsersGateway;
7
+ private listTeamsGateway;
8
+ constructor(listAdminUsersGateway: IListAdminUsersGateway, listTeamsGateway: IListTeamsGateway);
9
+ execute(): Promise<[
10
+ FolderLevelPermissionsTarget[],
11
+ FolderLevelPermissionsTargetListMeta
12
+ ]>;
13
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListFolderLevelPermissionsTargets = void 0;
7
+ var _validation = require("@webiny/validation");
8
+ class ListFolderLevelPermissionsTargets {
9
+ constructor(listAdminUsersGateway, listTeamsGateway) {
10
+ this.listAdminUsersGateway = listAdminUsersGateway;
11
+ this.listTeamsGateway = listTeamsGateway;
12
+ }
13
+ async execute() {
14
+ const adminUsers = await this.listAdminUsersGateway.execute();
15
+ const teams = await this.listTeamsGateway.execute();
16
+ const teamTargets = teams.map(team => ({
17
+ id: team.id,
18
+ type: "team",
19
+ target: `team:${team.id}`,
20
+ name: team.name || "",
21
+ meta: {}
22
+ }));
23
+ const adminUserTargets = adminUsers.map(user => {
24
+ let name = user.displayName;
25
+ if (!name) {
26
+ // For backwards compatibility, we also want to try concatenating first and last name.
27
+ name = [user.firstName, user.lastName].filter(Boolean).join(" ");
28
+ }
29
+
30
+ // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email
31
+ // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,
32
+ // let's not assign anything to the `email` field.
33
+ let email = user.email;
34
+ try {
35
+ _validation.validation.validateSync(email, "email");
36
+ } catch {
37
+ email = null;
38
+ }
39
+ const image = user.avatar?.src || null;
40
+ return {
41
+ id: user.id,
42
+ type: "admin",
43
+ target: `admin:${user.id}`,
44
+ name,
45
+ meta: {
46
+ email,
47
+ image
48
+ }
49
+ };
50
+ });
51
+ const results = [...teamTargets, ...adminUserTargets];
52
+ const meta = {
53
+ totalCount: results.length
54
+ };
55
+ return [results, meta];
56
+ }
57
+ }
58
+ exports.ListFolderLevelPermissionsTargets = ListFolderLevelPermissionsTargets;
59
+
60
+ //# sourceMappingURL=ListFolderLevelPermissionsTargets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_validation","require","ListFolderLevelPermissionsTargets","constructor","listAdminUsersGateway","listTeamsGateway","execute","adminUsers","teams","teamTargets","map","team","id","type","target","name","meta","adminUserTargets","user","displayName","firstName","lastName","filter","Boolean","join","email","validation","validateSync","image","avatar","src","results","totalCount","length","exports"],"sources":["ListFolderLevelPermissionsTargets.ts"],"sourcesContent":["import type { IListFolderLevelPermissionsTargets } from \"./IListFolderLevelPermissionsTargets\";\nimport type { IListAdminUsersGateway } from \"./IListAdminUsersGateway\";\nimport type { IListTeamsGateway } from \"./IListTeamsGateway\";\nimport { validation } from \"@webiny/validation\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types\";\n\nexport class ListFolderLevelPermissionsTargets implements IListFolderLevelPermissionsTargets {\n private listAdminUsersGateway: IListAdminUsersGateway;\n private listTeamsGateway: IListTeamsGateway;\n\n constructor(\n listAdminUsersGateway: IListAdminUsersGateway,\n listTeamsGateway: IListTeamsGateway\n ) {\n this.listAdminUsersGateway = listAdminUsersGateway;\n this.listTeamsGateway = listTeamsGateway;\n }\n\n public async execute(): Promise<\n [FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]\n > {\n const adminUsers = await this.listAdminUsersGateway.execute();\n const teams = await this.listTeamsGateway.execute();\n\n const teamTargets = teams.map(team => ({\n id: team.id,\n type: \"team\",\n target: `team:${team.id}`,\n name: team.name || \"\",\n meta: {}\n }));\n\n const adminUserTargets = adminUsers.map(user => {\n let name = user.displayName;\n if (!name) {\n // For backwards compatibility, we also want to try concatenating first and last name.\n name = [user.firstName, user.lastName].filter(Boolean).join(\" \");\n }\n\n // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email\n // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,\n // let's not assign anything to the `email` field.\n let email: string | null = user.email;\n try {\n validation.validateSync(email, \"email\");\n } catch {\n email = null;\n }\n\n const image = user.avatar?.src || null;\n\n return {\n id: user.id,\n type: \"admin\",\n target: `admin:${user.id}`,\n name,\n meta: {\n email,\n image\n }\n };\n });\n\n const results = [...teamTargets, ...adminUserTargets];\n const meta = { totalCount: results.length };\n\n return [results, meta];\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAMO,MAAMC,iCAAiC,CAA+C;EAIzFC,WAAWA,CACPC,qBAA6C,EAC7CC,gBAAmC,EACrC;IACE,IAAI,CAACD,qBAAqB,GAAGA,qBAAqB;IAClD,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB;EAC5C;EAEA,MAAaC,OAAOA,CAAA,EAElB;IACE,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,qBAAqB,CAACE,OAAO,CAAC,CAAC;IAC7D,MAAME,KAAK,GAAG,MAAM,IAAI,CAACH,gBAAgB,CAACC,OAAO,CAAC,CAAC;IAEnD,MAAMG,WAAW,GAAGD,KAAK,CAACE,GAAG,CAACC,IAAI,KAAK;MACnCC,EAAE,EAAED,IAAI,CAACC,EAAE;MACXC,IAAI,EAAE,MAAM;MACZC,MAAM,EAAE,QAAQH,IAAI,CAACC,EAAE,EAAE;MACzBG,IAAI,EAAEJ,IAAI,CAACI,IAAI,IAAI,EAAE;MACrBC,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAMC,gBAAgB,GAAGV,UAAU,CAACG,GAAG,CAACQ,IAAI,IAAI;MAC5C,IAAIH,IAAI,GAAGG,IAAI,CAACC,WAAW;MAC3B,IAAI,CAACJ,IAAI,EAAE;QACP;QACAA,IAAI,GAAG,CAACG,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,QAAQ,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MACpE;;MAEA;MACA;MACA;MACA,IAAIC,KAAoB,GAAGP,IAAI,CAACO,KAAK;MACrC,IAAI;QACAC,sBAAU,CAACC,YAAY,CAACF,KAAK,EAAE,OAAO,CAAC;MAC3C,CAAC,CAAC,MAAM;QACJA,KAAK,GAAG,IAAI;MAChB;MAEA,MAAMG,KAAK,GAAGV,IAAI,CAACW,MAAM,EAAEC,GAAG,IAAI,IAAI;MAEtC,OAAO;QACHlB,EAAE,EAAEM,IAAI,CAACN,EAAE;QACXC,IAAI,EAAE,OAAO;QACbC,MAAM,EAAE,SAASI,IAAI,CAACN,EAAE,EAAE;QAC1BG,IAAI;QACJC,IAAI,EAAE;UACFS,KAAK;UACLG;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,MAAMG,OAAO,GAAG,CAAC,GAAGtB,WAAW,EAAE,GAAGQ,gBAAgB,CAAC;IACrD,MAAMD,IAAI,GAAG;MAAEgB,UAAU,EAAED,OAAO,CAACE;IAAO,CAAC;IAE3C,OAAO,CAACF,OAAO,EAAEf,IAAI,CAAC;EAC1B;AACJ;AAACkB,OAAA,CAAAhC,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { AcoContext } from "../../../types";
2
+ import type { IListTeamsGateway } from "./IListTeamsGateway";
3
+ export declare class ListTeamsGatewayFromContext implements IListTeamsGateway {
4
+ private context;
5
+ constructor(context: AcoContext);
6
+ execute(): Promise<import("@webiny/api-security/types").Team[]>;
7
+ }
@@ -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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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,25 @@
1
+ import type { AcoFolderStorageOperations, UpdateFolderParams } from "../../folder.types";
2
+ import type { IUpdateFolder } from "./IUpdateFolder";
3
+ import { 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("../../../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
+ extensions?: Record<string, any> | undefined;
24
+ }>;
25
+ }
@@ -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