@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
@@ -1 +1 @@
1
- {"version":3,"names":["_responses","require","_GraphQLSchemaPlugin","_createFolderTypeDefs","_ensureAuthentication","_resolve","_compress","_folder","createFoldersSchema","params","folderGraphQL","GraphQLSchemaPlugin","typeDefs","createFolderTypeDefs","resolvers","Folder","hasNonInheritedPermissions","folder","_","context","aco","folderLevelPermissions","permissionsIncludeNonInheritedPermissions","permissions","canManageStructure","canManageFolderStructure","canManagePermissions","canManageFolderPermissions","canManageContent","canManageFolderContent","AcoQuery","getFolderModel","__","resolve","ensureAuthentication","cms","getModel","FOLDER_MODEL_ID","getFolder","id","get","listFolders","args","entries","meta","list","ListResponse","e","ErrorResponse","listFoldersCompressed","folders","map","compress","listFolderLevelPermissionsTargets","AcoMutation","createFolder","data","create","updateFolder","update","deleteFolder","delete","name","exports"],"sources":["folder.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { createFolderTypeDefs, CreateFolderTypeDefsParams } from \"./createFolderTypeDefs\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\nimport { compress } from \"~/utils/compress\";\n\nimport { AcoContext, Folder } from \"~/types\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\n\nexport const createFoldersSchema = (params: CreateFolderTypeDefsParams) => {\n const folderGraphQL = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: createFolderTypeDefs(params),\n resolvers: {\n Folder: {\n hasNonInheritedPermissions: (folder: Folder, _, context) => {\n return context.aco.folderLevelPermissions.permissionsIncludeNonInheritedPermissions(\n folder.permissions\n );\n },\n canManageStructure: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderStructure(folder);\n },\n canManagePermissions: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderPermissions(folder);\n },\n canManageContent: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderContent(folder);\n }\n },\n AcoQuery: {\n getFolderModel(_, __, context) {\n return resolve(() => {\n ensureAuthentication(context);\n return context.cms.getModel(FOLDER_MODEL_ID);\n });\n },\n getFolder: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.get(id);\n });\n },\n listFolders: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.folder.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listFoldersCompressed: async (_, args: any, context) => {\n return resolve(async () => {\n const [entries] = await context.aco.folder.list(args);\n\n const folders = entries.map(folder => ({\n ...folder,\n hasNonInheritedPermissions:\n context.aco.folderLevelPermissions.permissionsIncludeNonInheritedPermissions(\n folder.permissions\n ),\n canManageStructure:\n context.aco.folderLevelPermissions.canManageFolderStructure(folder),\n canManagePermissions:\n context.aco.folderLevelPermissions.canManageFolderPermissions(\n folder\n ),\n canManageContent:\n context.aco.folderLevelPermissions.canManageFolderContent(folder)\n }));\n\n return compress(folders);\n });\n },\n listFolderLevelPermissionsTargets: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] =\n await context.aco.folder.listFolderLevelPermissionsTargets();\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFolder: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.create(data);\n });\n },\n updateFolder: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.update(id, data);\n });\n },\n deleteFolder: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.delete(id);\n });\n }\n }\n }\n });\n\n folderGraphQL.name = \"aco.graphql.folders\";\n\n return folderGraphQL;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_responses","require","_GraphQLSchemaPlugin","_createFolderTypeDefs","_ensureAuthentication","_resolve","_compress","_folder","createFoldersSchema","params","folderGraphQL","GraphQLSchemaPlugin","typeDefs","createFolderTypeDefs","resolvers","Folder","hasNonInheritedPermissions","folder","_","context","aco","folderLevelPermissions","permissionsIncludeNonInheritedPermissions","permissions","canManageStructure","canManageFolderStructure","canManagePermissions","canManageFolderPermissions","canManageContent","canManageFolderContent","AcoQuery","getFolderModel","__","resolve","ensureAuthentication","cms","getModel","FOLDER_MODEL_ID","getFolder","id","get","listFolders","args","entries","meta","list","ListResponse","e","ErrorResponse","listFoldersCompressed","foldersPromises","map","flp","Promise","all","then","compress","getFolderHierarchy","listFolderLevelPermissionsTargets","AcoMutation","createFolder","data","create","updateFolder","update","deleteFolder","delete","name","exports"],"sources":["folder.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { createFolderTypeDefs, CreateFolderTypeDefsParams } from \"./createFolderTypeDefs\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\nimport { compress } from \"~/utils/compress\";\n\nimport { AcoContext, Folder } from \"~/types\";\nimport type { FolderLevelPermission } from \"~/flp/flp.types\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\n\nexport const createFoldersSchema = (params: CreateFolderTypeDefsParams) => {\n const folderGraphQL = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: createFolderTypeDefs(params),\n resolvers: {\n Folder: {\n hasNonInheritedPermissions: (folder: Folder, _, context) => {\n return context.aco.folderLevelPermissions.permissionsIncludeNonInheritedPermissions(\n folder.permissions\n );\n },\n canManageStructure: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderStructure(folder);\n },\n canManagePermissions: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderPermissions(folder);\n },\n canManageContent: (folder, _, context) => {\n return context.aco.folderLevelPermissions.canManageFolderContent(folder);\n }\n },\n AcoQuery: {\n getFolderModel(_, __, context) {\n return resolve(() => {\n ensureAuthentication(context);\n return context.cms.getModel(FOLDER_MODEL_ID);\n });\n },\n getFolder: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.get(id);\n });\n },\n listFolders: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.folder.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listFoldersCompressed: async (_, args: any, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n\n const [entries] = await context.aco.folder.list(args);\n const foldersPromises = entries.map(folder => {\n const { folderLevelPermissions: flp } = context.aco;\n\n const canManageStructure = flp.canManageFolderStructure(\n folder as unknown as FolderLevelPermission\n );\n const canManagePermissions = flp.canManageFolderPermissions(\n folder as unknown as FolderLevelPermission\n );\n const canManageContent = flp.canManageFolderContent(\n folder as unknown as FolderLevelPermission\n );\n const hasNonInheritedPermissions =\n flp.permissionsIncludeNonInheritedPermissions(folder.permissions);\n\n return Promise.all([\n canManageStructure,\n canManagePermissions,\n canManageContent,\n hasNonInheritedPermissions\n ]).then(\n ([\n canManageStructure,\n canManagePermissions,\n canManageContent,\n hasNonInheritedPermissions\n ]) => {\n return {\n ...folder,\n canManageStructure,\n canManagePermissions,\n canManageContent,\n hasNonInheritedPermissions\n };\n }\n );\n });\n\n return Promise.all(foldersPromises).then(compress);\n });\n },\n getFolderHierarchy: async (_, args: any, context) => {\n try {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.getFolderHierarchy(args);\n });\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listFolderLevelPermissionsTargets: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] =\n await context.aco.folder.listFolderLevelPermissionsTargets();\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFolder: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.create(data);\n });\n },\n updateFolder: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.update(id, data);\n });\n },\n deleteFolder: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.folder.delete(id);\n });\n }\n }\n }\n });\n\n folderGraphQL.name = \"aco.graphql.folders\";\n\n return folderGraphQL;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -83,6 +83,9 @@ const permissionsField = () => (0, _createModelField.createModelField)({
83
83
  }, {
84
84
  label: "Public",
85
85
  value: "public"
86
+ }, {
87
+ label: "No Access",
88
+ value: "no-access"
86
89
  }]
87
90
  }
88
91
  }],
@@ -1 +1 @@
1
- {"version":3,"names":["_createModelField","require","_apiHeadlessCms","titleField","createModelField","label","type","validation","name","message","slugField","settings","preset","regex","flags","typeField","parentIdField","permissionsField","fieldId","multipleValues","listValidation","fields","id","storageId","predefinedValues","enabled","values","value","layout","extensionsField","FOLDER_MODEL_ID","exports","createFolderModel","createPrivateModel","modelId","authorization","permissions","titleFieldId"],"sources":["folder.model.ts"],"sourcesContent":["import { createModelField } from \"~/utils/createModelField\";\nimport { createPrivateModel } from \"@webiny/api-headless-cms\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst slugField = () =>\n createModelField({\n label: \"Slug\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n },\n {\n name: \"pattern\",\n settings: {\n preset: \"custom\",\n regex: \"^[a-z0-9]+(-[a-z0-9]+)*$\",\n flags: \"g\"\n },\n message: \"Value must consist of only 'a-z', '0-9' and '-'.\"\n }\n ]\n });\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst parentIdField = () =>\n createModelField({\n label: \"Parent Id\",\n type: \"text\"\n });\n\nconst permissionsField = () =>\n createModelField({\n label: \"Permissions\",\n fieldId: \"permissions\",\n type: \"object\",\n multipleValues: true,\n listValidation: [],\n settings: {\n fields: [\n {\n id: \"target\",\n type: \"text\",\n storageId: \"text@target\",\n fieldId: \"target\",\n label: \"Target\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n },\n {\n id: \"level\",\n type: \"text\",\n storageId: \"text@level\",\n fieldId: \"level\",\n label: \"Level\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Viewer\",\n value: \"viewer\"\n },\n {\n label: \"Editor\",\n value: \"editor\"\n },\n {\n label: \"Owner\",\n value: \"owner\"\n },\n {\n label: \"Public\",\n value: \"public\"\n }\n ]\n }\n }\n ],\n layout: [[\"target\"], [\"level\"]]\n }\n });\n\nconst extensionsField = () =>\n createModelField({\n label: \"Extensions\",\n fieldId: \"extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n\nexport const FOLDER_MODEL_ID = \"acoFolder\";\n\nexport const createFolderModel = () => {\n return createPrivateModel({\n name: \"ACO - Folder\",\n modelId: FOLDER_MODEL_ID,\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n\n // We're leaving FLP enabled (no need to set `flp: true`).\n // flp: true\n },\n titleFieldId: \"title\",\n fields: [\n titleField(),\n slugField(),\n typeField(),\n parentIdField(),\n permissionsField(),\n extensionsField()\n ]\n });\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_createModelField","require","_apiHeadlessCms","titleField","createModelField","label","type","validation","name","message","slugField","settings","preset","regex","flags","typeField","parentIdField","permissionsField","fieldId","multipleValues","listValidation","fields","id","storageId","predefinedValues","enabled","values","value","layout","extensionsField","FOLDER_MODEL_ID","exports","createFolderModel","createPrivateModel","modelId","authorization","permissions","titleFieldId"],"sources":["folder.model.ts"],"sourcesContent":["import { createModelField } from \"~/utils/createModelField\";\nimport { createPrivateModel } from \"@webiny/api-headless-cms\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst slugField = () =>\n createModelField({\n label: \"Slug\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n },\n {\n name: \"pattern\",\n settings: {\n preset: \"custom\",\n regex: \"^[a-z0-9]+(-[a-z0-9]+)*$\",\n flags: \"g\"\n },\n message: \"Value must consist of only 'a-z', '0-9' and '-'.\"\n }\n ]\n });\n\nconst typeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n });\n\nconst parentIdField = () =>\n createModelField({\n label: \"Parent Id\",\n type: \"text\"\n });\n\nconst permissionsField = () =>\n createModelField({\n label: \"Permissions\",\n fieldId: \"permissions\",\n type: \"object\",\n multipleValues: true,\n listValidation: [],\n settings: {\n fields: [\n {\n id: \"target\",\n type: \"text\",\n storageId: \"text@target\",\n fieldId: \"target\",\n label: \"Target\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ]\n },\n {\n id: \"level\",\n type: \"text\",\n storageId: \"text@level\",\n fieldId: \"level\",\n label: \"Level\",\n validation: [\n {\n name: \"required\",\n message: \"Value is required.\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n label: \"Viewer\",\n value: \"viewer\"\n },\n {\n label: \"Editor\",\n value: \"editor\"\n },\n {\n label: \"Owner\",\n value: \"owner\"\n },\n {\n label: \"Public\",\n value: \"public\"\n },\n {\n label: \"No Access\",\n value: \"no-access\"\n }\n ]\n }\n }\n ],\n layout: [[\"target\"], [\"level\"]]\n }\n });\n\nconst extensionsField = () =>\n createModelField({\n label: \"Extensions\",\n fieldId: \"extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n\nexport const FOLDER_MODEL_ID = \"acoFolder\";\n\nexport const createFolderModel = () => {\n return createPrivateModel({\n name: \"ACO - Folder\",\n modelId: FOLDER_MODEL_ID,\n authorization: {\n // Disables base permission checks, but leaves FLP checks enabled.\n permissions: false\n\n // We're leaving FLP enabled (no need to set `flp: true`).\n // flp: true\n },\n titleFieldId: \"title\",\n fields: [\n titleField(),\n slugField(),\n typeField(),\n parentIdField(),\n permissionsField(),\n extensionsField()\n ]\n });\n};\n"],"mappings":"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","ignoreList":[]}
@@ -95,9 +95,12 @@ const createFolderOperations = params => {
95
95
  sort,
96
96
  where
97
97
  } = params;
98
+ const listSort = sort || {
99
+ title: "ASC"
100
+ };
98
101
  const [entries, meta] = await cms.listLatestEntries(model, {
99
102
  ...params,
100
- sort: (0, _createListSort.createListSort)(sort),
103
+ sort: (0, _createListSort.createListSort)(listSort),
101
104
  where: {
102
105
  ...(where || {})
103
106
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_omit","_interopRequireDefault","require","_error","_folder","_createListSort","_createOperationsWrapper","_pickEntryFieldValues","_constants","createFolderOperations","params","cms","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","getFolder","id","slug","type","parentId","model","entry","getEntryById","getEntry","where","latest","WebinyError","pickEntryFieldValues","checkExistingFolder","listResult","storageOperations","entries","list","id_not","limit","items","length","listFolders","sort","meta","listLatestEntries","createListSort","map","createFolder","data","createEntry","updateFolder","original","undefined","input","omit","ENTRY_META_FIELDS","updateEntry","deleteFolder","deleteEntry","permanently","force","exports"],"sources":["folder.so.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport { FOLDER_MODEL_ID } from \"./folder.model\";\nimport { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { createListSort } from \"~/utils/createListSort\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport { AcoFolderStorageOperations, Folder } from \"./folder.types\";\nimport { ENTRY_META_FIELDS } from \"@webiny/api-headless-cms/constants\";\n\ninterface AcoCheckExistingFolderParams {\n params: {\n type: string;\n slug: string;\n parentId?: string | null;\n };\n id?: string;\n}\n\nexport const createFolderOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoFolderStorageOperations => {\n const { cms } = params;\n\n const { withModel } = createOperationsWrapper({\n ...params,\n modelName: FOLDER_MODEL_ID\n });\n\n const getFolder: AcoFolderStorageOperations[\"getFolder\"] = ({ id, slug, type, parentId }) => {\n return withModel(async model => {\n let entry;\n\n if (id) {\n entry = await cms.getEntryById(model, id);\n } else if (slug && type) {\n entry = await cms.getEntry(model, {\n where: { slug, type, parentId, latest: true }\n });\n }\n\n if (!entry) {\n throw new WebinyError(\"Could not load folder.\", \"GET_FOLDER_ERROR\", {\n id,\n slug,\n type,\n parentId\n });\n }\n\n return pickEntryFieldValues(entry);\n });\n };\n\n const checkExistingFolder = ({ id, params }: AcoCheckExistingFolderParams) => {\n return withModel(async model => {\n const { type, slug, parentId } = params;\n\n // We don't need to perform any kind of authorization or checks here. We just need to check\n // if the folder already exists in the database. Hence the direct storage operations access.\n const listResult = await cms.storageOperations.entries.list(model, {\n ...params,\n where: {\n // Folders always work with latest entries. We never publish them.\n latest: true,\n type,\n slug,\n parentId,\n id_not: id\n },\n limit: 1\n });\n\n if (listResult?.items?.length > 0) {\n throw new WebinyError(\n `Folder with slug \"${slug}\" already exists at this level.`,\n \"FOLDER_ALREADY_EXISTS\",\n {\n id,\n params\n }\n );\n }\n\n return;\n });\n };\n\n return {\n getFolder,\n listFolders(params) {\n return withModel(async model => {\n const { sort, where } = params;\n\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n sort: createListSort(sort),\n where: {\n ...(where || {})\n }\n });\n\n return [entries.map(pickEntryFieldValues<Folder>), meta];\n });\n },\n createFolder({ data }) {\n return withModel(async model => {\n await checkExistingFolder({\n params: {\n type: data.type,\n slug: data.slug,\n parentId: data.parentId\n }\n });\n\n const entry = await cms.createEntry(model, {\n ...data,\n parentId: data.parentId || null\n });\n\n return pickEntryFieldValues(entry);\n });\n },\n updateFolder({ id, data }) {\n return withModel(async model => {\n const { slug, parentId } = data;\n\n const original = await getFolder({ id });\n\n await checkExistingFolder({\n id,\n params: {\n type: original.type,\n slug: slug || original.slug,\n parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`\n }\n });\n\n const input = {\n /**\n * We are omitting the standard entry meta fields:\n * we don't want to override them with the ones coming from the `original` entry.\n */\n ...omit(original, ENTRY_META_FIELDS),\n ...data\n };\n\n const entry = await cms.updateEntry(model, id, input);\n return pickEntryFieldValues(entry);\n });\n },\n deleteFolder({ id }) {\n return withModel(async model => {\n await cms.deleteEntry(model, id, {\n permanently: true,\n force: true\n });\n return true;\n });\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_omit","_interopRequireDefault","require","_error","_folder","_createListSort","_createOperationsWrapper","_pickEntryFieldValues","_constants","createFolderOperations","params","cms","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","getFolder","id","slug","type","parentId","model","entry","getEntryById","getEntry","where","latest","WebinyError","pickEntryFieldValues","checkExistingFolder","listResult","storageOperations","entries","list","id_not","limit","items","length","listFolders","sort","listSort","title","meta","listLatestEntries","createListSort","map","createFolder","data","createEntry","updateFolder","original","undefined","input","omit","ENTRY_META_FIELDS","updateEntry","deleteFolder","deleteEntry","permanently","force","exports"],"sources":["folder.so.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport { FOLDER_MODEL_ID } from \"./folder.model\";\nimport { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { createListSort } from \"~/utils/createListSort\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport { AcoFolderStorageOperations, Folder } from \"./folder.types\";\nimport { ENTRY_META_FIELDS } from \"@webiny/api-headless-cms/constants\";\nimport { ListSort } from \"~/types\";\n\ninterface AcoCheckExistingFolderParams {\n params: {\n type: string;\n slug: string;\n parentId?: string | null;\n };\n id?: string;\n}\n\nexport const createFolderOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoFolderStorageOperations => {\n const { cms } = params;\n\n const { withModel } = createOperationsWrapper({\n ...params,\n modelName: FOLDER_MODEL_ID\n });\n\n const getFolder: AcoFolderStorageOperations[\"getFolder\"] = ({ id, slug, type, parentId }) => {\n return withModel(async model => {\n let entry;\n\n if (id) {\n entry = await cms.getEntryById(model, id);\n } else if (slug && type) {\n entry = await cms.getEntry(model, {\n where: { slug, type, parentId, latest: true }\n });\n }\n\n if (!entry) {\n throw new WebinyError(\"Could not load folder.\", \"GET_FOLDER_ERROR\", {\n id,\n slug,\n type,\n parentId\n });\n }\n\n return pickEntryFieldValues(entry);\n });\n };\n\n const checkExistingFolder = ({ id, params }: AcoCheckExistingFolderParams) => {\n return withModel(async model => {\n const { type, slug, parentId } = params;\n\n // We don't need to perform any kind of authorization or checks here. We just need to check\n // if the folder already exists in the database. Hence the direct storage operations access.\n const listResult = await cms.storageOperations.entries.list(model, {\n ...params,\n where: {\n // Folders always work with latest entries. We never publish them.\n latest: true,\n type,\n slug,\n parentId,\n id_not: id\n },\n limit: 1\n });\n\n if (listResult?.items?.length > 0) {\n throw new WebinyError(\n `Folder with slug \"${slug}\" already exists at this level.`,\n \"FOLDER_ALREADY_EXISTS\",\n {\n id,\n params\n }\n );\n }\n\n return;\n });\n };\n\n return {\n getFolder,\n listFolders(params) {\n return withModel(async model => {\n const { sort, where } = params;\n\n const listSort =\n sort ||\n ({\n title: \"ASC\"\n } as unknown as ListSort);\n\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n sort: createListSort(listSort),\n where: {\n ...(where || {})\n }\n });\n\n return [entries.map(pickEntryFieldValues<Folder>), meta];\n });\n },\n createFolder({ data }) {\n return withModel(async model => {\n await checkExistingFolder({\n params: {\n type: data.type,\n slug: data.slug,\n parentId: data.parentId\n }\n });\n\n const entry = await cms.createEntry(model, {\n ...data,\n parentId: data.parentId || null\n });\n\n return pickEntryFieldValues(entry);\n });\n },\n updateFolder({ id, data }) {\n return withModel(async model => {\n const { slug, parentId } = data;\n\n const original = await getFolder({ id });\n\n await checkExistingFolder({\n id,\n params: {\n type: original.type,\n slug: slug || original.slug,\n parentId: parentId !== undefined ? parentId : original.parentId // parentId can be `null`\n }\n });\n\n const input = {\n /**\n * We are omitting the standard entry meta fields:\n * we don't want to override them with the ones coming from the `original` entry.\n */\n ...omit(original, ENTRY_META_FIELDS),\n ...data\n };\n\n const entry = await cms.updateEntry(model, id, input);\n return pickEntryFieldValues(entry);\n });\n },\n deleteFolder({ id }) {\n return withModel(async model => {\n await cms.deleteEntry(model, id, {\n permanently: true,\n force: true\n });\n return true;\n });\n }\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AAEA,IAAAM,UAAA,GAAAN,OAAA;AAYO,MAAMO,sBAAsB,GAC/BC,MAAwC,IACX;EAC7B,MAAM;IAAEC;EAAI,CAAC,GAAGD,MAAM;EAEtB,MAAM;IAAEE;EAAU,CAAC,GAAG,IAAAC,gDAAuB,EAAC;IAC1C,GAAGH,MAAM;IACTI,SAAS,EAAEC;EACf,CAAC,CAAC;EAEF,MAAMC,SAAkD,GAAGA,CAAC;IAAEC,EAAE;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,KAAK;IACzF,OAAOR,SAAS,CAAC,MAAMS,KAAK,IAAI;MAC5B,IAAIC,KAAK;MAET,IAAIL,EAAE,EAAE;QACJK,KAAK,GAAG,MAAMX,GAAG,CAACY,YAAY,CAACF,KAAK,EAAEJ,EAAE,CAAC;MAC7C,CAAC,MAAM,IAAIC,IAAI,IAAIC,IAAI,EAAE;QACrBG,KAAK,GAAG,MAAMX,GAAG,CAACa,QAAQ,CAACH,KAAK,EAAE;UAC9BI,KAAK,EAAE;YAAEP,IAAI;YAAEC,IAAI;YAAEC,QAAQ;YAAEM,MAAM,EAAE;UAAK;QAChD,CAAC,CAAC;MACN;MAEA,IAAI,CAACJ,KAAK,EAAE;QACR,MAAM,IAAIK,cAAW,CAAC,wBAAwB,EAAE,kBAAkB,EAAE;UAChEV,EAAE;UACFC,IAAI;UACJC,IAAI;UACJC;QACJ,CAAC,CAAC;MACN;MAEA,OAAO,IAAAQ,0CAAoB,EAACN,KAAK,CAAC;IACtC,CAAC,CAAC;EACN,CAAC;EAED,MAAMO,mBAAmB,GAAGA,CAAC;IAAEZ,EAAE;IAAEP;EAAqC,CAAC,KAAK;IAC1E,OAAOE,SAAS,CAAC,MAAMS,KAAK,IAAI;MAC5B,MAAM;QAAEF,IAAI;QAAED,IAAI;QAAEE;MAAS,CAAC,GAAGV,MAAM;;MAEvC;MACA;MACA,MAAMoB,UAAU,GAAG,MAAMnB,GAAG,CAACoB,iBAAiB,CAACC,OAAO,CAACC,IAAI,CAACZ,KAAK,EAAE;QAC/D,GAAGX,MAAM;QACTe,KAAK,EAAE;UACH;UACAC,MAAM,EAAE,IAAI;UACZP,IAAI;UACJD,IAAI;UACJE,QAAQ;UACRc,MAAM,EAAEjB;QACZ,CAAC;QACDkB,KAAK,EAAE;MACX,CAAC,CAAC;MAEF,IAAIL,UAAU,EAAEM,KAAK,EAAEC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAIV,cAAW,CACjB,qBAAqBT,IAAI,iCAAiC,EAC1D,uBAAuB,EACvB;UACID,EAAE;UACFP;QACJ,CACJ,CAAC;MACL;MAEA;IACJ,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHM,SAAS;IACTsB,WAAWA,CAAC5B,MAAM,EAAE;MAChB,OAAOE,SAAS,CAAC,MAAMS,KAAK,IAAI;QAC5B,MAAM;UAAEkB,IAAI;UAAEd;QAAM,CAAC,GAAGf,MAAM;QAE9B,MAAM8B,QAAQ,GACVD,IAAI,IACH;UACGE,KAAK,EAAE;QACX,CAAyB;QAE7B,MAAM,CAACT,OAAO,EAAEU,IAAI,CAAC,GAAG,MAAM/B,GAAG,CAACgC,iBAAiB,CAACtB,KAAK,EAAE;UACvD,GAAGX,MAAM;UACT6B,IAAI,EAAE,IAAAK,8BAAc,EAACJ,QAAQ,CAAC;UAC9Bf,KAAK,EAAE;YACH,IAAIA,KAAK,IAAI,CAAC,CAAC;UACnB;QACJ,CAAC,CAAC;QAEF,OAAO,CAACO,OAAO,CAACa,GAAG,CAACjB,0CAA4B,CAAC,EAAEc,IAAI,CAAC;MAC5D,CAAC,CAAC;IACN,CAAC;IACDI,YAAYA,CAAC;MAAEC;IAAK,CAAC,EAAE;MACnB,OAAOnC,SAAS,CAAC,MAAMS,KAAK,IAAI;QAC5B,MAAMQ,mBAAmB,CAAC;UACtBnB,MAAM,EAAE;YACJS,IAAI,EAAE4B,IAAI,CAAC5B,IAAI;YACfD,IAAI,EAAE6B,IAAI,CAAC7B,IAAI;YACfE,QAAQ,EAAE2B,IAAI,CAAC3B;UACnB;QACJ,CAAC,CAAC;QAEF,MAAME,KAAK,GAAG,MAAMX,GAAG,CAACqC,WAAW,CAAC3B,KAAK,EAAE;UACvC,GAAG0B,IAAI;UACP3B,QAAQ,EAAE2B,IAAI,CAAC3B,QAAQ,IAAI;QAC/B,CAAC,CAAC;QAEF,OAAO,IAAAQ,0CAAoB,EAACN,KAAK,CAAC;MACtC,CAAC,CAAC;IACN,CAAC;IACD2B,YAAYA,CAAC;MAAEhC,EAAE;MAAE8B;IAAK,CAAC,EAAE;MACvB,OAAOnC,SAAS,CAAC,MAAMS,KAAK,IAAI;QAC5B,MAAM;UAAEH,IAAI;UAAEE;QAAS,CAAC,GAAG2B,IAAI;QAE/B,MAAMG,QAAQ,GAAG,MAAMlC,SAAS,CAAC;UAAEC;QAAG,CAAC,CAAC;QAExC,MAAMY,mBAAmB,CAAC;UACtBZ,EAAE;UACFP,MAAM,EAAE;YACJS,IAAI,EAAE+B,QAAQ,CAAC/B,IAAI;YACnBD,IAAI,EAAEA,IAAI,IAAIgC,QAAQ,CAAChC,IAAI;YAC3BE,QAAQ,EAAEA,QAAQ,KAAK+B,SAAS,GAAG/B,QAAQ,GAAG8B,QAAQ,CAAC9B,QAAQ,CAAC;UACpE;QACJ,CAAC,CAAC;QAEF,MAAMgC,KAAK,GAAG;UACV;AACpB;AACA;AACA;UACoB,GAAG,IAAAC,aAAI,EAACH,QAAQ,EAAEI,4BAAiB,CAAC;UACpC,GAAGP;QACP,CAAC;QAED,MAAMzB,KAAK,GAAG,MAAMX,GAAG,CAAC4C,WAAW,CAAClC,KAAK,EAAEJ,EAAE,EAAEmC,KAAK,CAAC;QACrD,OAAO,IAAAxB,0CAAoB,EAACN,KAAK,CAAC;MACtC,CAAC,CAAC;IACN,CAAC;IACDkC,YAAYA,CAAC;MAAEvC;IAAG,CAAC,EAAE;MACjB,OAAOL,SAAS,CAAC,MAAMS,KAAK,IAAI;QAC5B,MAAMV,GAAG,CAAC8C,WAAW,CAACpC,KAAK,EAAEJ,EAAE,EAAE;UAC7ByC,WAAW,EAAE,IAAI;UACjBC,KAAK,EAAE;QACX,CAAC,CAAC;QACF,OAAO,IAAI;MACf,CAAC,CAAC;IACN;EACJ,CAAC;AACL,CAAC;AAACC,OAAA,CAAAnD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- import { ListMeta, ListSort, User } from "../types";
1
+ import { type FolderPermission, ListMeta, ListSort, User } from "../types";
2
2
  import { Topic } from "@webiny/pubsub/types";
3
- import { FolderPermission } from "../utils/FolderLevelPermissions";
4
3
  export interface Folder {
5
4
  id: string;
6
5
  entryId: string;
@@ -19,15 +18,26 @@ export interface Folder {
19
18
  }
20
19
  export interface ListFoldersWhere {
21
20
  type: string;
21
+ id_not_in?: string[];
22
22
  parentId?: string | null;
23
+ parentId_in?: string[];
23
24
  }
24
25
  export interface ListFoldersParams {
25
26
  where: ListFoldersWhere;
26
27
  sort?: ListSort;
27
28
  limit?: number;
28
29
  after?: string | null;
30
+ disablePermissions?: boolean;
29
31
  }
30
32
  export type ListAllFoldersParams = Omit<ListFoldersParams, "limit" | "after">;
33
+ export interface GetFolderHierarchyParams {
34
+ type: string;
35
+ id: string;
36
+ }
37
+ export interface GetFolderHierarchyResponse {
38
+ parents: Folder[];
39
+ siblings: Folder[];
40
+ }
31
41
  export type CreateFolderParams = Pick<Folder, "title" | "slug" | "type" | "parentId">;
32
42
  export interface UpdateFolderParams {
33
43
  title?: string;
@@ -54,6 +64,9 @@ export interface StorageOperationsGetFolderParams {
54
64
  type?: string;
55
65
  parentId?: string | null;
56
66
  }
67
+ export interface GetFolderParams {
68
+ id: string;
69
+ }
57
70
  export type StorageOperationsListFoldersParams = ListFoldersParams;
58
71
  export interface StorageOperationsCreateFolderParams {
59
72
  data: CreateFolderParams;
@@ -85,7 +98,7 @@ export interface OnFolderAfterDeleteTopicParams {
85
98
  folder: Folder;
86
99
  }
87
100
  export interface AcoFolderCrud {
88
- get(id: string): Promise<Folder>;
101
+ get(id: string, disablePermissions?: boolean): Promise<Folder>;
89
102
  list(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;
90
103
  listFolderLevelPermissionsTargets(): Promise<[
91
104
  FolderLevelPermissionsTarget[],
@@ -96,6 +109,7 @@ export interface AcoFolderCrud {
96
109
  update(id: string, data: UpdateFolderParams): Promise<Folder>;
97
110
  delete(id: string): Promise<boolean>;
98
111
  getAncestors(folder: Folder): Promise<Folder[]>;
112
+ getFolderHierarchy(params: GetFolderHierarchyParams): Promise<GetFolderHierarchyResponse>;
99
113
  /**
100
114
  * @deprecated use `getAncestors` instead
101
115
  */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["folder.types.ts"],"sourcesContent":["import { ListMeta, ListSort, User } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { FolderPermission } from \"~/utils/FolderLevelPermissions\";\n\nexport interface Folder {\n id: string;\n entryId: string;\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n createdBy: User;\n modifiedBy: User | null;\n savedBy: User;\n title: string;\n slug: string;\n permissions?: FolderPermission[];\n type: string;\n parentId?: string | null;\n extensions?: Record<string, any>;\n}\n\nexport interface ListFoldersWhere {\n type: string;\n parentId?: string | null;\n}\n\nexport interface ListFoldersParams {\n where: ListFoldersWhere;\n sort?: ListSort;\n limit?: number;\n after?: string | null;\n}\n\nexport type ListAllFoldersParams = Omit<ListFoldersParams, \"limit\" | \"after\">;\n\nexport type CreateFolderParams = Pick<Folder, \"title\" | \"slug\" | \"type\" | \"parentId\">;\n\nexport interface UpdateFolderParams {\n title?: string;\n slug?: string;\n permissions?: FolderPermission[];\n parentId?: string;\n}\n\nexport interface DeleteFolderParams {\n id: string;\n}\n\nexport interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {\n id: string;\n target: string;\n name: string;\n type: string;\n meta: TMeta;\n}\n\nexport interface FolderLevelPermissionsTargetListMeta {\n totalCount: number;\n}\n\nexport interface StorageOperationsGetFolderParams {\n id?: string;\n slug?: string;\n type?: string;\n parentId?: string | null;\n}\n\nexport type StorageOperationsListFoldersParams = ListFoldersParams;\n\nexport interface StorageOperationsCreateFolderParams {\n data: CreateFolderParams;\n}\n\nexport interface StorageOperationsUpdateFolderParams {\n id: string;\n data: UpdateFolderParams;\n}\n\nexport type StorageOperationsDeleteFolderParams = DeleteFolderParams;\n\nexport interface OnFolderBeforeCreateTopicParams {\n input: CreateFolderParams;\n}\n\nexport interface OnFolderAfterCreateTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderBeforeUpdateTopicParams {\n original: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderAfterUpdateTopicParams {\n original: Folder;\n folder: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderBeforeDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderAfterDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface AcoFolderCrud {\n get(id: string): Promise<Folder>;\n\n list(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n listFolderLevelPermissionsTargets(): Promise<\n [FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]\n >;\n\n listAll(params: ListAllFoldersParams): Promise<[Folder[], ListMeta]>;\n\n create(data: CreateFolderParams): Promise<Folder>;\n\n update(id: string, data: UpdateFolderParams): Promise<Folder>;\n\n delete(id: string): Promise<boolean>;\n\n getAncestors(folder: Folder): Promise<Folder[]>;\n\n /**\n * @deprecated use `getAncestors` instead\n */\n getFolderWithAncestors(id: string): Promise<Folder[]>;\n\n onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;\n onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;\n onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;\n onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;\n onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;\n onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;\n}\n\nexport interface AcoFolderStorageOperations {\n getFolder(params: StorageOperationsGetFolderParams): Promise<Folder>;\n\n listFolders(params: StorageOperationsListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n createFolder(params: StorageOperationsCreateFolderParams): Promise<Folder>;\n\n updateFolder(params: StorageOperationsUpdateFolderParams): Promise<Folder>;\n\n deleteFolder(params: StorageOperationsDeleteFolderParams): Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["folder.types.ts"],"sourcesContent":["import { type FolderPermission, ListMeta, ListSort, User } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\n\nexport interface Folder {\n id: string;\n entryId: string;\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n createdBy: User;\n modifiedBy: User | null;\n savedBy: User;\n title: string;\n slug: string;\n permissions?: FolderPermission[];\n type: string;\n parentId?: string | null;\n extensions?: Record<string, any>;\n}\n\nexport interface ListFoldersWhere {\n type: string;\n id_not_in?: string[];\n parentId?: string | null;\n parentId_in?: string[];\n}\n\nexport interface ListFoldersParams {\n where: ListFoldersWhere;\n sort?: ListSort;\n limit?: number;\n after?: string | null;\n disablePermissions?: boolean;\n}\n\nexport type ListAllFoldersParams = Omit<ListFoldersParams, \"limit\" | \"after\">;\n\nexport interface GetFolderHierarchyParams {\n type: string;\n id: string;\n}\n\nexport interface GetFolderHierarchyResponse {\n parents: Folder[];\n siblings: Folder[];\n}\n\nexport type CreateFolderParams = Pick<Folder, \"title\" | \"slug\" | \"type\" | \"parentId\">;\n\nexport interface UpdateFolderParams {\n title?: string;\n slug?: string;\n permissions?: FolderPermission[];\n parentId?: string;\n}\n\nexport interface DeleteFolderParams {\n id: string;\n}\n\nexport interface FolderLevelPermissionsTarget<TMeta = Record<string, any>> {\n id: string;\n target: string;\n name: string;\n type: string;\n meta: TMeta;\n}\n\nexport interface FolderLevelPermissionsTargetListMeta {\n totalCount: number;\n}\n\nexport interface StorageOperationsGetFolderParams {\n id?: string;\n slug?: string;\n type?: string;\n parentId?: string | null;\n}\n\nexport interface GetFolderParams {\n id: string;\n}\n\nexport type StorageOperationsListFoldersParams = ListFoldersParams;\n\nexport interface StorageOperationsCreateFolderParams {\n data: CreateFolderParams;\n}\n\nexport interface StorageOperationsUpdateFolderParams {\n id: string;\n data: UpdateFolderParams;\n}\n\nexport type StorageOperationsDeleteFolderParams = DeleteFolderParams;\n\nexport interface OnFolderBeforeCreateTopicParams {\n input: CreateFolderParams;\n}\n\nexport interface OnFolderAfterCreateTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderBeforeUpdateTopicParams {\n original: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderAfterUpdateTopicParams {\n original: Folder;\n folder: Folder;\n input: Record<string, any>;\n}\n\nexport interface OnFolderBeforeDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface OnFolderAfterDeleteTopicParams {\n folder: Folder;\n}\n\nexport interface AcoFolderCrud {\n get(id: string, disablePermissions?: boolean): Promise<Folder>;\n\n list(params: ListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n listFolderLevelPermissionsTargets(): Promise<\n [FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]\n >;\n\n listAll(params: ListAllFoldersParams): Promise<[Folder[], ListMeta]>;\n\n create(data: CreateFolderParams): Promise<Folder>;\n\n update(id: string, data: UpdateFolderParams): Promise<Folder>;\n\n delete(id: string): Promise<boolean>;\n\n getAncestors(folder: Folder): Promise<Folder[]>;\n\n getFolderHierarchy(params: GetFolderHierarchyParams): Promise<GetFolderHierarchyResponse>;\n\n /**\n * @deprecated use `getAncestors` instead\n */\n getFolderWithAncestors(id: string): Promise<Folder[]>;\n\n onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;\n onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;\n onFolderBeforeUpdate: Topic<OnFolderBeforeUpdateTopicParams>;\n onFolderAfterUpdate: Topic<OnFolderAfterUpdateTopicParams>;\n onFolderBeforeDelete: Topic<OnFolderBeforeDeleteTopicParams>;\n onFolderAfterDelete: Topic<OnFolderAfterDeleteTopicParams>;\n}\n\nexport interface AcoFolderStorageOperations {\n getFolder(params: StorageOperationsGetFolderParams): Promise<Folder>;\n\n listFolders(params: StorageOperationsListFoldersParams): Promise<[Folder[], ListMeta]>;\n\n createFolder(params: StorageOperationsCreateFolderParams): Promise<Folder>;\n\n updateFolder(params: StorageOperationsUpdateFolderParams): Promise<Folder>;\n\n deleteFolder(params: StorageOperationsDeleteFolderParams): Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { AcoFolderStorageOperations, CreateFolderParams } from "../../folder.types";
3
+ export declare class CreateFolder implements ICreateFolder {
4
+ private readonly createOperation;
5
+ constructor(createOperation: AcoFolderStorageOperations["createFolder"]);
6
+ execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolder = void 0;
7
+ class CreateFolder {
8
+ constructor(createOperation) {
9
+ this.createOperation = createOperation;
10
+ }
11
+ async execute(params) {
12
+ return await this.createOperation({
13
+ data: params
14
+ });
15
+ }
16
+ }
17
+ exports.CreateFolder = CreateFolder;
18
+
19
+ //# sourceMappingURL=CreateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFolder","constructor","createOperation","execute","params","data","exports"],"sources":["CreateFolder.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { AcoFolderStorageOperations, CreateFolderParams } from \"~/folder/folder.types\";\n\nexport class CreateFolder implements ICreateFolder {\n private readonly createOperation: AcoFolderStorageOperations[\"createFolder\"];\n\n constructor(createOperation: AcoFolderStorageOperations[\"createFolder\"]) {\n this.createOperation = createOperation;\n }\n\n async execute(params: CreateFolderParams) {\n return await this.createOperation({ data: params });\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,eAA2D,EAAE;IACrE,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,OAAO,MAAM,IAAI,CAACF,eAAe,CAAC;MAAEG,IAAI,EAAED;IAAO,CAAC,CAAC;EACvD;AACJ;AAACE,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { CreateFolderUseCasesTopics } from "./index";
3
+ import type { CreateFolderParams } from "../../folder.types";
4
+ export declare class CreateFolderWithEvents implements ICreateFolder {
5
+ private topics;
6
+ private readonly decoretee;
7
+ constructor(topics: CreateFolderUseCasesTopics, decoretee: ICreateFolder);
8
+ execute(params: CreateFolderParams): Promise<import("../../folder.types").Folder>;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolderWithEvents = void 0;
7
+ class CreateFolderWithEvents {
8
+ constructor(topics, decoretee) {
9
+ this.topics = topics;
10
+ this.decoretee = decoretee;
11
+ }
12
+ async execute(params) {
13
+ await this.topics.onFolderBeforeCreate.publish({
14
+ input: params
15
+ });
16
+ const folder = await this.decoretee.execute(params);
17
+ await this.topics.onFolderAfterCreate.publish({
18
+ folder
19
+ });
20
+ return folder;
21
+ }
22
+ }
23
+ exports.CreateFolderWithEvents = CreateFolderWithEvents;
24
+
25
+ //# sourceMappingURL=CreateFolderWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFolderWithEvents","constructor","topics","decoretee","execute","params","onFolderBeforeCreate","publish","input","folder","onFolderAfterCreate","exports"],"sources":["CreateFolderWithEvents.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { CreateFolderUseCasesTopics } from \"./index\";\nimport type { CreateFolderParams } from \"~/folder/folder.types\";\n\nexport class CreateFolderWithEvents implements ICreateFolder {\n private topics: CreateFolderUseCasesTopics;\n private readonly decoretee: ICreateFolder;\n\n constructor(topics: CreateFolderUseCasesTopics, decoretee: ICreateFolder) {\n this.topics = topics;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateFolderParams) {\n await this.topics.onFolderBeforeCreate.publish({ input: params });\n const folder = await this.decoretee.execute(params);\n await this.topics.onFolderAfterCreate.publish({ folder });\n return folder;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sBAAsB,CAA0B;EAIzDC,WAAWA,CAACC,MAAkC,EAAEC,SAAwB,EAAE;IACtE,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAM,IAAI,CAACH,MAAM,CAACI,oBAAoB,CAACC,OAAO,CAAC;MAAEC,KAAK,EAAEH;IAAO,CAAC,CAAC;IACjE,MAAMI,MAAM,GAAG,MAAM,IAAI,CAACN,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACnD,MAAM,IAAI,CAACH,MAAM,CAACQ,mBAAmB,CAACH,OAAO,CAAC;MAAEE;IAAO,CAAC,CAAC;IACzD,OAAOA,MAAM;EACjB;AACJ;AAACE,OAAA,CAAAX,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import type { ICreateFolder } from "./ICreateFolder";
2
+ import type { CreateFolderParams } from "../../folder.types";
3
+ import { FolderLevelPermissions } from "../../../flp";
4
+ export declare class CreateFolderWithFolderLevelPermissions implements ICreateFolder {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: ICreateFolder);
8
+ execute(params: CreateFolderParams): Promise<{
9
+ permissions: import("../../../types").FolderPermission[];
10
+ id: string;
11
+ entryId: string;
12
+ createdOn: string;
13
+ modifiedOn: string | null;
14
+ savedOn: string;
15
+ createdBy: import("../../../types").User;
16
+ modifiedBy: import("../../../types").User | null;
17
+ savedBy: import("../../../types").User;
18
+ title: string;
19
+ slug: string;
20
+ type: string;
21
+ parentId?: string | null | undefined;
22
+ extensions?: Record<string, any> | undefined;
23
+ }>;
24
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CreateFolderWithFolderLevelPermissions = void 0;
7
+ var _apiSecurity = require("@webiny/api-security");
8
+ class CreateFolderWithFolderLevelPermissions {
9
+ constructor(folderLevelPermissions, decoretee) {
10
+ this.folderLevelPermissions = folderLevelPermissions;
11
+ this.decoretee = decoretee;
12
+ }
13
+ async execute(params) {
14
+ let canCreateFolder;
15
+ if (params.parentId) {
16
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
17
+ canCreateFolder = await this.folderLevelPermissions.canAccessFolder({
18
+ permissions,
19
+ rwd: "w"
20
+ });
21
+ } else {
22
+ canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();
23
+ }
24
+ if (!canCreateFolder) {
25
+ throw new _apiSecurity.NotAuthorizedError();
26
+ }
27
+ const folder = await this.decoretee.execute(params);
28
+
29
+ // Let's set default permissions based on the current user.
30
+ const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(folder?.permissions ?? []);
31
+ return {
32
+ ...folder,
33
+ permissions: permissionsWithDefaults
34
+ };
35
+ }
36
+ }
37
+ exports.CreateFolderWithFolderLevelPermissions = CreateFolderWithFolderLevelPermissions;
38
+
39
+ //# sourceMappingURL=CreateFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_apiSecurity","require","CreateFolderWithFolderLevelPermissions","constructor","folderLevelPermissions","decoretee","execute","params","canCreateFolder","parentId","permissions","getFolderLevelPermissions","canAccessFolder","rwd","canCreateFolderInRoot","NotAuthorizedError","folder","permissionsWithDefaults","getDefaultPermissions","exports"],"sources":["CreateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import type { ICreateFolder } from \"./ICreateFolder\";\nimport type { CreateFolderParams } from \"~/folder/folder.types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { FolderLevelPermissions } from \"~/flp\";\n\nexport class CreateFolderWithFolderLevelPermissions implements ICreateFolder {\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly decoretee: ICreateFolder;\n\n constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: ICreateFolder) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateFolderParams) {\n let canCreateFolder: boolean;\n if (params.parentId) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n params.parentId\n );\n canCreateFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n } else {\n canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();\n }\n\n if (!canCreateFolder) {\n throw new NotAuthorizedError();\n }\n\n const folder = await this.decoretee.execute(params);\n\n // Let's set default permissions based on the current user.\n const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(\n folder?.permissions ?? []\n );\n\n return {\n ...folder,\n permissions: permissionsWithDefaults\n };\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,sCAAsC,CAA0B;EAIzEC,WAAWA,CAACC,sBAA8C,EAAEC,SAAwB,EAAE;IAClF,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,IAAIC,eAAwB;IAC5B,IAAID,MAAM,CAACE,QAAQ,EAAE;MACjB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACN,sBAAsB,CAACO,yBAAyB,CAC3EJ,MAAM,CAACE,QACX,CAAC;MACDD,eAAe,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACQ,eAAe,CAAC;QAChEF,WAAW;QACXG,GAAG,EAAE;MACT,CAAC,CAAC;IACN,CAAC,MAAM;MACHL,eAAe,GAAG,IAAI,CAACJ,sBAAsB,CAACU,qBAAqB,CAAC,CAAC;IACzE;IAEA,IAAI,CAACN,eAAe,EAAE;MAClB,MAAM,IAAIO,+BAAkB,CAAC,CAAC;IAClC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACX,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;;IAEnD;IACA,MAAMU,uBAAuB,GAAG,MAAM,IAAI,CAACb,sBAAsB,CAACc,qBAAqB,CACnFF,MAAM,EAAEN,WAAW,IAAI,EAC3B,CAAC;IAED,OAAO;MACH,GAAGM,MAAM;MACTN,WAAW,EAAEO;IACjB,CAAC;EACL;AACJ;AAACE,OAAA,CAAAjB,sCAAA,GAAAA,sCAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { CreateFolderParams, Folder } from "../../folder.types";
2
+ export interface ICreateFolder {
3
+ execute: (params: CreateFolderParams) => Promise<Folder>;
4
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ICreateFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ICreateFolder.ts"],"sourcesContent":["import type { CreateFolderParams, Folder } from \"~/folder/folder.types\";\n\nexport interface ICreateFolder {\n execute: (params: CreateFolderParams) => Promise<Folder>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { Topic } from "@webiny/pubsub/types";
2
+ import { type AcoFolderStorageOperations, type OnFolderAfterCreateTopicParams, type OnFolderBeforeCreateTopicParams } from "../../folder.types";
3
+ import { CreateFolderWithFolderLevelPermissions } from "./CreateFolderWithFolderLevelPermissions";
4
+ import { FolderLevelPermissions } from "../../../flp";
5
+ export interface CreateFolderUseCasesTopics {
6
+ onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;
7
+ onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;
8
+ }
9
+ interface CreateFolderUseCasesParams {
10
+ createOperation: AcoFolderStorageOperations["createFolder"];
11
+ folderLevelPermissions: FolderLevelPermissions;
12
+ topics: CreateFolderUseCasesTopics;
13
+ }
14
+ export declare const getCreateFolderUseCases: (params: CreateFolderUseCasesParams) => {
15
+ createFolderUseCase: CreateFolderWithFolderLevelPermissions;
16
+ };
17
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getCreateFolderUseCases = void 0;
7
+ var _CreateFolder = require("./CreateFolder");
8
+ var _CreateFolderWithEvents = require("./CreateFolderWithEvents");
9
+ var _CreateFolderWithFolderLevelPermissions = require("./CreateFolderWithFolderLevelPermissions");
10
+ const getCreateFolderUseCases = params => {
11
+ const createFolder = new _CreateFolder.CreateFolder(params.createOperation);
12
+ const createFolderUseCaseWithEvents = new _CreateFolderWithEvents.CreateFolderWithEvents(params.topics, createFolder);
13
+ const createFolderUseCase = new _CreateFolderWithFolderLevelPermissions.CreateFolderWithFolderLevelPermissions(params.folderLevelPermissions, createFolderUseCaseWithEvents);
14
+ return {
15
+ createFolderUseCase
16
+ };
17
+ };
18
+ exports.getCreateFolderUseCases = getCreateFolderUseCases;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CreateFolder","require","_CreateFolderWithEvents","_CreateFolderWithFolderLevelPermissions","getCreateFolderUseCases","params","createFolder","CreateFolder","createOperation","createFolderUseCaseWithEvents","CreateFolderWithEvents","topics","createFolderUseCase","CreateFolderWithFolderLevelPermissions","folderLevelPermissions","exports"],"sources":["index.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport {\n type AcoFolderStorageOperations,\n type OnFolderAfterCreateTopicParams,\n type OnFolderBeforeCreateTopicParams\n} from \"~/folder/folder.types\";\nimport { CreateFolder } from \"./CreateFolder\";\nimport { CreateFolderWithEvents } from \"./CreateFolderWithEvents\";\nimport { CreateFolderWithFolderLevelPermissions } from \"./CreateFolderWithFolderLevelPermissions\";\nimport { FolderLevelPermissions } from \"~/flp\";\n\nexport interface CreateFolderUseCasesTopics {\n onFolderBeforeCreate: Topic<OnFolderBeforeCreateTopicParams>;\n onFolderAfterCreate: Topic<OnFolderAfterCreateTopicParams>;\n}\n\ninterface CreateFolderUseCasesParams {\n createOperation: AcoFolderStorageOperations[\"createFolder\"];\n folderLevelPermissions: FolderLevelPermissions;\n topics: CreateFolderUseCasesTopics;\n}\n\nexport const getCreateFolderUseCases = (params: CreateFolderUseCasesParams) => {\n const createFolder = new CreateFolder(params.createOperation);\n const createFolderUseCaseWithEvents = new CreateFolderWithEvents(params.topics, createFolder);\n const createFolderUseCase = new CreateFolderWithFolderLevelPermissions(\n params.folderLevelPermissions,\n createFolderUseCaseWithEvents\n );\n\n return {\n createFolderUseCase\n };\n};\n"],"mappings":";;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,uCAAA,GAAAF,OAAA;AAcO,MAAMG,uBAAuB,GAAIC,MAAkC,IAAK;EAC3E,MAAMC,YAAY,GAAG,IAAIC,0BAAY,CAACF,MAAM,CAACG,eAAe,CAAC;EAC7D,MAAMC,6BAA6B,GAAG,IAAIC,8CAAsB,CAACL,MAAM,CAACM,MAAM,EAAEL,YAAY,CAAC;EAC7F,MAAMM,mBAAmB,GAAG,IAAIC,8EAAsC,CAClER,MAAM,CAACS,sBAAsB,EAC7BL,6BACJ,CAAC;EAED,OAAO;IACHG;EACJ,CAAC;AACL,CAAC;AAACG,OAAA,CAAAX,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { IDeleteFolder } from "./IDeleteFolder";
2
+ import type { AcoFolderStorageOperations, DeleteFolderParams } from "../../folder.types";
3
+ export declare class DeleteFolder implements IDeleteFolder {
4
+ private readonly deleteOperation;
5
+ constructor(deleteOperation: AcoFolderStorageOperations["deleteFolder"]);
6
+ execute(params: DeleteFolderParams): Promise<boolean>;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolder = void 0;
7
+ class DeleteFolder {
8
+ constructor(deleteOperation) {
9
+ this.deleteOperation = deleteOperation;
10
+ }
11
+ async execute(params) {
12
+ await this.deleteOperation(params);
13
+ return true;
14
+ }
15
+ }
16
+ exports.DeleteFolder = DeleteFolder;
17
+
18
+ //# sourceMappingURL=DeleteFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolder","constructor","deleteOperation","execute","params","exports"],"sources":["DeleteFolder.ts"],"sourcesContent":["import type { IDeleteFolder } from \"./IDeleteFolder\";\nimport type { AcoFolderStorageOperations, DeleteFolderParams } from \"~/folder/folder.types\";\n\nexport class DeleteFolder implements IDeleteFolder {\n private readonly deleteOperation: AcoFolderStorageOperations[\"deleteFolder\"];\n\n constructor(deleteOperation: AcoFolderStorageOperations[\"deleteFolder\"]) {\n this.deleteOperation = deleteOperation;\n }\n\n async execute(params: DeleteFolderParams): Promise<boolean> {\n await this.deleteOperation(params);\n return true;\n }\n}\n"],"mappings":";;;;;;AAGO,MAAMA,YAAY,CAA0B;EAG/CC,WAAWA,CAACC,eAA2D,EAAE;IACrE,IAAI,CAACA,eAAe,GAAGA,eAAe;EAC1C;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAoB;IACxD,MAAM,IAAI,CAACF,eAAe,CAACE,MAAM,CAAC;IAClC,OAAO,IAAI;EACf;AACJ;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { DeleteFolderUseCasesTopics } from "./index";
2
+ import type { AcoFolderStorageOperations, DeleteFolderParams } from "../../folder.types";
3
+ import type { IDeleteFolder } from "./IDeleteFolder";
4
+ export declare class DeleteFolderWithEvents implements IDeleteFolder {
5
+ private topics;
6
+ private readonly getOperation;
7
+ private readonly decoretee;
8
+ constructor(topics: DeleteFolderUseCasesTopics, getOperation: AcoFolderStorageOperations["getFolder"], decoretee: IDeleteFolder);
9
+ execute(params: DeleteFolderParams): Promise<boolean>;
10
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolderWithEvents = void 0;
7
+ class DeleteFolderWithEvents {
8
+ constructor(topics, getOperation, decoretee) {
9
+ this.topics = topics;
10
+ this.getOperation = getOperation;
11
+ this.decoretee = decoretee;
12
+ }
13
+ async execute(params) {
14
+ const folder = await this.getOperation({
15
+ id: params.id
16
+ });
17
+ await this.topics.onFolderBeforeDelete.publish({
18
+ folder
19
+ });
20
+ await this.decoretee.execute(params);
21
+ await this.topics.onFolderAfterDelete.publish({
22
+ folder
23
+ });
24
+ return true;
25
+ }
26
+ }
27
+ exports.DeleteFolderWithEvents = DeleteFolderWithEvents;
28
+
29
+ //# sourceMappingURL=DeleteFolderWithEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolderWithEvents","constructor","topics","getOperation","decoretee","execute","params","folder","id","onFolderBeforeDelete","publish","onFolderAfterDelete","exports"],"sources":["DeleteFolderWithEvents.ts"],"sourcesContent":["import type { DeleteFolderUseCasesTopics } from \"./index\";\nimport type { AcoFolderStorageOperations, DeleteFolderParams } from \"~/folder/folder.types\";\nimport type { IDeleteFolder } from \"~/folder/useCases/DeleteFolder/IDeleteFolder\";\n\nexport class DeleteFolderWithEvents implements IDeleteFolder {\n private topics: DeleteFolderUseCasesTopics;\n private readonly getOperation: AcoFolderStorageOperations[\"getFolder\"];\n private readonly decoretee: IDeleteFolder;\n\n constructor(\n topics: DeleteFolderUseCasesTopics,\n getOperation: AcoFolderStorageOperations[\"getFolder\"],\n decoretee: IDeleteFolder\n ) {\n this.topics = topics;\n this.getOperation = getOperation;\n this.decoretee = decoretee;\n }\n\n async execute(params: DeleteFolderParams) {\n const folder = await this.getOperation({ id: params.id });\n await this.topics.onFolderBeforeDelete.publish({ folder });\n await this.decoretee.execute(params);\n await this.topics.onFolderAfterDelete.publish({ folder });\n return true;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sBAAsB,CAA0B;EAKzDC,WAAWA,CACPC,MAAkC,EAClCC,YAAqD,EACrDC,SAAwB,EAC1B;IACE,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,YAAY,CAAC;MAAEK,EAAE,EAAEF,MAAM,CAACE;IAAG,CAAC,CAAC;IACzD,MAAM,IAAI,CAACN,MAAM,CAACO,oBAAoB,CAACC,OAAO,CAAC;MAAEH;IAAO,CAAC,CAAC;IAC1D,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACpC,MAAM,IAAI,CAACJ,MAAM,CAACS,mBAAmB,CAACD,OAAO,CAAC;MAAEH;IAAO,CAAC,CAAC;IACzD,OAAO,IAAI;EACf;AACJ;AAACK,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { FolderLevelPermissions } from "../../../flp";
2
+ import type { IDeleteFolder } from "./IDeleteFolder";
3
+ import type { DeleteFolderParams } from "../../folder.types";
4
+ export declare class DeleteFolderWithFolderLevelPermissions implements IDeleteFolder {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IDeleteFolder);
8
+ execute(params: DeleteFolderParams): Promise<boolean>;
9
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DeleteFolderWithFolderLevelPermissions = void 0;
7
+ class DeleteFolderWithFolderLevelPermissions {
8
+ constructor(folderLevelPermissions, decoretee) {
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.decoretee = decoretee;
11
+ }
12
+ async execute(params) {
13
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.id);
14
+ await this.folderLevelPermissions.ensureCanAccessFolder({
15
+ permissions,
16
+ rwd: "d"
17
+ });
18
+ await this.decoretee.execute(params);
19
+ return true;
20
+ }
21
+ }
22
+ exports.DeleteFolderWithFolderLevelPermissions = DeleteFolderWithFolderLevelPermissions;
23
+
24
+ //# sourceMappingURL=DeleteFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DeleteFolderWithFolderLevelPermissions","constructor","folderLevelPermissions","decoretee","execute","params","permissions","getFolderLevelPermissions","id","ensureCanAccessFolder","rwd","exports"],"sources":["DeleteFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/flp\";\nimport type { IDeleteFolder } from \"./IDeleteFolder\";\nimport type { DeleteFolderParams } from \"~/folder/folder.types\";\n\nexport class DeleteFolderWithFolderLevelPermissions implements IDeleteFolder {\n private folderLevelPermissions: FolderLevelPermissions;\n private readonly decoretee: IDeleteFolder;\n\n constructor(folderLevelPermissions: FolderLevelPermissions, decoretee: IDeleteFolder) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: DeleteFolderParams) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.id);\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions,\n rwd: \"d\"\n });\n await this.decoretee.execute(params);\n return true;\n }\n}\n"],"mappings":";;;;;;AAIO,MAAMA,sCAAsC,CAA0B;EAIzEC,WAAWA,CAACC,sBAA8C,EAAEC,SAAwB,EAAE;IAClF,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAAE;IACtC,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACK,yBAAyB,CAACF,MAAM,CAACG,EAAE,CAAC;IAC1F,MAAM,IAAI,CAACN,sBAAsB,CAACO,qBAAqB,CAAC;MACpDH,WAAW;MACXI,GAAG,EAAE;IACT,CAAC,CAAC;IACF,MAAM,IAAI,CAACP,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IACpC,OAAO,IAAI;EACf;AACJ;AAACM,OAAA,CAAAX,sCAAA,GAAAA,sCAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { DeleteFolderParams } from "../../folder.types";
2
+ export interface IDeleteFolder {
3
+ execute: (params: DeleteFolderParams) => Promise<boolean>;
4
+ }