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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/apps/AcoApp.d.ts +7 -2
  2. package/apps/AcoApp.js +56 -21
  3. package/apps/AcoApp.js.map +1 -1
  4. package/apps/AcoApps.d.ts +1 -1
  5. package/apps/AcoApps.js +7 -8
  6. package/apps/AcoApps.js.map +1 -1
  7. package/apps/app.gql.d.ts +1 -1
  8. package/apps/app.gql.js +6 -5
  9. package/apps/app.gql.js.map +1 -1
  10. package/apps/index.js +3 -1
  11. package/apps/index.js.map +1 -1
  12. package/constants.d.ts +3 -0
  13. package/constants.js +26 -0
  14. package/constants.js.map +1 -0
  15. package/createAcoContext.d.ts +8 -2
  16. package/createAcoContext.js +57 -27
  17. package/createAcoContext.js.map +1 -1
  18. package/createAcoGraphQL.d.ts +3 -2
  19. package/createAcoGraphQL.js +44 -2
  20. package/createAcoGraphQL.js.map +1 -1
  21. package/createAcoHooks.d.ts +1 -1
  22. package/createAcoHooks.js +11 -3
  23. package/createAcoHooks.js.map +1 -1
  24. package/createAcoModels.d.ts +2 -2
  25. package/createAcoModels.js +14 -21
  26. package/createAcoModels.js.map +1 -1
  27. package/createAcoStorageOperations.d.ts +6 -5
  28. package/createAcoStorageOperations.js +14 -9
  29. package/createAcoStorageOperations.js.map +1 -1
  30. package/createAcoTasks.d.ts +1 -0
  31. package/createAcoTasks.js +13 -0
  32. package/createAcoTasks.js.map +1 -0
  33. package/filter/filter.crud.d.ts +3 -0
  34. package/filter/filter.crud.js +94 -0
  35. package/filter/filter.crud.js.map +1 -0
  36. package/filter/filter.gql.d.ts +3 -0
  37. package/filter/filter.gql.js +152 -0
  38. package/filter/filter.gql.js.map +1 -0
  39. package/filter/filter.model.d.ts +2 -0
  40. package/filter/filter.model.js +124 -0
  41. package/filter/filter.model.js.map +1 -0
  42. package/filter/filter.so.d.ts +3 -0
  43. package/filter/filter.so.js +98 -0
  44. package/filter/filter.so.js.map +1 -0
  45. package/filter/filter.types.d.ts +95 -0
  46. package/filter/filter.types.js +13 -0
  47. package/filter/filter.types.js.map +1 -0
  48. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  49. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  57. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  58. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  66. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  67. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  75. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  76. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  84. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  85. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  93. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  94. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  95. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  96. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  97. package/flp/FolderLevelPermissions/index.js +116 -0
  98. package/flp/FolderLevelPermissions/index.js.map +1 -0
  99. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  100. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  117. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  118. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  126. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  127. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  144. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  145. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  153. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  154. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  168. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  169. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  177. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  178. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  186. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  187. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  188. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  189. package/flp/flp.crud.d.ts +9 -0
  190. package/flp/flp.crud.js +172 -0
  191. package/flp/flp.crud.js.map +1 -0
  192. package/flp/flp.so.d.ts +26 -0
  193. package/flp/flp.so.js +304 -0
  194. package/flp/flp.so.js.map +1 -0
  195. package/flp/flp.types.d.ts +147 -0
  196. package/flp/flp.types.js +18 -0
  197. package/flp/flp.types.js.map +1 -0
  198. package/flp/hooks/index.d.ts +2 -0
  199. package/flp/hooks/index.js +17 -0
  200. package/flp/hooks/index.js.map +1 -0
  201. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  202. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  204. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  205. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  207. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  208. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  210. package/flp/index.d.ts +5 -0
  211. package/flp/index.js +62 -0
  212. package/flp/index.js.map +1 -0
  213. package/flp/tasks/createFlp.task.d.ts +2 -0
  214. package/flp/tasks/createFlp.task.js +49 -0
  215. package/flp/tasks/createFlp.task.js.map +1 -0
  216. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  217. package/flp/tasks/deleteFlp.task.js +49 -0
  218. package/flp/tasks/deleteFlp.task.js.map +1 -0
  219. package/flp/tasks/index.d.ts +5 -0
  220. package/flp/tasks/index.js +20 -0
  221. package/flp/tasks/index.js.map +1 -0
  222. package/flp/tasks/syncFlp.task.d.ts +2 -0
  223. package/flp/tasks/syncFlp.task.js +126 -0
  224. package/flp/tasks/syncFlp.task.js.map +1 -0
  225. package/flp/tasks/updateFlp.task.d.ts +2 -0
  226. package/flp/tasks/updateFlp.task.js +55 -0
  227. package/flp/tasks/updateFlp.task.js.map +1 -0
  228. package/flp/useCases/CreateFlp.d.ts +7 -0
  229. package/flp/useCases/CreateFlp.js +51 -0
  230. package/flp/useCases/CreateFlp.js.map +1 -0
  231. package/flp/useCases/DeleteFlp.d.ts +6 -0
  232. package/flp/useCases/DeleteFlp.js +30 -0
  233. package/flp/useCases/DeleteFlp.js.map +1 -0
  234. package/flp/useCases/UpdateFlp.d.ts +26 -0
  235. package/flp/useCases/UpdateFlp.js +198 -0
  236. package/flp/useCases/UpdateFlp.js.map +1 -0
  237. package/flp/useCases/index.d.ts +3 -0
  238. package/flp/useCases/index.js +40 -0
  239. package/flp/useCases/index.js.map +1 -0
  240. package/folder/createFolderModelModifier.d.ts +36 -0
  241. package/folder/createFolderModelModifier.js +70 -0
  242. package/folder/createFolderModelModifier.js.map +1 -0
  243. package/folder/createFolderTypeDefs.d.ts +7 -0
  244. package/folder/createFolderTypeDefs.js +207 -0
  245. package/folder/createFolderTypeDefs.js.map +1 -0
  246. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  247. package/folder/ensureFolderIsEmpty.js +63 -0
  248. package/folder/ensureFolderIsEmpty.js.map +1 -0
  249. package/folder/folder.crud.d.ts +8 -3
  250. package/folder/folder.crud.js +112 -65
  251. package/folder/folder.crud.js.map +1 -1
  252. package/folder/folder.gql.d.ts +3 -2
  253. package/folder/folder.gql.js +121 -104
  254. package/folder/folder.gql.js.map +1 -1
  255. package/folder/folder.model.d.ts +1 -3
  256. package/folder/folder.model.js +80 -11
  257. package/folder/folder.model.js.map +1 -1
  258. package/folder/folder.so.d.ts +2 -2
  259. package/folder/folder.so.js +68 -22
  260. package/folder/folder.so.js.map +1 -1
  261. package/folder/folder.types.d.ts +67 -8
  262. package/folder/folder.types.js +3 -1
  263. package/folder/folder.types.js.map +1 -1
  264. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  265. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  266. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  267. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  268. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  270. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  271. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  273. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  274. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  276. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  277. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  282. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  283. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  285. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  286. package/folder/useCases/CreateFolder/index.js +20 -0
  287. package/folder/useCases/CreateFolder/index.js.map +1 -0
  288. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  289. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  297. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  298. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  300. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  301. package/folder/useCases/DeleteFolder/index.js +20 -0
  302. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  303. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  304. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  306. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  307. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  309. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  310. package/folder/useCases/GetAncestors/index.js +16 -0
  311. package/folder/useCases/GetAncestors/index.js.map +1 -0
  312. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  313. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  314. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  315. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  316. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  318. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  319. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  320. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  321. package/folder/useCases/GetFolder/index.d.ts +13 -0
  322. package/folder/useCases/GetFolder/index.js +19 -0
  323. package/folder/useCases/GetFolder/index.js.map +1 -0
  324. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  325. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  330. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  331. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  333. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  334. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  335. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  336. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  337. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  357. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  358. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  359. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  360. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  361. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  362. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  363. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  364. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  366. package/folder/useCases/ListFolders/index.d.ts +13 -0
  367. package/folder/useCases/ListFolders/index.js +19 -0
  368. package/folder/useCases/ListFolders/index.js.map +1 -0
  369. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  370. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  372. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  373. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  381. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  382. package/folder/useCases/UpdateFolder/index.js +20 -0
  383. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  384. package/folder/useCases/index.d.ts +8 -0
  385. package/folder/useCases/index.js +95 -0
  386. package/folder/useCases/index.js.map +1 -0
  387. package/index.d.ts +8 -1
  388. package/index.js +27 -5
  389. package/index.js.map +1 -1
  390. package/package.json +33 -33
  391. package/plugins/AcoAppModifierPlugin.d.ts +3 -3
  392. package/plugins/AcoAppModifierPlugin.js +4 -5
  393. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  394. package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
  395. package/plugins/AcoAppRegisterPlugin.js +4 -5
  396. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  397. package/plugins/index.js +3 -1
  398. package/plugins/index.js.map +1 -1
  399. package/record/graphql/createAppResolvers.d.ts +2 -2
  400. package/record/graphql/createAppResolvers.js +26 -19
  401. package/record/graphql/createAppResolvers.js.map +1 -1
  402. package/record/graphql/createAppSchema.d.ts +2 -2
  403. package/record/graphql/createAppSchema.js +13 -9
  404. package/record/graphql/createAppSchema.js.map +1 -1
  405. package/record/record.crud.d.ts +2 -2
  406. package/record/record.crud.js +13 -11
  407. package/record/record.crud.js.map +1 -1
  408. package/record/record.gql.d.ts +1 -1
  409. package/record/record.gql.js +3 -1
  410. package/record/record.gql.js.map +1 -1
  411. package/record/record.model.d.ts +3 -5
  412. package/record/record.model.js +18 -13
  413. package/record/record.model.js.map +1 -1
  414. package/record/record.so.d.ts +2 -2
  415. package/record/record.so.js +114 -93
  416. package/record/record.so.js.map +1 -1
  417. package/record/record.types.d.ts +17 -16
  418. package/record/record.types.js +3 -1
  419. package/record/record.types.js.map +1 -1
  420. package/types.d.ts +41 -15
  421. package/types.js +36 -4
  422. package/types.js.map +1 -1
  423. package/utils/FoldersCacheFactory.d.ts +10 -0
  424. package/utils/FoldersCacheFactory.js +31 -0
  425. package/utils/FoldersCacheFactory.js.map +1 -0
  426. package/utils/ListCache.d.ts +23 -0
  427. package/utils/ListCache.js +31 -0
  428. package/utils/ListCache.js.map +1 -0
  429. package/utils/ListFoldersRepository.d.ts +10 -0
  430. package/utils/ListFoldersRepository.js +35 -0
  431. package/utils/ListFoldersRepository.js.map +1 -0
  432. package/utils/Path.d.ts +3 -0
  433. package/utils/Path.js +18 -0
  434. package/utils/Path.js.map +1 -0
  435. package/utils/acoRecordId.js +3 -1
  436. package/utils/acoRecordId.js.map +1 -1
  437. package/utils/compress.d.ts +4 -0
  438. package/utils/compress.js +19 -0
  439. package/utils/compress.js.map +1 -0
  440. package/utils/createListSort.d.ts +3 -2
  441. package/utils/createListSort.js +6 -2
  442. package/utils/createListSort.js.map +1 -1
  443. package/utils/createModelField.d.ts +1 -1
  444. package/utils/createModelField.js +3 -1
  445. package/utils/createModelField.js.map +1 -1
  446. package/utils/createOperationsWrapper.d.ts +2 -2
  447. package/utils/createOperationsWrapper.js +8 -10
  448. package/utils/createOperationsWrapper.js.map +1 -1
  449. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  450. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  451. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  452. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  453. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  454. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  455. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  456. package/utils/decorators/ListEntriesFactory.js +107 -0
  457. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  458. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  459. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  460. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  461. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  462. package/utils/decorators/hasRootFolderId.js +27 -0
  463. package/utils/decorators/hasRootFolderId.js.map +1 -0
  464. package/utils/decorators/isPageModel.d.ts +5 -0
  465. package/utils/decorators/isPageModel.js +20 -0
  466. package/utils/decorators/isPageModel.js.map +1 -0
  467. package/utils/ensureAuthentication.d.ts +2 -0
  468. package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
  469. package/utils/ensureAuthentication.js.map +1 -0
  470. package/utils/modelFactory.d.ts +2 -4
  471. package/utils/modelFactory.js +7 -10
  472. package/utils/modelFactory.js.map +1 -1
  473. package/utils/pickEntryFieldValues.d.ts +3 -0
  474. package/utils/pickEntryFieldValues.js +30 -0
  475. package/utils/pickEntryFieldValues.js.map +1 -0
  476. package/utils/resolve.js +3 -1
  477. package/utils/resolve.js.map +1 -1
  478. package/fields/index.d.ts +0 -2
  479. package/fields/index.js +0 -12
  480. package/fields/index.js.map +0 -1
  481. package/fields/location.d.ts +0 -2
  482. package/fields/location.js +0 -44
  483. package/fields/location.js.map +0 -1
  484. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  485. package/folder/onFolderBeforeDelete.hook.js +0 -66
  486. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  487. package/utils/checkPermissions.d.ts +0 -2
  488. package/utils/checkPermissions.js.map +0 -1
  489. package/utils/fieldResolver.d.ts +0 -16
  490. package/utils/fieldResolver.js +0 -44
  491. package/utils/fieldResolver.js.map +0 -1
  492. package/utils/getFieldValues.d.ts +0 -5
  493. package/utils/getFieldValues.js +0 -16
  494. package/utils/getFieldValues.js.map +0 -1
  495. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  496. package/utils/getFolderAndItsAncestors.js +0 -48
  497. package/utils/getFolderAndItsAncestors.js.map +0 -1
  498. package/utils/isInstallationPending.d.ts +0 -4
  499. package/utils/isInstallationPending.js +0 -21
  500. package/utils/isInstallationPending.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ensureFolderIsEmpty = void 0;
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
+ var _apiSecurity = require("@webiny/api-security");
10
+ const ensureFolderIsEmpty = async ({
11
+ context,
12
+ folder,
13
+ hasContentCallback
14
+ }) => {
15
+ const hasFoldersCallback = async () => {
16
+ const {
17
+ id,
18
+ type
19
+ } = folder;
20
+ const [folders] = await context.aco.folder.list({
21
+ where: {
22
+ type,
23
+ parentId: id
24
+ },
25
+ limit: 1
26
+ });
27
+ return folders.length > 0;
28
+ };
29
+ const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
30
+ if (hasFolders || hasContent) {
31
+ throw new _error.default("Delete all child folders and entries before proceeding.", "DELETE_FOLDER_WITH_CHILDREN", {
32
+ folder,
33
+ hasFolders,
34
+ hasContent
35
+ });
36
+ }
37
+
38
+ // Let's also check if there are folders / content that are not visible because of folder permissions.
39
+ if (!context.aco.folderLevelPermissions.canUseFolderLevelPermissions()) {
40
+ // If folder level permissions are not enabled, we can skip this check. This is because
41
+ // in that case, all folders and content are visible to the user.
42
+ return;
43
+ }
44
+ const [hasInvisibleFolders, hasInvisibleContent] = await context.security.withoutAuthorization(async () => {
45
+ const [hasFolders, hasContent] = await Promise.all([hasFoldersCallback(), hasContentCallback()]);
46
+ return [hasFolders, hasContent];
47
+ });
48
+
49
+ // In case there are invisible folders or content, we'll throw a different error.
50
+ // This is to prevent users from deleting folders that contain content they can't see.
51
+ if (hasInvisibleFolders || hasInvisibleContent) {
52
+ throw new _apiSecurity.NotAuthorizedError({
53
+ data: {
54
+ folder,
55
+ hasFolders: hasInvisibleFolders,
56
+ hasContent: hasInvisibleContent
57
+ }
58
+ });
59
+ }
60
+ };
61
+ exports.ensureFolderIsEmpty = ensureFolderIsEmpty;
62
+
63
+ //# sourceMappingURL=ensureFolderIsEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_apiSecurity","ensureFolderIsEmpty","context","folder","hasContentCallback","hasFoldersCallback","id","type","folders","aco","list","where","parentId","limit","length","hasFolders","hasContent","Promise","all","WebinyError","folderLevelPermissions","canUseFolderLevelPermissions","hasInvisibleFolders","hasInvisibleContent","security","withoutAuthorization","NotAuthorizedError","data","exports"],"sources":["ensureFolderIsEmpty.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { AcoContext, Folder } from \"~/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\n\ninterface EnsureFolderIsEmptyParams {\n context: AcoContext;\n folder: Pick<Folder, \"id\" | \"type\">;\n hasContentCallback: () => boolean | Promise<boolean>;\n}\n\nexport const ensureFolderIsEmpty = async ({\n context,\n folder,\n hasContentCallback\n}: EnsureFolderIsEmptyParams) => {\n const hasFoldersCallback = async () => {\n const { id, type } = folder;\n const [folders] = await context.aco.folder.list({\n where: {\n type,\n parentId: id\n },\n limit: 1\n });\n\n return folders.length > 0;\n };\n\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n\n if (hasFolders || hasContent) {\n throw new WebinyError(\n \"Delete all child folders and entries before proceeding.\",\n \"DELETE_FOLDER_WITH_CHILDREN\",\n {\n folder,\n hasFolders,\n hasContent\n }\n );\n }\n\n // Let's also check if there are folders / content that are not visible because of folder permissions.\n if (!context.aco.folderLevelPermissions.canUseFolderLevelPermissions()) {\n // If folder level permissions are not enabled, we can skip this check. This is because\n // in that case, all folders and content are visible to the user.\n return;\n }\n\n const [hasInvisibleFolders, hasInvisibleContent] = await context.security.withoutAuthorization(\n async () => {\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n return [hasFolders, hasContent];\n }\n );\n\n // In case there are invisible folders or content, we'll throw a different error.\n // This is to prevent users from deleting folders that contain content they can't see.\n if (hasInvisibleFolders || hasInvisibleContent) {\n throw new NotAuthorizedError({\n data: {\n folder,\n hasFolders: hasInvisibleFolders,\n hasContent: hasInvisibleContent\n }\n });\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAQO,MAAME,mBAAmB,GAAG,MAAAA,CAAO;EACtCC,OAAO;EACPC,MAAM;EACNC;AACuB,CAAC,KAAK;EAC7B,MAAMC,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACnC,MAAM;MAAEC,EAAE;MAAEC;IAAK,CAAC,GAAGJ,MAAM;IAC3B,MAAM,CAACK,OAAO,CAAC,GAAG,MAAMN,OAAO,CAACO,GAAG,CAACN,MAAM,CAACO,IAAI,CAAC;MAC5CC,KAAK,EAAE;QACHJ,IAAI;QACJK,QAAQ,EAAEN;MACd,CAAC;MACDO,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,OAAOL,OAAO,CAACM,MAAM,GAAG,CAAC;EAC7B,CAAC;EAED,MAAM,CAACC,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/Cb,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;EAEF,IAAIW,UAAU,IAAIC,UAAU,EAAE;IAC1B,MAAM,IAAIG,cAAW,CACjB,yDAAyD,EACzD,6BAA6B,EAC7B;MACIhB,MAAM;MACNY,UAAU;MACVC;IACJ,CACJ,CAAC;EACL;;EAEA;EACA,IAAI,CAACd,OAAO,CAACO,GAAG,CAACW,sBAAsB,CAACC,4BAA4B,CAAC,CAAC,EAAE;IACpE;IACA;IACA;EACJ;EAEA,MAAM,CAACC,mBAAmB,EAAEC,mBAAmB,CAAC,GAAG,MAAMrB,OAAO,CAACsB,QAAQ,CAACC,oBAAoB,CAC1F,YAAY;IACR,MAAM,CAACV,UAAU,EAAEC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/Cb,kBAAkB,CAAC,CAAC,EACpBD,kBAAkB,CAAC,CAAC,CACvB,CAAC;IACF,OAAO,CAACW,UAAU,EAAEC,UAAU,CAAC;EACnC,CACJ,CAAC;;EAED;EACA;EACA,IAAIM,mBAAmB,IAAIC,mBAAmB,EAAE;IAC5C,MAAM,IAAIG,+BAAkB,CAAC;MACzBC,IAAI,EAAE;QACFxB,MAAM;QACNY,UAAU,EAAEO,mBAAmB;QAC/BN,UAAU,EAAEO;MAChB;IACJ,CAAC,CAAC;EACN;AACJ,CAAC;AAACK,OAAA,CAAA3B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,3 +1,8 @@
1
- import { CreateAcoParams } from "../types";
2
- import { AcoFolderCrud } from "./folder.types";
3
- export declare const createFolderCrudMethods: ({ storageOperations }: CreateAcoParams) => AcoFolderCrud;
1
+ import type { AcoFolderCrud } from "./folder.types";
2
+ import type { CreateAcoParams } from "../types";
3
+ import { type AcoContext } from "../types";
4
+ interface CreateFolderCrudMethodsParams extends CreateAcoParams {
5
+ context: AcoContext;
6
+ }
7
+ export declare const createFolderCrudMethods: ({ storageOperations, folderLevelPermissions, context }: CreateFolderCrudMethodsParams) => AcoFolderCrud;
8
+ export {};
@@ -5,9 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createFolderCrudMethods = void 0;
7
7
  var _pubsub = require("@webiny/pubsub");
8
- var _getFolderAndItsAncestors = require("../utils/getFolderAndItsAncestors");
8
+ var _useCases = require("./useCases");
9
+ const FIXED_FOLDER_LISTING_LIMIT = 10_000;
9
10
  const createFolderCrudMethods = ({
10
- storageOperations
11
+ storageOperations,
12
+ folderLevelPermissions,
13
+ context
11
14
  }) => {
12
15
  // create
13
16
  const onFolderBeforeCreate = (0, _pubsub.createTopic)("aco.onFolderBeforeCreate");
@@ -18,6 +21,69 @@ const createFolderCrudMethods = ({
18
21
  // delete
19
22
  const onFolderBeforeDelete = (0, _pubsub.createTopic)("aco.onFolderBeforeDelete");
20
23
  const onFolderAfterDelete = (0, _pubsub.createTopic)("aco.onFolderAfterDelete");
24
+ const {
25
+ getFolderUseCase,
26
+ getFolderUseCaseWithoutPermissions
27
+ } = (0, _useCases.getGetFolderUseCase)({
28
+ getOperation: storageOperations.folder.getFolder,
29
+ folderLevelPermissions
30
+ });
31
+ const {
32
+ listFoldersUseCase,
33
+ listFoldersUseCaseWithoutPermissions
34
+ } = (0, _useCases.getListFoldersUseCases)({
35
+ listOperation: storageOperations.folder.listFolders,
36
+ folderLevelPermissions
37
+ });
38
+ const {
39
+ getFolderHierarchyUseCase
40
+ } = (0, _useCases.getGetFolderHierarchyUseCases)({
41
+ listOperation: storageOperations.folder.listFolders,
42
+ getOperation: storageOperations.folder.getFolder,
43
+ folderLevelPermissions
44
+ });
45
+ const {
46
+ createFolderUseCase
47
+ } = (0, _useCases.getCreateFolderUseCases)({
48
+ createOperation: storageOperations.folder.createFolder,
49
+ folderLevelPermissions,
50
+ topics: {
51
+ onFolderAfterCreate,
52
+ onFolderBeforeCreate
53
+ }
54
+ });
55
+ const {
56
+ updateFolderUseCase
57
+ } = (0, _useCases.getUpdateFolderUseCase)({
58
+ updateOperation: storageOperations.folder.updateFolder,
59
+ getOperation: storageOperations.folder.getFolder,
60
+ folderLevelPermissions,
61
+ topics: {
62
+ onFolderAfterUpdate,
63
+ onFolderBeforeUpdate
64
+ }
65
+ });
66
+ const {
67
+ deleteFolderUseCase
68
+ } = (0, _useCases.getDeleteFolderUseCases)({
69
+ deleteOperation: storageOperations.folder.deleteFolder,
70
+ getOperation: storageOperations.folder.getFolder,
71
+ folderLevelPermissions,
72
+ topics: {
73
+ onFolderBeforeDelete,
74
+ onFolderAfterDelete
75
+ }
76
+ });
77
+ const {
78
+ getAncestorsUseCase
79
+ } = (0, _useCases.getGetAncestors)({
80
+ listFoldersUseCase: listFoldersUseCase
81
+ });
82
+ const {
83
+ listFolderLevelPermissionsTargetsUseCase
84
+ } = (0, _useCases.getListFolderLevelPermissionsTargets)({
85
+ context
86
+ });
21
87
  return {
22
88
  /**
23
89
  * Lifecycle events
@@ -28,83 +94,64 @@ const createFolderCrudMethods = ({
28
94
  onFolderAfterUpdate,
29
95
  onFolderBeforeDelete,
30
96
  onFolderAfterDelete,
31
- async get(id) {
32
- return storageOperations.getFolder({
97
+ async get(id, disablePermissions) {
98
+ // If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.
99
+ if (disablePermissions) {
100
+ return await getFolderUseCaseWithoutPermissions.execute({
101
+ id
102
+ });
103
+ }
104
+ return await getFolderUseCase.execute({
33
105
  id
34
106
  });
35
107
  },
36
- async list(params) {
37
- return storageOperations.listFolders(params);
108
+ async list({
109
+ disablePermissions,
110
+ ...params
111
+ }) {
112
+ // If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.
113
+ if (disablePermissions) {
114
+ return await listFoldersUseCaseWithoutPermissions.execute(params);
115
+ }
116
+ return await listFoldersUseCase.execute(params);
38
117
  },
39
- async create(data) {
40
- await onFolderBeforeCreate.publish({
41
- input: data
118
+ async listAll(params) {
119
+ return await this.list({
120
+ ...params,
121
+ limit: FIXED_FOLDER_LISTING_LIMIT
42
122
  });
43
- const folder = await storageOperations.createFolder({
44
- data
45
- });
46
- await onFolderAfterCreate.publish({
47
- folder
48
- });
49
- return folder;
50
123
  },
51
- async update(id, data) {
52
- const original = await storageOperations.getFolder({
53
- id
54
- });
55
- await onFolderBeforeUpdate.publish({
56
- original,
57
- input: {
58
- id,
59
- data
60
- }
61
- });
62
- const folder = await storageOperations.updateFolder({
63
- id,
64
- data
65
- });
66
- await onFolderAfterUpdate.publish({
67
- original,
68
- input: {
69
- id,
70
- data
71
- },
72
- folder
73
- });
74
- return folder;
124
+ async getFolderHierarchy(params) {
125
+ return await getFolderHierarchyUseCase.execute(params);
126
+ },
127
+ async create(data) {
128
+ return await createFolderUseCase.execute(data);
75
129
  },
76
130
  async delete(id) {
77
- const folder = await storageOperations.getFolder({
131
+ return await deleteFolderUseCase.execute({
78
132
  id
79
133
  });
80
- await onFolderBeforeDelete.publish({
81
- folder
82
- });
83
- await storageOperations.deleteFolder({
84
- id
85
- });
86
- await onFolderAfterDelete.publish({
134
+ },
135
+ async update(id, data) {
136
+ return await updateFolderUseCase.execute(id, data);
137
+ },
138
+ async getAncestors(folder) {
139
+ return getAncestorsUseCase.execute({
87
140
  folder
88
141
  });
89
- return true;
90
142
  },
143
+ /**
144
+ * @deprecated use `getAncestors` instead
145
+ */
91
146
  async getFolderWithAncestors(id) {
92
- const {
93
- type
94
- } = await storageOperations.getFolder({
95
- id
96
- });
97
- const [folders] = await storageOperations.listFolders({
98
- where: {
99
- type
100
- },
101
- limit: 10000
102
- });
103
- return (0, _getFolderAndItsAncestors.getFolderAndItsAncestors)({
104
- id,
105
- folders
106
- });
147
+ const folder = await this.get(id);
148
+ return this.getAncestors(folder);
149
+ },
150
+ async listFolderLevelPermissionsTargets() {
151
+ return await listFolderLevelPermissionsTargetsUseCase.execute();
107
152
  }
108
153
  };
109
154
  };
110
- exports.createFolderCrudMethods = createFolderCrudMethods;
155
+ exports.createFolderCrudMethods = createFolderCrudMethods;
156
+
157
+ //# sourceMappingURL=folder.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFolderCrudMethods","storageOperations","onFolderBeforeCreate","createTopic","onFolderAfterCreate","onFolderBeforeUpdate","onFolderAfterUpdate","onFolderBeforeDelete","onFolderAfterDelete","get","id","getFolder","list","params","listFolders","create","data","publish","input","folder","createFolder","update","original","updateFolder","delete","deleteFolder","getFolderWithAncestors","type","folders","where","limit","getFolderAndItsAncestors"],"sources":["folder.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\n\nimport { CreateAcoParams } from \"~/types\";\nimport {\n AcoFolderCrud,\n OnFolderAfterCreateTopicParams,\n OnFolderAfterDeleteTopicParams,\n OnFolderAfterUpdateTopicParams,\n OnFolderBeforeCreateTopicParams,\n OnFolderBeforeDeleteTopicParams,\n OnFolderBeforeUpdateTopicParams\n} from \"./folder.types\";\n\nimport { getFolderAndItsAncestors } from \"~/utils/getFolderAndItsAncestors\";\n\nexport const createFolderCrudMethods = ({ storageOperations }: CreateAcoParams): AcoFolderCrud => {\n // create\n const onFolderBeforeCreate = createTopic<OnFolderBeforeCreateTopicParams>(\n \"aco.onFolderBeforeCreate\"\n );\n const onFolderAfterCreate =\n createTopic<OnFolderAfterCreateTopicParams>(\"aco.onFolderAfterCreate\");\n // update\n const onFolderBeforeUpdate = createTopic<OnFolderBeforeUpdateTopicParams>(\n \"aco.onFolderBeforeUpdate\"\n );\n const onFolderAfterUpdate =\n createTopic<OnFolderAfterUpdateTopicParams>(\"aco.onFolderAfterUpdate\");\n // delete\n const onFolderBeforeDelete = createTopic<OnFolderBeforeDeleteTopicParams>(\n \"aco.onFolderBeforeDelete\"\n );\n const onFolderAfterDelete =\n createTopic<OnFolderAfterDeleteTopicParams>(\"aco.onFolderAfterDelete\");\n\n return {\n /**\n * Lifecycle events\n */\n onFolderBeforeCreate,\n onFolderAfterCreate,\n onFolderBeforeUpdate,\n onFolderAfterUpdate,\n onFolderBeforeDelete,\n onFolderAfterDelete,\n async get(id) {\n return storageOperations.getFolder({ id });\n },\n async list(params) {\n return storageOperations.listFolders(params);\n },\n async create(data) {\n await onFolderBeforeCreate.publish({ input: data });\n const folder = await storageOperations.createFolder({ data });\n await onFolderAfterCreate.publish({ folder });\n return folder;\n },\n async update(id, data) {\n const original = await storageOperations.getFolder({ id });\n await onFolderBeforeUpdate.publish({ original, input: { id, data } });\n const folder = await storageOperations.updateFolder({ id, data });\n await onFolderAfterUpdate.publish({ original, input: { id, data }, folder });\n return folder;\n },\n async delete(id: string) {\n const folder = await storageOperations.getFolder({ id });\n await onFolderBeforeDelete.publish({ folder });\n await storageOperations.deleteFolder({ id });\n await onFolderAfterDelete.publish({ folder });\n return true;\n },\n async getFolderWithAncestors(id: string) {\n const { type } = await storageOperations.getFolder({ id });\n const [folders] = await storageOperations.listFolders({\n where: {\n type\n },\n limit: 10000\n });\n return getFolderAndItsAncestors({ id, folders });\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pubsub","require","_useCases","FIXED_FOLDER_LISTING_LIMIT","createFolderCrudMethods","storageOperations","folderLevelPermissions","context","onFolderBeforeCreate","createTopic","onFolderAfterCreate","onFolderBeforeUpdate","onFolderAfterUpdate","onFolderBeforeDelete","onFolderAfterDelete","getFolderUseCase","getFolderUseCaseWithoutPermissions","getGetFolderUseCase","getOperation","folder","getFolder","listFoldersUseCase","listFoldersUseCaseWithoutPermissions","getListFoldersUseCases","listOperation","listFolders","getFolderHierarchyUseCase","getGetFolderHierarchyUseCases","createFolderUseCase","getCreateFolderUseCases","createOperation","createFolder","topics","updateFolderUseCase","getUpdateFolderUseCase","updateOperation","updateFolder","deleteFolderUseCase","getDeleteFolderUseCases","deleteOperation","deleteFolder","getAncestorsUseCase","getGetAncestors","listFolderLevelPermissionsTargetsUseCase","getListFolderLevelPermissionsTargets","get","id","disablePermissions","execute","list","params","listAll","limit","getFolderHierarchy","create","data","delete","update","getAncestors","getFolderWithAncestors","listFolderLevelPermissionsTargets","exports"],"sources":["folder.crud.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport type {\n AcoFolderCrud,\n OnFolderAfterCreateTopicParams,\n OnFolderAfterDeleteTopicParams,\n OnFolderAfterUpdateTopicParams,\n OnFolderBeforeCreateTopicParams,\n OnFolderBeforeDeleteTopicParams,\n OnFolderBeforeUpdateTopicParams\n} from \"./folder.types\";\nimport { type ListFoldersParams } from \"./folder.types\";\nimport {\n getCreateFolderUseCases,\n getDeleteFolderUseCases,\n getGetAncestors,\n getGetFolderUseCase,\n getListFolderLevelPermissionsTargets,\n getListFoldersUseCases,\n getUpdateFolderUseCase,\n getGetFolderHierarchyUseCases\n} from \"~/folder/useCases\";\nimport type { CreateAcoParams, Folder } from \"~/types\";\nimport { type AcoContext } from \"~/types\";\n\nconst FIXED_FOLDER_LISTING_LIMIT = 10_000;\n\ninterface CreateFolderCrudMethodsParams extends CreateAcoParams {\n context: AcoContext;\n}\n\nexport const createFolderCrudMethods = ({\n storageOperations,\n folderLevelPermissions,\n context\n}: CreateFolderCrudMethodsParams): AcoFolderCrud => {\n // create\n const onFolderBeforeCreate = createTopic<OnFolderBeforeCreateTopicParams>(\n \"aco.onFolderBeforeCreate\"\n );\n const onFolderAfterCreate =\n createTopic<OnFolderAfterCreateTopicParams>(\"aco.onFolderAfterCreate\");\n // update\n const onFolderBeforeUpdate = createTopic<OnFolderBeforeUpdateTopicParams>(\n \"aco.onFolderBeforeUpdate\"\n );\n const onFolderAfterUpdate =\n createTopic<OnFolderAfterUpdateTopicParams>(\"aco.onFolderAfterUpdate\");\n // delete\n const onFolderBeforeDelete = createTopic<OnFolderBeforeDeleteTopicParams>(\n \"aco.onFolderBeforeDelete\"\n );\n const onFolderAfterDelete =\n createTopic<OnFolderAfterDeleteTopicParams>(\"aco.onFolderAfterDelete\");\n\n const { getFolderUseCase, getFolderUseCaseWithoutPermissions } = getGetFolderUseCase({\n getOperation: storageOperations.folder.getFolder,\n folderLevelPermissions\n });\n\n const { listFoldersUseCase, listFoldersUseCaseWithoutPermissions } = getListFoldersUseCases({\n listOperation: storageOperations.folder.listFolders,\n folderLevelPermissions\n });\n\n const { getFolderHierarchyUseCase } = getGetFolderHierarchyUseCases({\n listOperation: storageOperations.folder.listFolders,\n getOperation: storageOperations.folder.getFolder,\n folderLevelPermissions\n });\n\n const { createFolderUseCase } = getCreateFolderUseCases({\n createOperation: storageOperations.folder.createFolder,\n folderLevelPermissions,\n topics: {\n onFolderAfterCreate,\n onFolderBeforeCreate\n }\n });\n\n const { updateFolderUseCase } = getUpdateFolderUseCase({\n updateOperation: storageOperations.folder.updateFolder,\n getOperation: storageOperations.folder.getFolder,\n folderLevelPermissions,\n topics: {\n onFolderAfterUpdate,\n onFolderBeforeUpdate\n }\n });\n\n const { deleteFolderUseCase } = getDeleteFolderUseCases({\n deleteOperation: storageOperations.folder.deleteFolder,\n getOperation: storageOperations.folder.getFolder,\n folderLevelPermissions,\n topics: {\n onFolderBeforeDelete,\n onFolderAfterDelete\n }\n });\n\n const { getAncestorsUseCase } = getGetAncestors({\n listFoldersUseCase: listFoldersUseCase\n });\n\n const { listFolderLevelPermissionsTargetsUseCase } = getListFolderLevelPermissionsTargets({\n context\n });\n\n return {\n /**\n * Lifecycle events\n */\n onFolderBeforeCreate,\n onFolderAfterCreate,\n onFolderBeforeUpdate,\n onFolderAfterUpdate,\n onFolderBeforeDelete,\n onFolderAfterDelete,\n\n async get(id, disablePermissions) {\n // If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.\n if (disablePermissions) {\n return await getFolderUseCaseWithoutPermissions.execute({ id });\n }\n return await getFolderUseCase.execute({ id });\n },\n\n async list({ disablePermissions, ...params }: ListFoldersParams) {\n // If permissions are disabled, execute the use case without applying folder-level permissions logic, returning the raw folder data from the database.\n if (disablePermissions) {\n return await listFoldersUseCaseWithoutPermissions.execute(params);\n }\n return await listFoldersUseCase.execute(params);\n },\n\n async listAll(params) {\n return await this.list({\n ...params,\n limit: FIXED_FOLDER_LISTING_LIMIT\n });\n },\n\n async getFolderHierarchy(params) {\n return await getFolderHierarchyUseCase.execute(params);\n },\n\n async create(data) {\n return await createFolderUseCase.execute(data);\n },\n\n async delete(id) {\n return await deleteFolderUseCase.execute({ id });\n },\n\n async update(id, data) {\n return await updateFolderUseCase.execute(id, data);\n },\n\n async getAncestors(folder: Folder) {\n return getAncestorsUseCase.execute({ folder });\n },\n\n /**\n * @deprecated use `getAncestors` instead\n */\n async getFolderWithAncestors(id: string) {\n const folder = await this.get(id);\n return this.getAncestors(folder);\n },\n\n async listFolderLevelPermissionsTargets() {\n return await listFolderLevelPermissionsTargetsUseCase.execute();\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
2
- import { AcoContext } from "../types";
3
- export declare const folderSchema: GraphQLSchemaPlugin<AcoContext>;
2
+ import type { CreateFolderTypeDefsParams } from "./createFolderTypeDefs";
3
+ import type { AcoContext } from "../types";
4
+ export declare const createFoldersSchema: (params: CreateFolderTypeDefsParams) => GraphQLSchemaPlugin<AcoContext>;
@@ -3,116 +3,133 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.folderSchema = void 0;
6
+ exports.createFoldersSchema = void 0;
7
7
  var _responses = require("@webiny/handler-graphql/responses");
8
8
  var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
9
- var _checkPermissions = require("../utils/checkPermissions");
9
+ var _createFolderTypeDefs = require("./createFolderTypeDefs");
10
+ var _ensureAuthentication = require("../utils/ensureAuthentication");
10
11
  var _resolve = require("../utils/resolve");
11
- const folderSchema = new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
12
- typeDefs: /* GraphQL */`
13
- type Folder {
14
- id: ID!
15
- title: String!
16
- slug: String!
17
- type: String!
18
- parentId: ID
19
- savedOn: DateTime
20
- createdOn: DateTime
21
- createdBy: AcoUser
12
+ var _compress = require("../utils/compress");
13
+ var _folder = require("./folder.model");
14
+ const createFoldersSchema = params => {
15
+ const folderGraphQL = new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
16
+ typeDefs: (0, _createFolderTypeDefs.createFolderTypeDefs)(params),
17
+ resolvers: {
18
+ Folder: {
19
+ hasNonInheritedPermissions: (folder, _, context) => {
20
+ return context.aco.folderLevelPermissions.permissionsIncludeNonInheritedPermissions(folder.permissions);
21
+ },
22
+ canManageStructure: (folder, _, context) => {
23
+ return context.aco.folderLevelPermissions.canManageFolderStructure(folder);
24
+ },
25
+ canManagePermissions: (folder, _, context) => {
26
+ return context.aco.folderLevelPermissions.canManageFolderPermissions(folder);
27
+ },
28
+ canManageContent: (folder, _, context) => {
29
+ return context.aco.folderLevelPermissions.canManageFolderContent(folder);
22
30
  }
23
-
24
- input FolderCreateInput {
25
- title: String!
26
- slug: String!
27
- type: String!
28
- parentId: ID
29
- }
30
-
31
- input FolderUpdateInput {
32
- title: String
33
- slug: String
34
- parentId: ID
35
- }
36
-
37
- input FoldersListWhereInput {
38
- type: String!
39
- parentId: String
40
- createdBy: ID
41
- }
42
-
43
- type FolderResponse {
44
- data: Folder
45
- error: AcoError
46
- }
47
-
48
- type FoldersListResponse {
49
- data: [Folder]
50
- error: AcoError
51
- }
52
-
53
- extend type AcoQuery {
54
- getFolder(id: ID!): FolderResponse
55
- listFolders(
56
- where: FoldersListWhereInput!
57
- limit: Int
58
- after: String
59
- sort: AcoSort
60
- ): FoldersListResponse
61
- }
62
-
63
- extend type AcoMutation {
64
- createFolder(data: FolderCreateInput!): FolderResponse
65
- updateFolder(id: ID!, data: FolderUpdateInput!): FolderResponse
66
- deleteFolder(id: ID!): AcoBooleanResponse
67
- }
68
- `,
69
- resolvers: {
70
- AcoQuery: {
71
- getFolder: async (_, {
72
- id
73
- }, context) => {
74
- return (0, _resolve.resolve)(() => {
75
- (0, _checkPermissions.checkPermissions)(context);
76
- return context.aco.folder.get(id);
77
- });
78
31
  },
79
- listFolders: async (_, args, context) => {
80
- try {
81
- (0, _checkPermissions.checkPermissions)(context);
82
- const [entries, meta] = await context.aco.folder.list(args);
83
- return new _responses.ListResponse(entries, meta);
84
- } catch (e) {
85
- return new _responses.ErrorResponse(e);
32
+ AcoQuery: {
33
+ getFolderModel(_, __, context) {
34
+ return (0, _resolve.resolve)(() => {
35
+ (0, _ensureAuthentication.ensureAuthentication)(context);
36
+ return context.cms.getModel(_folder.FOLDER_MODEL_ID);
37
+ });
38
+ },
39
+ getFolder: async (_, {
40
+ id
41
+ }, context) => {
42
+ return (0, _resolve.resolve)(() => {
43
+ (0, _ensureAuthentication.ensureAuthentication)(context);
44
+ return context.aco.folder.get(id);
45
+ });
46
+ },
47
+ listFolders: async (_, args, context) => {
48
+ try {
49
+ (0, _ensureAuthentication.ensureAuthentication)(context);
50
+ const [entries, meta] = await context.aco.folder.list(args);
51
+ return new _responses.ListResponse(entries, meta);
52
+ } catch (e) {
53
+ return new _responses.ErrorResponse(e);
54
+ }
55
+ },
56
+ listFoldersCompressed: async (_, args, context) => {
57
+ return (0, _resolve.resolve)(async () => {
58
+ (0, _ensureAuthentication.ensureAuthentication)(context);
59
+ const [entries] = await context.aco.folder.list(args);
60
+ const foldersPromises = entries.map(folder => {
61
+ const {
62
+ folderLevelPermissions: flp
63
+ } = context.aco;
64
+ const canManageStructure = flp.canManageFolderStructure(folder);
65
+ const canManagePermissions = flp.canManageFolderPermissions(folder);
66
+ const canManageContent = flp.canManageFolderContent(folder);
67
+ const hasNonInheritedPermissions = flp.permissionsIncludeNonInheritedPermissions(folder.permissions);
68
+ return Promise.all([canManageStructure, canManagePermissions, canManageContent, hasNonInheritedPermissions]).then(([canManageStructure, canManagePermissions, canManageContent, hasNonInheritedPermissions]) => {
69
+ return {
70
+ ...folder,
71
+ canManageStructure,
72
+ canManagePermissions,
73
+ canManageContent,
74
+ hasNonInheritedPermissions
75
+ };
76
+ });
77
+ });
78
+ return Promise.all(foldersPromises).then(_compress.compress);
79
+ });
80
+ },
81
+ getFolderHierarchy: async (_, args, context) => {
82
+ try {
83
+ return (0, _resolve.resolve)(() => {
84
+ (0, _ensureAuthentication.ensureAuthentication)(context);
85
+ return context.aco.folder.getFolderHierarchy(args);
86
+ });
87
+ } catch (e) {
88
+ return new _responses.ErrorResponse(e);
89
+ }
90
+ },
91
+ listFolderLevelPermissionsTargets: async (_, args, context) => {
92
+ try {
93
+ (0, _ensureAuthentication.ensureAuthentication)(context);
94
+ const [entries, meta] = await context.aco.folder.listFolderLevelPermissionsTargets();
95
+ return new _responses.ListResponse(entries, meta);
96
+ } catch (e) {
97
+ return new _responses.ErrorResponse(e);
98
+ }
86
99
  }
87
- }
88
- },
89
- AcoMutation: {
90
- createFolder: async (_, {
91
- data
92
- }, context) => {
93
- return (0, _resolve.resolve)(() => {
94
- (0, _checkPermissions.checkPermissions)(context);
95
- return context.aco.folder.create(data);
96
- });
97
100
  },
98
- updateFolder: async (_, {
99
- id,
100
- data
101
- }, context) => {
102
- return (0, _resolve.resolve)(() => {
103
- (0, _checkPermissions.checkPermissions)(context);
104
- return context.aco.folder.update(id, data);
105
- });
106
- },
107
- deleteFolder: async (_, {
108
- id
109
- }, context) => {
110
- return (0, _resolve.resolve)(() => {
111
- (0, _checkPermissions.checkPermissions)(context);
112
- return context.aco.folder.delete(id);
113
- });
101
+ AcoMutation: {
102
+ createFolder: async (_, {
103
+ data
104
+ }, context) => {
105
+ return (0, _resolve.resolve)(() => {
106
+ (0, _ensureAuthentication.ensureAuthentication)(context);
107
+ return context.aco.folder.create(data);
108
+ });
109
+ },
110
+ updateFolder: async (_, {
111
+ id,
112
+ data
113
+ }, context) => {
114
+ return (0, _resolve.resolve)(() => {
115
+ (0, _ensureAuthentication.ensureAuthentication)(context);
116
+ return context.aco.folder.update(id, data);
117
+ });
118
+ },
119
+ deleteFolder: async (_, {
120
+ id
121
+ }, context) => {
122
+ return (0, _resolve.resolve)(() => {
123
+ (0, _ensureAuthentication.ensureAuthentication)(context);
124
+ return context.aco.folder.delete(id);
125
+ });
126
+ }
114
127
  }
115
128
  }
116
- }
117
- });
118
- exports.folderSchema = folderSchema;
129
+ });
130
+ folderGraphQL.name = "aco.graphql.folders";
131
+ return folderGraphQL;
132
+ };
133
+ exports.createFoldersSchema = createFoldersSchema;
134
+
135
+ //# sourceMappingURL=folder.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["folderSchema","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getFolder","_","id","context","resolve","checkPermissions","aco","folder","get","listFolders","args","entries","meta","list","ListResponse","e","ErrorResponse","AcoMutation","createFolder","data","create","updateFolder","update","deleteFolder","delete"],"sources":["folder.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\n\nimport { checkPermissions } from \"~/utils/checkPermissions\";\nimport { resolve } from \"~/utils/resolve\";\n\nimport { AcoContext } from \"~/types\";\n\nexport const folderSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n type Folder {\n id: ID!\n title: String!\n slug: String!\n type: String!\n parentId: ID\n savedOn: DateTime\n createdOn: DateTime\n createdBy: AcoUser\n }\n\n input FolderCreateInput {\n title: String!\n slug: String!\n type: String!\n parentId: ID\n }\n\n input FolderUpdateInput {\n title: String\n slug: String\n parentId: ID\n }\n\n input FoldersListWhereInput {\n type: String!\n parentId: String\n createdBy: ID\n }\n\n type FolderResponse {\n data: Folder\n error: AcoError\n }\n\n type FoldersListResponse {\n data: [Folder]\n error: AcoError\n }\n\n extend type AcoQuery {\n getFolder(id: ID!): FolderResponse\n listFolders(\n where: FoldersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FoldersListResponse\n }\n\n extend type AcoMutation {\n createFolder(data: FolderCreateInput!): FolderResponse\n updateFolder(id: ID!, data: FolderUpdateInput!): FolderResponse\n deleteFolder(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n AcoQuery: {\n getFolder: async (_, { id }, context) => {\n return resolve(() => {\n checkPermissions(context);\n return context.aco.folder.get(id);\n });\n },\n listFolders: async (_, args: any, context) => {\n try {\n checkPermissions(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 },\n AcoMutation: {\n createFolder: async (_, { data }, context) => {\n return resolve(() => {\n checkPermissions(context);\n return context.aco.folder.create(data);\n });\n },\n updateFolder: async (_, { id, data }, context) => {\n return resolve(() => {\n checkPermissions(context);\n return context.aco.folder.update(id, data);\n });\n },\n deleteFolder: async (_, { id }, context) => {\n return resolve(() => {\n checkPermissions(context);\n return context.aco.folder.delete(id);\n });\n }\n }\n }\n});\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AAIO,MAAMA,YAAY,GAAG,IAAIC,wCAAmB,CAAa;EAC5DC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,SAAS,EAAE,OAAOC,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UACzB,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACC,GAAG,CAACN,EAAE,CAAC;QACrC,CAAC,CAAC;MACN,CAAC;MACDO,WAAW,EAAE,OAAOR,CAAC,EAAES,IAAS,EAAEP,OAAO,KAAK;QAC1C,IAAI;UACA,IAAAE,kCAAgB,EAACF,OAAO,CAAC;UACzB,MAAM,CAACQ,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMT,OAAO,CAACG,GAAG,CAACC,MAAM,CAACM,IAAI,CAACH,IAAI,CAAC;UAC3D,OAAO,IAAII,uBAAY,CAACH,OAAO,EAAEC,IAAI,CAAC;QAC1C,CAAC,CAAC,OAAOG,CAAC,EAAE;UACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDE,WAAW,EAAE;MACTC,YAAY,EAAE,OAAOjB,CAAC,EAAE;QAAEkB;MAAK,CAAC,EAAEhB,OAAO,KAAK;QAC1C,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UACzB,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACa,MAAM,CAACD,IAAI,CAAC;QAC1C,CAAC,CAAC;MACN,CAAC;MACDE,YAAY,EAAE,OAAOpB,CAAC,EAAE;QAAEC,EAAE;QAAEiB;MAAK,CAAC,EAAEhB,OAAO,KAAK;QAC9C,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UACzB,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACe,MAAM,CAACpB,EAAE,EAAEiB,IAAI,CAAC;QAC9C,CAAC,CAAC;MACN,CAAC;MACDI,YAAY,EAAE,OAAOtB,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACxC,OAAO,IAAAC,gBAAO,EAAC,MAAM;UACjB,IAAAC,kCAAgB,EAACF,OAAO,CAAC;UACzB,OAAOA,OAAO,CAACG,GAAG,CAACC,MAAM,CAACiB,MAAM,CAACtB,EAAE,CAAC;QACxC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC;AAAC"}
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 type { CreateFolderTypeDefsParams } from \"./createFolderTypeDefs\";\nimport { createFolderTypeDefs } from \"./createFolderTypeDefs\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\nimport { compress } from \"~/utils/compress\";\n\nimport type { 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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAGA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAIA,IAAAM,OAAA,GAAAN,OAAA;AAEO,MAAMO,mBAAmB,GAAIC,MAAkC,IAAK;EACvE,MAAMC,aAAa,GAAG,IAAIC,wCAAmB,CAAa;IACtDC,QAAQ,EAAE,IAAAC,0CAAoB,EAACJ,MAAM,CAAC;IACtCK,SAAS,EAAE;MACPC,MAAM,EAAE;QACJC,0BAA0B,EAAEA,CAACC,MAAc,EAAEC,CAAC,EAAEC,OAAO,KAAK;UACxD,OAAOA,OAAO,CAACC,GAAG,CAACC,sBAAsB,CAACC,yCAAyC,CAC/EL,MAAM,CAACM,WACX,CAAC;QACL,CAAC;QACDC,kBAAkB,EAAEA,CAACP,MAAM,EAAEC,CAAC,EAAEC,OAAO,KAAK;UACxC,OAAOA,OAAO,CAACC,GAAG,CAACC,sBAAsB,CAACI,wBAAwB,CAACR,MAAM,CAAC;QAC9E,CAAC;QACDS,oBAAoB,EAAEA,CAACT,MAAM,EAAEC,CAAC,EAAEC,OAAO,KAAK;UAC1C,OAAOA,OAAO,CAACC,GAAG,CAACC,sBAAsB,CAACM,0BAA0B,CAACV,MAAM,CAAC;QAChF,CAAC;QACDW,gBAAgB,EAAEA,CAACX,MAAM,EAAEC,CAAC,EAAEC,OAAO,KAAK;UACtC,OAAOA,OAAO,CAACC,GAAG,CAACC,sBAAsB,CAACQ,sBAAsB,CAACZ,MAAM,CAAC;QAC5E;MACJ,CAAC;MACDa,QAAQ,EAAE;QACNC,cAAcA,CAACb,CAAC,EAAEc,EAAE,EAAEb,OAAO,EAAE;UAC3B,OAAO,IAAAc,gBAAO,EAAC,MAAM;YACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACgB,GAAG,CAACC,QAAQ,CAACC,uBAAe,CAAC;UAChD,CAAC,CAAC;QACN,CAAC;QACDC,SAAS,EAAE,MAAAA,CAAOpB,CAAC,EAAE;UAAEqB;QAAG,CAAC,EAAEpB,OAAO,KAAK;UACrC,OAAO,IAAAc,gBAAO,EAAC,MAAM;YACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACC,GAAG,CAACH,MAAM,CAACuB,GAAG,CAACD,EAAE,CAAC;UACrC,CAAC,CAAC;QACN,CAAC;QACDE,WAAW,EAAE,MAAAA,CAAOvB,CAAC,EAAEwB,IAAS,EAAEvB,OAAO,KAAK;UAC1C,IAAI;YACA,IAAAe,0CAAoB,EAACf,OAAO,CAAC;YAC7B,MAAM,CAACwB,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMzB,OAAO,CAACC,GAAG,CAACH,MAAM,CAAC4B,IAAI,CAACH,IAAI,CAAC;YAC3D,OAAO,IAAII,uBAAY,CAACH,OAAO,EAAEC,IAAI,CAAC;UAC1C,CAAC,CAAC,OAAOG,CAAC,EAAE;YACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;UAC/B;QACJ,CAAC;QACDE,qBAAqB,EAAE,MAAAA,CAAO/B,CAAC,EAAEwB,IAAS,EAAEvB,OAAO,KAAK;UACpD,OAAO,IAAAc,gBAAO,EAAC,YAAY;YACvB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAE7B,MAAM,CAACwB,OAAO,CAAC,GAAG,MAAMxB,OAAO,CAACC,GAAG,CAACH,MAAM,CAAC4B,IAAI,CAACH,IAAI,CAAC;YACrD,MAAMQ,eAAe,GAAGP,OAAO,CAACQ,GAAG,CAAClC,MAAM,IAAI;cAC1C,MAAM;gBAAEI,sBAAsB,EAAE+B;cAAI,CAAC,GAAGjC,OAAO,CAACC,GAAG;cAEnD,MAAMI,kBAAkB,GAAG4B,GAAG,CAAC3B,wBAAwB,CACnDR,MACJ,CAAC;cACD,MAAMS,oBAAoB,GAAG0B,GAAG,CAACzB,0BAA0B,CACvDV,MACJ,CAAC;cACD,MAAMW,gBAAgB,GAAGwB,GAAG,CAACvB,sBAAsB,CAC/CZ,MACJ,CAAC;cACD,MAAMD,0BAA0B,GAC5BoC,GAAG,CAAC9B,yCAAyC,CAACL,MAAM,CAACM,WAAW,CAAC;cAErE,OAAO8B,OAAO,CAACC,GAAG,CAAC,CACf9B,kBAAkB,EAClBE,oBAAoB,EACpBE,gBAAgB,EAChBZ,0BAA0B,CAC7B,CAAC,CAACuC,IAAI,CACH,CAAC,CACG/B,kBAAkB,EAClBE,oBAAoB,EACpBE,gBAAgB,EAChBZ,0BAA0B,CAC7B,KAAK;gBACF,OAAO;kBACH,GAAGC,MAAM;kBACTO,kBAAkB;kBAClBE,oBAAoB;kBACpBE,gBAAgB;kBAChBZ;gBACJ,CAAC;cACL,CACJ,CAAC;YACL,CAAC,CAAC;YAEF,OAAOqC,OAAO,CAACC,GAAG,CAACJ,eAAe,CAAC,CAACK,IAAI,CAACC,kBAAQ,CAAC;UACtD,CAAC,CAAC;QACN,CAAC;QACDC,kBAAkB,EAAE,MAAAA,CAAOvC,CAAC,EAAEwB,IAAS,EAAEvB,OAAO,KAAK;UACjD,IAAI;YACA,OAAO,IAAAc,gBAAO,EAAC,MAAM;cACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;cAC7B,OAAOA,OAAO,CAACC,GAAG,CAACH,MAAM,CAACwC,kBAAkB,CAACf,IAAI,CAAC;YACtD,CAAC,CAAC;UACN,CAAC,CAAC,OAAOK,CAAC,EAAE;YACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;UAC/B;QACJ,CAAC;QACDW,iCAAiC,EAAE,MAAAA,CAAOxC,CAAC,EAAEwB,IAAS,EAAEvB,OAAO,KAAK;UAChE,IAAI;YACA,IAAAe,0CAAoB,EAACf,OAAO,CAAC;YAC7B,MAAM,CAACwB,OAAO,EAAEC,IAAI,CAAC,GACjB,MAAMzB,OAAO,CAACC,GAAG,CAACH,MAAM,CAACyC,iCAAiC,CAAC,CAAC;YAChE,OAAO,IAAIZ,uBAAY,CAACH,OAAO,EAAEC,IAAI,CAAC;UAC1C,CAAC,CAAC,OAAOG,CAAC,EAAE;YACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;UAC/B;QACJ;MACJ,CAAC;MACDY,WAAW,EAAE;QACTC,YAAY,EAAE,MAAAA,CAAO1C,CAAC,EAAE;UAAE2C;QAAK,CAAC,EAAE1C,OAAO,KAAK;UAC1C,OAAO,IAAAc,gBAAO,EAAC,MAAM;YACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACC,GAAG,CAACH,MAAM,CAAC6C,MAAM,CAACD,IAAI,CAAC;UAC1C,CAAC,CAAC;QACN,CAAC;QACDE,YAAY,EAAE,MAAAA,CAAO7C,CAAC,EAAE;UAAEqB,EAAE;UAAEsB;QAAK,CAAC,EAAE1C,OAAO,KAAK;UAC9C,OAAO,IAAAc,gBAAO,EAAC,MAAM;YACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACC,GAAG,CAACH,MAAM,CAAC+C,MAAM,CAACzB,EAAE,EAAEsB,IAAI,CAAC;UAC9C,CAAC,CAAC;QACN,CAAC;QACDI,YAAY,EAAE,MAAAA,CAAO/C,CAAC,EAAE;UAAEqB;QAAG,CAAC,EAAEpB,OAAO,KAAK;UACxC,OAAO,IAAAc,gBAAO,EAAC,MAAM;YACjB,IAAAC,0CAAoB,EAACf,OAAO,CAAC;YAC7B,OAAOA,OAAO,CAACC,GAAG,CAACH,MAAM,CAACiD,MAAM,CAAC3B,EAAE,CAAC;UACxC,CAAC,CAAC;QACN;MACJ;IACJ;EACJ,CAAC,CAAC;EAEF7B,aAAa,CAACyD,IAAI,GAAG,qBAAqB;EAE1C,OAAOzD,aAAa;AACxB,CAAC;AAAC0D,OAAA,CAAA5D,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,4 +1,2 @@
1
- import { CmsPrivateModelFull } from "@webiny/api-headless-cms";
2
- export declare type FolderModelDefinition = Omit<CmsPrivateModelFull, "noValidate" | "group">;
3
1
  export declare const FOLDER_MODEL_ID = "acoFolder";
4
- export declare const createFolderModelDefinition: () => FolderModelDefinition;
2
+ export declare const createFolderModel: () => import("@webiny/api-headless-cms").CmsPrivateModelFull;