@webiny/api-aco 0.0.0-unstable.496cf268ac → 0.0.0-unstable.5387e5f7c8

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 (641) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +134 -0
  3. package/AcoFeature.js.map +1 -0
  4. package/AcoFolderSchemaFactory.d.ts +32 -0
  5. package/AcoFolderSchemaFactory.js +82 -0
  6. package/AcoFolderSchemaFactory.js.map +1 -0
  7. package/README.md +6 -28
  8. package/constants.d.ts +2 -0
  9. package/constants.js +5 -0
  10. package/constants.js.map +1 -0
  11. package/createAcoGraphQL.d.ts +8 -3
  12. package/createAcoGraphQL.js +59 -81
  13. package/createAcoGraphQL.js.map +1 -1
  14. package/domain/folder/abstractions.d.ts +16 -0
  15. package/domain/folder/abstractions.js +5 -0
  16. package/domain/folder/abstractions.js.map +1 -0
  17. package/domain/folder/errors.d.ts +29 -0
  18. package/domain/folder/errors.js +51 -0
  19. package/domain/folder/errors.js.map +1 -0
  20. package/domain/folder/folder.model.d.ts +9 -0
  21. package/domain/folder/folder.model.js +59 -0
  22. package/domain/folder/folder.model.js.map +1 -0
  23. package/exports/api/aco/flp.d.ts +7 -0
  24. package/exports/api/aco/flp.js +7 -0
  25. package/exports/api/aco/folder.d.ts +11 -0
  26. package/exports/api/aco/folder.js +10 -0
  27. package/features/ai/CreateFolderTool.d.ts +49 -0
  28. package/features/ai/CreateFolderTool.js +58 -0
  29. package/features/ai/CreateFolderTool.js.map +1 -0
  30. package/features/ai/CreateTeamTool.d.ts +48 -0
  31. package/features/ai/CreateTeamTool.js +56 -0
  32. package/features/ai/CreateTeamTool.js.map +1 -0
  33. package/features/ai/DeleteFolderTool.d.ts +48 -0
  34. package/features/ai/DeleteFolderTool.js +55 -0
  35. package/features/ai/DeleteFolderTool.js.map +1 -0
  36. package/features/ai/GrantFolderAccessTool.d.ts +77 -0
  37. package/features/ai/GrantFolderAccessTool.js +80 -0
  38. package/features/ai/GrantFolderAccessTool.js.map +1 -0
  39. package/features/ai/ListFoldersTool.d.ts +47 -0
  40. package/features/ai/ListFoldersTool.js +57 -0
  41. package/features/ai/ListFoldersTool.js.map +1 -0
  42. package/features/ai/ListRolesTool.d.ts +39 -0
  43. package/features/ai/ListRolesTool.js +48 -0
  44. package/features/ai/ListRolesTool.js.map +1 -0
  45. package/features/ai/ListTeamsTool.d.ts +39 -0
  46. package/features/ai/ListTeamsTool.js +48 -0
  47. package/features/ai/ListTeamsTool.js.map +1 -0
  48. package/features/ai/RevokeFolderAccessTool.d.ts +63 -0
  49. package/features/ai/RevokeFolderAccessTool.js +69 -0
  50. package/features/ai/RevokeFolderAccessTool.js.map +1 -0
  51. package/features/ai/assertTargetIsUsable.d.ts +10 -0
  52. package/features/ai/assertTargetIsUsable.js +14 -0
  53. package/features/ai/assertTargetIsUsable.js.map +1 -0
  54. package/features/ai/feature.d.ts +12 -0
  55. package/features/ai/feature.js +25 -0
  56. package/features/ai/feature.js.map +1 -0
  57. package/features/ai/index.d.ts +9 -0
  58. package/features/ai/index.js +9 -0
  59. package/features/ai/loadFolderPermissions.d.ts +16 -0
  60. package/features/ai/loadFolderPermissions.js +14 -0
  61. package/features/ai/loadFolderPermissions.js.map +1 -0
  62. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  63. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +39 -0
  64. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  65. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  66. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +33 -0
  67. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  68. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  69. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +39 -0
  70. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  71. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  72. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +41 -0
  73. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  74. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  75. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +36 -0
  76. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  77. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  78. package/features/cms/decorators/GetEntryWithFlpDecorator.js +36 -0
  79. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  80. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  81. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +41 -0
  82. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  83. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  84. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +41 -0
  85. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  86. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  87. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  88. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  89. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  90. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +36 -0
  91. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  92. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  93. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  94. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  95. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  96. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  97. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  98. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  99. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +49 -0
  100. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  101. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +14 -0
  102. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +39 -0
  103. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  104. package/features/cms/feature.d.ts +4 -0
  105. package/features/cms/feature.js +37 -0
  106. package/features/cms/feature.js.map +1 -0
  107. package/features/cms/index.d.ts +1 -0
  108. package/features/cms/index.js +1 -0
  109. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  110. package/features/flp/CreateFlp/CreateFlpUseCase.js +34 -0
  111. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  112. package/features/flp/CreateFlp/abstractions.d.ts +9 -0
  113. package/features/flp/CreateFlp/abstractions.js +5 -0
  114. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  115. package/features/flp/CreateFlp/feature.d.ts +5 -0
  116. package/features/flp/CreateFlp/feature.js +13 -0
  117. package/features/flp/CreateFlp/feature.js.map +1 -0
  118. package/features/flp/CreateFlp/index.d.ts +2 -0
  119. package/features/flp/CreateFlp/index.js +2 -0
  120. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +17 -0
  121. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +44 -0
  122. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  123. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -0
  124. package/features/flp/CreateFlpOnFolderCreated/feature.js +11 -0
  125. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  126. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  127. package/features/flp/CreateFlpOnFolderCreated/index.js +1 -0
  128. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  129. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +22 -0
  130. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  131. package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
  132. package/features/flp/DeleteFlp/abstractions.js +5 -0
  133. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  134. package/features/flp/DeleteFlp/feature.d.ts +5 -0
  135. package/features/flp/DeleteFlp/feature.js +13 -0
  136. package/features/flp/DeleteFlp/feature.js.map +1 -0
  137. package/features/flp/DeleteFlp/index.d.ts +2 -0
  138. package/features/flp/DeleteFlp/index.js +2 -0
  139. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +15 -0
  140. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +40 -0
  141. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  142. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -0
  143. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +11 -0
  144. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  145. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  146. package/features/flp/DeleteFlpOnFolderDeleted/index.js +1 -0
  147. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  148. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +112 -0
  149. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  150. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  151. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  152. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  153. package/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
  154. package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
  155. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  156. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -0
  157. package/features/flp/FolderLevelPermissions/feature.js +11 -0
  158. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  159. package/features/flp/FolderLevelPermissions/index.d.ts +3 -0
  160. package/features/flp/FolderLevelPermissions/index.js +3 -0
  161. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  162. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +19 -0
  163. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  164. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  165. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -0
  166. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  167. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +1 -0
  168. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  169. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +17 -0
  170. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  171. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  172. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -0
  173. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  174. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +1 -0
  175. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  176. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +8 -0
  177. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  178. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  179. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -0
  180. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  181. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +1 -0
  182. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  183. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +8 -0
  184. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  185. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  186. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -0
  187. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  188. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +1 -0
  189. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  190. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +47 -0
  191. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  192. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  193. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +14 -0
  194. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  195. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  196. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +27 -0
  197. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  198. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  199. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -0
  200. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  201. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +2 -0
  202. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  203. package/features/flp/FolderLevelPermissions/useCases/index.js +5 -0
  204. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  205. package/features/flp/GetFlp/GetFlpUseCase.js +11 -0
  206. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  207. package/features/flp/GetFlp/abstractions.d.ts +9 -0
  208. package/features/flp/GetFlp/abstractions.js +5 -0
  209. package/features/flp/GetFlp/abstractions.js.map +1 -0
  210. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
  211. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
  212. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
  213. package/features/flp/GetFlp/feature.d.ts +4 -0
  214. package/features/flp/GetFlp/feature.js +13 -0
  215. package/features/flp/GetFlp/feature.js.map +1 -0
  216. package/features/flp/GetFlp/index.d.ts +1 -0
  217. package/features/flp/GetFlp/index.js +1 -0
  218. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  219. package/features/flp/ListFlps/ListFlpsUseCase.js +11 -0
  220. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  221. package/features/flp/ListFlps/abstractions.d.ts +17 -0
  222. package/features/flp/ListFlps/abstractions.js +5 -0
  223. package/features/flp/ListFlps/abstractions.js.map +1 -0
  224. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
  225. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
  226. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
  227. package/features/flp/ListFlps/feature.d.ts +4 -0
  228. package/features/flp/ListFlps/feature.js +13 -0
  229. package/features/flp/ListFlps/feature.js.map +1 -0
  230. package/features/flp/ListFlps/index.d.ts +1 -0
  231. package/features/flp/ListFlps/index.js +1 -0
  232. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +26 -0
  233. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +147 -0
  234. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  235. package/features/flp/UpdateFlp/abstractions.d.ts +19 -0
  236. package/features/flp/UpdateFlp/abstractions.js +5 -0
  237. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  238. package/features/flp/UpdateFlp/feature.d.ts +5 -0
  239. package/features/flp/UpdateFlp/feature.js +17 -0
  240. package/features/flp/UpdateFlp/feature.js.map +1 -0
  241. package/features/flp/UpdateFlp/index.d.ts +2 -0
  242. package/features/flp/UpdateFlp/index.js +2 -0
  243. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +17 -0
  244. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +44 -0
  245. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  246. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -0
  247. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +11 -0
  248. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  249. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  250. package/features/flp/UpdateFlpOnFolderUpdated/index.js +1 -0
  251. package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
  252. package/features/flp/shared/CodeFlpMerger.js +20 -0
  253. package/features/flp/shared/CodeFlpMerger.js.map +1 -0
  254. package/features/flp/shared/CodeFlpPath.d.ts +15 -0
  255. package/features/flp/shared/CodeFlpPath.js +29 -0
  256. package/features/flp/shared/CodeFlpPath.js.map +1 -0
  257. package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
  258. package/features/flp/shared/CodeFlpTarget.js +26 -0
  259. package/features/flp/shared/CodeFlpTarget.js.map +1 -0
  260. package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
  261. package/features/flp/shared/CodeFlpsProvider.js +33 -0
  262. package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
  263. package/features/flp/shared/abstractions.d.ts +77 -0
  264. package/features/flp/shared/abstractions.js +19 -0
  265. package/features/flp/shared/abstractions.js.map +1 -0
  266. package/features/flp/shared/feature.d.ts +5 -0
  267. package/features/flp/shared/feature.js +17 -0
  268. package/features/flp/shared/feature.js.map +1 -0
  269. package/features/flp/shared/index.d.ts +4 -0
  270. package/features/flp/shared/index.js +4 -0
  271. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  272. package/features/folder/CreateFolder/CreateFolderRepository.js +88 -0
  273. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  274. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  275. package/features/folder/CreateFolder/CreateFolderUseCase.js +36 -0
  276. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  277. package/features/folder/CreateFolder/abstractions.d.ts +59 -0
  278. package/features/folder/CreateFolder/abstractions.js +8 -0
  279. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  280. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +19 -0
  281. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +56 -0
  282. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  283. package/features/folder/CreateFolder/events.d.ts +10 -0
  284. package/features/folder/CreateFolder/events.js +21 -0
  285. package/features/folder/CreateFolder/events.js.map +1 -0
  286. package/features/folder/CreateFolder/feature.d.ts +5 -0
  287. package/features/folder/CreateFolder/feature.js +15 -0
  288. package/features/folder/CreateFolder/feature.js.map +1 -0
  289. package/features/folder/CreateFolder/index.d.ts +2 -0
  290. package/features/folder/CreateFolder/index.js +2 -0
  291. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  292. package/features/folder/DeleteFolder/DeleteFolderRepository.js +33 -0
  293. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  294. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  295. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +47 -0
  296. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  297. package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
  298. package/features/folder/DeleteFolder/abstractions.js +8 -0
  299. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  300. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  301. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +29 -0
  302. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  303. package/features/folder/DeleteFolder/events.d.ts +10 -0
  304. package/features/folder/DeleteFolder/events.js +21 -0
  305. package/features/folder/DeleteFolder/events.js.map +1 -0
  306. package/features/folder/DeleteFolder/feature.d.ts +5 -0
  307. package/features/folder/DeleteFolder/feature.js +15 -0
  308. package/features/folder/DeleteFolder/feature.js.map +1 -0
  309. package/features/folder/DeleteFolder/index.d.ts +2 -0
  310. package/features/folder/DeleteFolder/index.js +2 -0
  311. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  312. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +59 -0
  313. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  314. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
  315. package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
  316. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  317. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -0
  318. package/features/folder/EnsureFolderIsEmpty/feature.js +11 -0
  319. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  320. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  321. package/features/folder/EnsureFolderIsEmpty/index.js +1 -0
  322. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  323. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +25 -0
  324. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  325. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +10 -0
  326. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +11 -0
  327. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  328. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  329. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +1 -0
  330. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  331. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +52 -0
  332. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  333. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -0
  334. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +11 -0
  335. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  336. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  337. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +1 -0
  338. package/features/folder/FolderModelProvider.d.ts +26 -0
  339. package/features/folder/FolderModelProvider.js +22 -0
  340. package/features/folder/FolderModelProvider.js.map +1 -0
  341. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  342. package/features/folder/GetAncestors/GetAncestorsRepository.js +59 -0
  343. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  344. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  345. package/features/folder/GetAncestors/GetAncestorsUseCase.js +20 -0
  346. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  347. package/features/folder/GetAncestors/abstractions.d.ts +40 -0
  348. package/features/folder/GetAncestors/abstractions.js +6 -0
  349. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  350. package/features/folder/GetAncestors/feature.d.ts +5 -0
  351. package/features/folder/GetAncestors/feature.js +13 -0
  352. package/features/folder/GetAncestors/feature.js.map +1 -0
  353. package/features/folder/GetAncestors/index.d.ts +2 -0
  354. package/features/folder/GetAncestors/index.js +2 -0
  355. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  356. package/features/folder/GetFolder/GetFolderRepository.js +34 -0
  357. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  358. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  359. package/features/folder/GetFolder/GetFolderUseCase.js +20 -0
  360. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  361. package/features/folder/GetFolder/abstractions.d.ts +57 -0
  362. package/features/folder/GetFolder/abstractions.js +8 -0
  363. package/features/folder/GetFolder/abstractions.js.map +1 -0
  364. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  365. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +34 -0
  366. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  367. package/features/folder/GetFolder/feature.d.ts +5 -0
  368. package/features/folder/GetFolder/feature.js +15 -0
  369. package/features/folder/GetFolder/feature.js.map +1 -0
  370. package/features/folder/GetFolder/index.d.ts +2 -0
  371. package/features/folder/GetFolder/index.js +2 -0
  372. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  373. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +86 -0
  374. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  375. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  376. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +20 -0
  377. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  378. package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
  379. package/features/folder/GetFolderHierarchy/abstractions.js +6 -0
  380. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  381. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  382. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +63 -0
  383. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  384. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -0
  385. package/features/folder/GetFolderHierarchy/feature.js +15 -0
  386. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  387. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  388. package/features/folder/GetFolderHierarchy/index.js +2 -0
  389. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  390. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +75 -0
  391. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  392. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
  393. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +5 -0
  394. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  395. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -0
  396. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +11 -0
  397. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  398. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  399. package/features/folder/ListFolderLevelPermissionsTargets/index.js +1 -0
  400. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  401. package/features/folder/ListFolders/ListFoldersRepository.js +53 -0
  402. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  403. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  404. package/features/folder/ListFolders/ListFoldersUseCase.js +20 -0
  405. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  406. package/features/folder/ListFolders/abstractions.d.ts +44 -0
  407. package/features/folder/ListFolders/abstractions.js +6 -0
  408. package/features/folder/ListFolders/abstractions.js.map +1 -0
  409. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  410. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +65 -0
  411. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  412. package/features/folder/ListFolders/feature.d.ts +5 -0
  413. package/features/folder/ListFolders/feature.js +15 -0
  414. package/features/folder/ListFolders/feature.js.map +1 -0
  415. package/features/folder/ListFolders/index.d.ts +2 -0
  416. package/features/folder/ListFolders/index.js +2 -0
  417. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
  418. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js +38 -0
  419. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
  420. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.d.ts +12 -0
  421. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js +24 -0
  422. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js.map +1 -0
  423. package/features/folder/NotifyFolderChange/abstractions.d.ts +28 -0
  424. package/features/folder/NotifyFolderChange/abstractions.js +8 -0
  425. package/features/folder/NotifyFolderChange/abstractions.js.map +1 -0
  426. package/features/folder/NotifyFolderChange/feature.d.ts +9 -0
  427. package/features/folder/NotifyFolderChange/feature.js +13 -0
  428. package/features/folder/NotifyFolderChange/feature.js.map +1 -0
  429. package/features/folder/NotifyFolderChange/index.d.ts +2 -0
  430. package/features/folder/NotifyFolderChange/index.js +2 -0
  431. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  432. package/features/folder/UpdateFolder/UpdateFolderRepository.js +87 -0
  433. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  434. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  435. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +48 -0
  436. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  437. package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
  438. package/features/folder/UpdateFolder/abstractions.js +8 -0
  439. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  440. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  441. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +106 -0
  442. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  443. package/features/folder/UpdateFolder/events.d.ts +10 -0
  444. package/features/folder/UpdateFolder/events.js +21 -0
  445. package/features/folder/UpdateFolder/events.js.map +1 -0
  446. package/features/folder/UpdateFolder/feature.d.ts +5 -0
  447. package/features/folder/UpdateFolder/feature.js +15 -0
  448. package/features/folder/UpdateFolder/feature.js.map +1 -0
  449. package/features/folder/UpdateFolder/index.d.ts +2 -0
  450. package/features/folder/UpdateFolder/index.js +2 -0
  451. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  452. package/features/folder/shared/EntryToFolderMapper.js +23 -0
  453. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  454. package/features/folder/shared/abstractions.d.ts +20 -0
  455. package/features/folder/shared/abstractions.js +8 -0
  456. package/features/folder/shared/abstractions.js.map +1 -0
  457. package/filter/filter.crud.d.ts +3 -0
  458. package/filter/filter.crud.js +30 -0
  459. package/filter/filter.crud.js.map +1 -0
  460. package/filter/filter.gql.d.ts +2 -0
  461. package/filter/filter.gql.js +164 -0
  462. package/filter/filter.gql.js.map +1 -0
  463. package/filter/filter.model.d.ts +9 -0
  464. package/filter/filter.model.js +51 -0
  465. package/filter/filter.model.js.map +1 -0
  466. package/filter/filter.so.d.ts +9 -0
  467. package/filter/filter.so.js +96 -0
  468. package/filter/filter.so.js.map +1 -0
  469. package/filter/filter.types.d.ts +67 -0
  470. package/filter/filter.types.js +8 -0
  471. package/filter/filter.types.js.map +1 -0
  472. package/flp/flp.crud.d.ts +7 -0
  473. package/flp/flp.crud.js +74 -0
  474. package/flp/flp.crud.js.map +1 -0
  475. package/flp/flp.types.d.ts +98 -0
  476. package/flp/flp.types.js +0 -0
  477. package/flp/index.d.ts +2 -0
  478. package/flp/index.js +2 -0
  479. package/flp/tasks/createFlp.task.d.ts +25 -0
  480. package/flp/tasks/createFlp.task.js +53 -0
  481. package/flp/tasks/createFlp.task.js.map +1 -0
  482. package/flp/tasks/deleteFlp.task.d.ts +23 -0
  483. package/flp/tasks/deleteFlp.task.js +45 -0
  484. package/flp/tasks/deleteFlp.task.js.map +1 -0
  485. package/flp/tasks/index.d.ts +4 -0
  486. package/flp/tasks/index.js +7 -0
  487. package/flp/tasks/index.js.map +1 -0
  488. package/flp/tasks/syncFlp.task.d.ts +27 -0
  489. package/flp/tasks/syncFlp.task.js +121 -0
  490. package/flp/tasks/syncFlp.task.js.map +1 -0
  491. package/flp/tasks/updateFlp.task.d.ts +25 -0
  492. package/flp/tasks/updateFlp.task.js +64 -0
  493. package/flp/tasks/updateFlp.task.js.map +1 -0
  494. package/folder/createFolderModelModifier.d.ts +36 -0
  495. package/folder/createFolderModelModifier.js +61 -0
  496. package/folder/createFolderModelModifier.js.map +1 -0
  497. package/folder/createFolderTypeDefs.d.ts +8 -0
  498. package/folder/createFolderTypeDefs.js +178 -0
  499. package/folder/createFolderTypeDefs.js.map +1 -0
  500. package/folder/folder.gql.d.ts +4 -3
  501. package/folder/folder.gql.js +123 -101
  502. package/folder/folder.gql.js.map +1 -1
  503. package/folder/folder.types.d.ts +51 -58
  504. package/folder/folder.types.js +0 -5
  505. package/index.d.ts +3 -1
  506. package/index.js +3 -14
  507. package/package.json +36 -39
  508. package/types.d.ts +26 -16
  509. package/types.js +8 -11
  510. package/types.js.map +1 -1
  511. package/utils/FoldersCacheFactory.d.ts +10 -0
  512. package/utils/FoldersCacheFactory.js +25 -0
  513. package/utils/FoldersCacheFactory.js.map +1 -0
  514. package/utils/ListCache.d.ts +23 -0
  515. package/utils/ListCache.js +24 -0
  516. package/utils/ListCache.js.map +1 -0
  517. package/utils/Path.d.ts +3 -0
  518. package/utils/Path.js +10 -0
  519. package/utils/Path.js.map +1 -0
  520. package/utils/compress.d.ts +4 -0
  521. package/utils/compress.js +13 -0
  522. package/utils/compress.js.map +1 -0
  523. package/utils/createListSort.d.ts +3 -2
  524. package/utils/createListSort.js +6 -12
  525. package/utils/createListSort.js.map +1 -1
  526. package/utils/createOperationsWrapper.d.ts +6 -3
  527. package/utils/createOperationsWrapper.js +14 -28
  528. package/utils/createOperationsWrapper.js.map +1 -1
  529. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  530. package/utils/decorators/CmsEntriesCrudDecorators.js +179 -0
  531. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  532. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  533. package/utils/decorators/FilterEntriesByFolderFactory.js +22 -0
  534. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  535. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  536. package/utils/decorators/ListEntriesFactory.js +73 -0
  537. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  538. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  539. package/utils/decorators/hasRootFolderId.js +13 -0
  540. package/utils/decorators/hasRootFolderId.js.map +1 -0
  541. package/utils/decorators/isPageModel.d.ts +5 -0
  542. package/utils/decorators/isPageModel.js +8 -0
  543. package/utils/decorators/isPageModel.js.map +1 -0
  544. package/utils/ensureAuthentication.d.ts +2 -0
  545. package/utils/ensureAuthentication.js +11 -0
  546. package/utils/ensureAuthentication.js.map +1 -0
  547. package/utils/pickEntryFieldValues.d.ts +3 -0
  548. package/utils/pickEntryFieldValues.js +29 -0
  549. package/utils/pickEntryFieldValues.js.map +1 -0
  550. package/utils/resolve.d.ts +2 -2
  551. package/utils/resolve.js +10 -14
  552. package/utils/resolve.js.map +1 -1
  553. package/context/folders.d.ts +0 -2
  554. package/context/folders.js +0 -261
  555. package/context/folders.js.map +0 -1
  556. package/context/index.d.ts +0 -2
  557. package/context/index.js +0 -22
  558. package/context/index.js.map +0 -1
  559. package/context/links.d.ts +0 -2
  560. package/context/links.js +0 -270
  561. package/context/links.js.map +0 -1
  562. package/createAcoContext.d.ts +0 -3
  563. package/createAcoContext.js +0 -63
  564. package/createAcoContext.js.map +0 -1
  565. package/createAcoCrud.d.ts +0 -2
  566. package/createAcoCrud.js +0 -17
  567. package/createAcoCrud.js.map +0 -1
  568. package/createAcoFields.d.ts +0 -2
  569. package/createAcoFields.js +0 -40
  570. package/createAcoFields.js.map +0 -1
  571. package/createAcoHooks.d.ts +0 -2
  572. package/createAcoHooks.js +0 -11
  573. package/createAcoHooks.js.map +0 -1
  574. package/createAcoModels.d.ts +0 -2
  575. package/createAcoModels.js +0 -67
  576. package/createAcoModels.js.map +0 -1
  577. package/createAcoStorageOperations.d.ts +0 -10
  578. package/createAcoStorageOperations.js +0 -19
  579. package/createAcoStorageOperations.js.map +0 -1
  580. package/folder/folder.crud.d.ts +0 -3
  581. package/folder/folder.crud.js +0 -92
  582. package/folder/folder.crud.js.map +0 -1
  583. package/folder/folder.model.d.ts +0 -6
  584. package/folder/folder.model.js +0 -79
  585. package/folder/folder.model.js.map +0 -1
  586. package/folder/folder.so.d.ts +0 -3
  587. package/folder/folder.so.js +0 -151
  588. package/folder/folder.so.js.map +0 -1
  589. package/folder/folder.types.js.map +0 -1
  590. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  591. package/folder/onFolderBeforeDelete.hook.js +0 -53
  592. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  593. package/graphql/base.gql.d.ts +0 -3
  594. package/graphql/base.gql.js +0 -63
  595. package/graphql/base.gql.js.map +0 -1
  596. package/graphql/folders.gql.d.ts +0 -3
  597. package/graphql/folders.gql.js +0 -126
  598. package/graphql/folders.gql.js.map +0 -1
  599. package/graphql/index.d.ts +0 -1
  600. package/graphql/index.js +0 -15
  601. package/graphql/index.js.map +0 -1
  602. package/graphql/links.gql.d.ts +0 -3
  603. package/graphql/links.gql.js +0 -123
  604. package/graphql/links.gql.js.map +0 -1
  605. package/index.js.map +0 -1
  606. package/record/record.crud.d.ts +0 -3
  607. package/record/record.crud.js +0 -92
  608. package/record/record.crud.js.map +0 -1
  609. package/record/record.gql.d.ts +0 -3
  610. package/record/record.gql.js +0 -117
  611. package/record/record.gql.js.map +0 -1
  612. package/record/record.model.d.ts +0 -6
  613. package/record/record.model.js +0 -63
  614. package/record/record.model.js.map +0 -1
  615. package/record/record.so.d.ts +0 -3
  616. package/record/record.so.js +0 -98
  617. package/record/record.so.js.map +0 -1
  618. package/record/record.types.d.ts +0 -91
  619. package/record/record.types.js +0 -5
  620. package/record/record.types.js.map +0 -1
  621. package/subscriptions/afterFolderDelete.d.ts +0 -3
  622. package/subscriptions/afterFolderDelete.js +0 -62
  623. package/subscriptions/afterFolderDelete.js.map +0 -1
  624. package/subscriptions/index.d.ts +0 -3
  625. package/subscriptions/index.js +0 -14
  626. package/subscriptions/index.js.map +0 -1
  627. package/utils/createModelField.d.ts +0 -6
  628. package/utils/createModelField.js +0 -39
  629. package/utils/createModelField.js.map +0 -1
  630. package/utils/fieldResolver.d.ts +0 -16
  631. package/utils/fieldResolver.js +0 -44
  632. package/utils/fieldResolver.js.map +0 -1
  633. package/utils/getFieldValues.d.ts +0 -2
  634. package/utils/getFieldValues.js +0 -19
  635. package/utils/getFieldValues.js.map +0 -1
  636. package/utils/isInstallationPending.d.ts +0 -4
  637. package/utils/isInstallationPending.js +0 -21
  638. package/utils/isInstallationPending.js.map +0 -1
  639. package/utils/modelFactory.d.ts +0 -17
  640. package/utils/modelFactory.js +0 -23
  641. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { DeleteFolderRepository } from "./abstractions.js";
3
+ import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
4
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
5
+ import { FolderNotAuthorizedError, FolderPersistenceError } from "../../../domain/folder/errors.js";
6
+ class DeleteFolderRepositoryImpl {
7
+ constructor(deleteEntry, folderModelProvider){
8
+ this.deleteEntry = deleteEntry;
9
+ this.folderModelProvider = folderModelProvider;
10
+ }
11
+ async execute(folder) {
12
+ const folderModel = await this.folderModelProvider.get();
13
+ const result = await this.deleteEntry.execute(folderModel, folder.id, {
14
+ permanently: true,
15
+ force: true
16
+ });
17
+ if (result.isFail()) {
18
+ if ("Cms/Entry/NotAuthorized" === result.error.code) return Result.fail(new FolderNotAuthorizedError());
19
+ return Result.fail(new FolderPersistenceError(result.error));
20
+ }
21
+ return Result.ok();
22
+ }
23
+ }
24
+ const DeleteFolderRepository_DeleteFolderRepository = DeleteFolderRepository.createImplementation({
25
+ implementation: DeleteFolderRepositoryImpl,
26
+ dependencies: [
27
+ DeleteEntryUseCase,
28
+ FolderModelProvider
29
+ ]
30
+ });
31
+ export { DeleteFolderRepository_DeleteFolderRepository as DeleteFolderRepository };
32
+
33
+ //# sourceMappingURL=DeleteFolderRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/DeleteFolderRepository.js","sources":["../../../../src/features/folder/DeleteFolder/DeleteFolderRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n DeleteFolderRepository as RepositoryAbstraction,\n type IDeleteFolderRepository\n} from \"./abstractions.js\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry\";\nimport { FolderModelProvider } from \"~/domain/folder/abstractions.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\nclass DeleteFolderRepositoryImpl implements IDeleteFolderRepository {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private folderModelProvider: FolderModelProvider.Interface\n ) {}\n\n async execute(folder: Folder): Promise<Result<void, RepositoryAbstraction.Error>> {\n const folderModel = await this.folderModelProvider.get();\n const result = await this.deleteEntry.execute(folderModel, folder.id, {\n permanently: true,\n force: true\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/NotAuthorized\") {\n return Result.fail(new FolderNotAuthorizedError());\n }\n return Result.fail(new FolderPersistenceError(result.error));\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteFolderRepository = RepositoryAbstraction.createImplementation({\n implementation: DeleteFolderRepositoryImpl,\n dependencies: [DeleteEntryUseCase, FolderModelProvider]\n});\n"],"names":["DeleteFolderRepositoryImpl","deleteEntry","folderModelProvider","folder","folderModel","result","Result","FolderNotAuthorizedError","FolderPersistenceError","DeleteFolderRepository","RepositoryAbstraction","DeleteEntryUseCase","FolderModelProvider"],"mappings":";;;;;AAUA,MAAMA;IACF,YACYC,WAAyC,EACzCC,mBAAkD,CAC5D;aAFUD,WAAW,GAAXA;aACAC,mBAAmB,GAAnBA;IACT;IAEH,MAAM,QAAQC,MAAc,EAAsD;QAC9E,MAAMC,cAAc,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG;QACtD,MAAMC,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACD,aAAaD,OAAO,EAAE,EAAE;YAClE,aAAa;YACb,OAAO;QACX;QAEA,IAAIE,OAAO,MAAM,IAAI;YACjB,IAAIA,AAAsB,8BAAtBA,OAAO,KAAK,CAAC,IAAI,EACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC;YAE3B,OAAOD,OAAO,IAAI,CAAC,IAAIE,uBAAuBH,OAAO,KAAK;QAC9D;QAEA,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMG,gDAAyBC,uBAAAA,oBAA0C,CAAC;IAC7E,gBAAgBV;IAChB,cAAc;QAACW;QAAoBC;KAAoB;AAC3D"}
@@ -0,0 +1,13 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import { DeleteFolderUseCase as UseCaseAbstraction, DeleteFolderRepository } from "./abstractions.js";
4
+ import { GetFolderRepository } from "../GetFolder/abstractions.js";
5
+ declare class DeleteFolderUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private eventPublisher;
7
+ private getFolderRepository;
8
+ private repository;
9
+ constructor(eventPublisher: EventPublisherAbstraction.Interface, getFolderRepository: GetFolderRepository.Interface, repository: DeleteFolderRepository.Interface);
10
+ execute(id: string): Promise<Result<void, UseCaseAbstraction.Error>>;
11
+ }
12
+ export declare const DeleteFolderUseCase: import("@webiny/di").Implementation<typeof DeleteFolderUseCaseImpl>;
13
+ export {};
@@ -0,0 +1,47 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import { DeleteFolderRepository, DeleteFolderUseCase } from "./abstractions.js";
4
+ import { GetFolderRepository } from "../GetFolder/abstractions.js";
5
+ import { FolderAfterDeleteEvent, FolderBeforeDeleteEvent } from "./events.js";
6
+ import { createImplementation } from "@webiny/di";
7
+ import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
8
+ class DeleteFolderUseCaseImpl {
9
+ constructor(eventPublisher, getFolderRepository, repository){
10
+ this.eventPublisher = eventPublisher;
11
+ this.getFolderRepository = getFolderRepository;
12
+ this.repository = repository;
13
+ }
14
+ async execute(id) {
15
+ const getFolderResult = await this.getFolderRepository.execute(id);
16
+ if (getFolderResult.isFail()) return Result.fail(getFolderResult.error);
17
+ const folder = getFolderResult.value;
18
+ const beforeDeleteEvent = new FolderBeforeDeleteEvent({
19
+ folder
20
+ });
21
+ try {
22
+ await this.eventPublisher.publish(beforeDeleteEvent);
23
+ } catch (err) {
24
+ if ("Aco/Folder/NotEmpty" === err.code) return Result.fail(new FolderNotEmptyError());
25
+ return Result.fail(new FolderNotAuthorizedError());
26
+ }
27
+ const result = await this.repository.execute(folder);
28
+ if (result.isFail()) return result;
29
+ const afterDeleteEvent = new FolderAfterDeleteEvent({
30
+ folder
31
+ });
32
+ await this.eventPublisher.publish(afterDeleteEvent);
33
+ return Result.ok();
34
+ }
35
+ }
36
+ const DeleteFolderUseCase_DeleteFolderUseCase = createImplementation({
37
+ abstraction: DeleteFolderUseCase,
38
+ implementation: DeleteFolderUseCaseImpl,
39
+ dependencies: [
40
+ EventPublisher,
41
+ GetFolderRepository,
42
+ DeleteFolderRepository
43
+ ]
44
+ });
45
+ export { DeleteFolderUseCase_DeleteFolderUseCase as DeleteFolderUseCase };
46
+
47
+ //# sourceMappingURL=DeleteFolderUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/DeleteFolderUseCase.js","sources":["../../../../src/features/folder/DeleteFolder/DeleteFolderUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport {\n DeleteFolderUseCase as UseCaseAbstraction,\n DeleteFolderRepository\n} from \"./abstractions.js\";\nimport { GetFolderRepository } from \"../GetFolder/abstractions.js\";\nimport { FolderBeforeDeleteEvent, FolderAfterDeleteEvent } from \"./events.js\";\nimport { createImplementation } from \"@webiny/di\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nclass DeleteFolderUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private getFolderRepository: GetFolderRepository.Interface,\n private repository: DeleteFolderRepository.Interface\n ) {}\n\n async execute(id: string): Promise<Result<void, UseCaseAbstraction.Error>> {\n // Get the folder before deletion\n const getFolderResult = await this.getFolderRepository.execute(id);\n\n if (getFolderResult.isFail()) {\n return Result.fail(getFolderResult.error);\n }\n\n const folder = getFolderResult.value;\n\n // Publish before delete event\n const beforeDeleteEvent = new FolderBeforeDeleteEvent({\n folder\n });\n\n try {\n await this.eventPublisher.publish(beforeDeleteEvent);\n } catch (err) {\n if (err.code === \"Aco/Folder/NotEmpty\") {\n return Result.fail(new FolderNotEmptyError());\n }\n return Result.fail(new FolderNotAuthorizedError());\n }\n\n // Execute the delete operation\n const result = await this.repository.execute(folder);\n\n if (result.isFail()) {\n return result;\n }\n\n // Publish after delete event\n const afterDeleteEvent = new FolderAfterDeleteEvent({\n folder\n });\n\n await this.eventPublisher.publish(afterDeleteEvent);\n\n return Result.ok();\n }\n}\n\nexport const DeleteFolderUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: DeleteFolderUseCaseImpl,\n dependencies: [EventPublisher, GetFolderRepository, DeleteFolderRepository]\n});\n"],"names":["DeleteFolderUseCaseImpl","eventPublisher","getFolderRepository","repository","id","getFolderResult","Result","folder","beforeDeleteEvent","FolderBeforeDeleteEvent","err","FolderNotEmptyError","FolderNotAuthorizedError","result","afterDeleteEvent","FolderAfterDeleteEvent","DeleteFolderUseCase","createImplementation","UseCaseAbstraction","EventPublisher","GetFolderRepository","DeleteFolderRepository"],"mappings":";;;;;;;AAcA,MAAMA;IACF,YACYC,cAAmD,EACnDC,mBAAkD,EAClDC,UAA4C,CACtD;aAHUF,cAAc,GAAdA;aACAC,mBAAmB,GAAnBA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAmD;QAEvE,MAAMC,kBAAkB,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAACD;QAE/D,IAAIC,gBAAgB,MAAM,IACtB,OAAOC,OAAO,IAAI,CAACD,gBAAgB,KAAK;QAG5C,MAAME,SAASF,gBAAgB,KAAK;QAGpC,MAAMG,oBAAoB,IAAIC,wBAAwB;YAClDF;QACJ;QAEA,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACC;QACtC,EAAE,OAAOE,KAAK;YACV,IAAIA,AAAa,0BAAbA,IAAI,IAAI,EACR,OAAOJ,OAAO,IAAI,CAAC,IAAIK;YAE3B,OAAOL,OAAO,IAAI,CAAC,IAAIM;QAC3B;QAGA,MAAMC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACN;QAE7C,IAAIM,OAAO,MAAM,IACb,OAAOA;QAIX,MAAMC,mBAAmB,IAAIC,uBAAuB;YAChDR;QACJ;QAEA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAACO;QAElC,OAAOR,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMU,0CAAsBC,qBAAqB;IACpD,aAAaC;IACb,gBAAgBlB;IAChB,cAAc;QAACmB;QAAgBC;QAAqBC;KAAuB;AAC/E"}
@@ -0,0 +1,59 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { DomainEvent, IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
+ import type { Folder } from "../../../folder/folder.types.js";
4
+ import { type FolderNotAuthorizedError, FolderNotEmptyError, type FolderNotFoundError, type FolderPersistenceError } from "../../../domain/folder/errors.js";
5
+ /**
6
+ * DeleteFolder repository interface
7
+ */
8
+ export interface IDeleteFolderRepository {
9
+ execute(folder: Folder): Promise<Result<void, RepositoryError>>;
10
+ }
11
+ export interface IDeleteFolderRepositoryErrors {
12
+ notAuthorized: FolderNotAuthorizedError;
13
+ persistence: FolderPersistenceError;
14
+ }
15
+ type RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];
16
+ /** Persist folder deletion. */
17
+ export declare const DeleteFolderRepository: import("@webiny/di").Abstraction<IDeleteFolderRepository>;
18
+ export declare namespace DeleteFolderRepository {
19
+ type Interface = IDeleteFolderRepository;
20
+ type Error = RepositoryError;
21
+ }
22
+ /**
23
+ * DeleteFolder use case interface
24
+ */
25
+ export interface IDeleteFolderUseCase {
26
+ execute(id: string): Promise<Result<void, UseCaseError>>;
27
+ }
28
+ export interface IDeleteFolderUseCaseErrors {
29
+ notAuthorized: FolderNotAuthorizedError;
30
+ notFound: FolderNotFoundError;
31
+ notEmpty: FolderNotEmptyError;
32
+ persistence: FolderPersistenceError;
33
+ }
34
+ type UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];
35
+ /** Delete a folder. */
36
+ export declare const DeleteFolderUseCase: import("@webiny/di").Abstraction<IDeleteFolderUseCase>;
37
+ export declare namespace DeleteFolderUseCase {
38
+ type Interface = IDeleteFolderUseCase;
39
+ type Error = UseCaseError;
40
+ }
41
+ export interface FolderBeforeDeletePayload {
42
+ folder: Folder;
43
+ }
44
+ export interface FolderAfterDeletePayload {
45
+ folder: Folder;
46
+ }
47
+ /** Hook into folder lifecycle before a folder is deleted. */
48
+ export declare const FolderBeforeDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeDeletePayload>>>;
49
+ export declare namespace FolderBeforeDeleteEventHandler {
50
+ type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;
51
+ type Event = DomainEvent<FolderBeforeDeletePayload>;
52
+ }
53
+ /** Hook into folder lifecycle after a folder is deleted. */
54
+ export declare const FolderAfterDeleteEventHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
55
+ export declare namespace FolderAfterDeleteEventHandler {
56
+ type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;
57
+ type Event = DomainEvent<FolderAfterDeletePayload>;
58
+ }
59
+ export {};
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const DeleteFolderRepository = createAbstraction("DeleteFolderRepository");
3
+ const DeleteFolderUseCase = createAbstraction("DeleteFolderUseCase");
4
+ const FolderBeforeDeleteEventHandler = createAbstraction("FolderBeforeDeleteEventHandler");
5
+ const FolderAfterDeleteEventHandler = createAbstraction("FolderAfterDeleteEventHandler");
6
+ export { DeleteFolderRepository, DeleteFolderUseCase, FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler };
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/abstractions.js","sources":["../../../../src/features/folder/DeleteFolder/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { DomainEvent, IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { Folder } from \"~/folder/folder.types.js\";\nimport {\n type FolderNotAuthorizedError,\n FolderNotEmptyError,\n type FolderNotFoundError,\n type FolderPersistenceError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * DeleteFolder repository interface\n */\nexport interface IDeleteFolderRepository {\n execute(folder: Folder): Promise<Result<void, RepositoryError>>;\n}\n\nexport interface IDeleteFolderRepositoryErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IDeleteFolderRepositoryErrors[keyof IDeleteFolderRepositoryErrors];\n\n/** Persist folder deletion. */\nexport const DeleteFolderRepository =\n createAbstraction<IDeleteFolderRepository>(\"DeleteFolderRepository\");\n\nexport namespace DeleteFolderRepository {\n export type Interface = IDeleteFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * DeleteFolder use case interface\n */\nexport interface IDeleteFolderUseCase {\n execute(id: string): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IDeleteFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n notFound: FolderNotFoundError;\n notEmpty: FolderNotEmptyError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IDeleteFolderUseCaseErrors[keyof IDeleteFolderUseCaseErrors];\n\n/** Delete a folder. */\nexport const DeleteFolderUseCase = createAbstraction<IDeleteFolderUseCase>(\"DeleteFolderUseCase\");\n\nexport namespace DeleteFolderUseCase {\n export type Interface = IDeleteFolderUseCase;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeDeletePayload {\n folder: Folder;\n}\n\nexport interface FolderAfterDeletePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\n/** Hook into folder lifecycle before a folder is deleted. */\nexport const FolderBeforeDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeDeletePayload>>\n>(\"FolderBeforeDeleteEventHandler\");\n\nexport namespace FolderBeforeDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeDeletePayload>>;\n export type Event = DomainEvent<FolderBeforeDeletePayload>;\n}\n\n/** Hook into folder lifecycle after a folder is deleted. */\nexport const FolderAfterDeleteEventHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterDeletePayload>>\n>(\"FolderAfterDeleteEventHandler\");\n\nexport namespace FolderAfterDeleteEventHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterDeletePayload>>;\n export type Event = DomainEvent<FolderAfterDeletePayload>;\n}\n"],"names":["DeleteFolderRepository","createAbstraction","DeleteFolderUseCase","FolderBeforeDeleteEventHandler","FolderAfterDeleteEventHandler"],"mappings":";AA0BO,MAAMA,yBACTC,kBAA2C;AAwBxC,MAAMC,sBAAsBD,kBAAwC;AAkBpE,MAAME,iCAAiCF,kBAE5C;AAQK,MAAMG,gCAAgCH,kBAE3C"}
@@ -0,0 +1,11 @@
1
+ import { FolderLevelPermissions } from "../../../../features/flp/FolderLevelPermissions/index.js";
2
+ import { DeleteFolderUseCase } from "../abstractions.js";
3
+ import { Result } from "@webiny/feature/api";
4
+ declare class DeleteFolderWithFolderLevelPermissionsImpl implements DeleteFolderUseCase.Interface {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoretee: DeleteFolderUseCase.Interface);
8
+ execute(id: string): Promise<Result<void, never> | Result<never, import("../../../../domain/folder/errors.js").FolderNotAuthorizedError | import("../../../../domain/folder/errors.js").FolderNotEmptyError | import("../../../../domain/folder/errors.js").FolderNotFoundError | import("../../../../domain/folder/errors.js").FolderPersistenceError>>;
9
+ }
10
+ export declare const DeleteFolderWithFolderLevelPermissions: typeof DeleteFolderWithFolderLevelPermissionsImpl;
11
+ export {};
@@ -0,0 +1,29 @@
1
+ import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
2
+ import { DeleteFolderUseCase } from "../abstractions.js";
3
+ import { Result, createDecorator } from "@webiny/feature/api";
4
+ class DeleteFolderWithFolderLevelPermissionsImpl {
5
+ constructor(folderLevelPermissions, decoretee){
6
+ this.folderLevelPermissions = folderLevelPermissions;
7
+ this.decoretee = decoretee;
8
+ }
9
+ async execute(id) {
10
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);
11
+ await this.folderLevelPermissions.ensureCanAccessFolder({
12
+ permissions,
13
+ rwd: "d"
14
+ });
15
+ const result = await this.decoretee.execute(id);
16
+ if (result.isFail()) return Result.fail(result.error);
17
+ return Result.ok();
18
+ }
19
+ }
20
+ const DeleteFolderWithFolderLevelPermissions = createDecorator({
21
+ abstraction: DeleteFolderUseCase,
22
+ decorator: DeleteFolderWithFolderLevelPermissionsImpl,
23
+ dependencies: [
24
+ FolderLevelPermissions
25
+ ]
26
+ });
27
+ export { DeleteFolderWithFolderLevelPermissions };
28
+
29
+ //# sourceMappingURL=DeleteFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { DeleteFolderUseCase } from \"../abstractions.js\";\nimport { createDecorator, Result } from \"@webiny/feature/api\";\n\nclass DeleteFolderWithFolderLevelPermissionsImpl implements DeleteFolderUseCase.Interface {\n private folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly decoretee: DeleteFolderUseCase.Interface;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n decoretee: DeleteFolderUseCase.Interface\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(id: string) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions,\n rwd: \"d\"\n });\n\n const result = await this.decoretee.execute(id);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok();\n }\n}\n\nexport const DeleteFolderWithFolderLevelPermissions = createDecorator({\n abstraction: DeleteFolderUseCase,\n decorator: DeleteFolderWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["DeleteFolderWithFolderLevelPermissionsImpl","folderLevelPermissions","decoretee","id","permissions","result","Result","DeleteFolderWithFolderLevelPermissions","createDecorator","DeleteFolderUseCase","FolderLevelPermissions"],"mappings":";;;AAIA,MAAMA;IAIF,YACIC,sBAAwD,EACxDC,SAAwC,CAC1C;QACE,IAAI,CAAC,sBAAsB,GAAGD;QAC9B,IAAI,CAAC,SAAS,GAAGC;IACrB;IAEA,MAAM,QAAQC,EAAU,EAAE;QACtB,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACD;QAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;YACpDC;YACA,KAAK;QACT;QAEA,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF;QAE5C,IAAIE,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAACD,OAAO,KAAK;QAGnC,OAAOC,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMC,yCAAyCC,gBAAgB;IAClE,aAAaC;IACb,WAAWT;IACX,cAAc;QAACU;KAAuB;AAC1C"}
@@ -0,0 +1,10 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { FolderBeforeDeletePayload, FolderAfterDeletePayload } from "./abstractions.js";
3
+ export declare class FolderBeforeDeleteEvent extends DomainEvent<FolderBeforeDeletePayload> {
4
+ eventType: "folder.beforeDelete";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderBeforeDeletePayload>>>;
6
+ }
7
+ export declare class FolderAfterDeleteEvent extends DomainEvent<FolderAfterDeletePayload> {
8
+ eventType: "folder.afterDelete";
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderAfterDeletePayload>>>;
10
+ }
@@ -0,0 +1,21 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler } from "./abstractions.js";
3
+ class FolderBeforeDeleteEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return FolderBeforeDeleteEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "folder.beforeDelete";
9
+ }
10
+ }
11
+ class FolderAfterDeleteEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return FolderAfterDeleteEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "folder.afterDelete";
17
+ }
18
+ }
19
+ export { FolderAfterDeleteEvent, FolderBeforeDeleteEvent };
20
+
21
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/events.js","sources":["../../../../src/features/folder/DeleteFolder/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { FolderBeforeDeleteEventHandler, FolderAfterDeleteEventHandler } from \"./abstractions.js\";\nimport type { FolderBeforeDeletePayload, FolderAfterDeletePayload } from \"./abstractions.js\";\n\n// FolderBeforeDelete Event\nexport class FolderBeforeDeleteEvent extends DomainEvent<FolderBeforeDeletePayload> {\n eventType = \"folder.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return FolderBeforeDeleteEventHandler;\n }\n}\n\n// FolderAfterDelete Event\nexport class FolderAfterDeleteEvent extends DomainEvent<FolderAfterDeletePayload> {\n eventType = \"folder.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterDeleteEventHandler;\n }\n}\n"],"names":["FolderBeforeDeleteEvent","DomainEvent","FolderBeforeDeleteEventHandler","FolderAfterDeleteEvent","FolderAfterDeleteEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,+BAA+BF;IAGxC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -0,0 +1,5 @@
1
+ import type { Container } from "@webiny/di";
2
+ export declare const DeleteFolderFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
@@ -0,0 +1,15 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { DeleteFolderRepository } from "./DeleteFolderRepository.js";
3
+ import { DeleteFolderUseCase } from "./DeleteFolderUseCase.js";
4
+ import { DeleteFolderWithFolderLevelPermissions } from "./decorators/DeleteFolderWithFolderLevelPermissions.js";
5
+ const DeleteFolderFeature = createFeature({
6
+ name: "DeleteFolder",
7
+ register (container) {
8
+ container.register(DeleteFolderRepository).inSingletonScope();
9
+ container.register(DeleteFolderUseCase);
10
+ container.registerDecorator(DeleteFolderWithFolderLevelPermissions);
11
+ }
12
+ });
13
+ export { DeleteFolderFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/DeleteFolder/feature.js","sources":["../../../../src/features/folder/DeleteFolder/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { DeleteFolderRepository } from \"./DeleteFolderRepository.js\";\nimport { DeleteFolderUseCase } from \"./DeleteFolderUseCase.js\";\nimport { DeleteFolderWithFolderLevelPermissions } from \"./decorators/DeleteFolderWithFolderLevelPermissions.js\";\n\nexport const DeleteFolderFeature = createFeature({\n name: \"DeleteFolder\",\n register(container: Container) {\n container.register(DeleteFolderRepository).inSingletonScope();\n container.register(DeleteFolderUseCase);\n container.registerDecorator(DeleteFolderWithFolderLevelPermissions);\n }\n});\n"],"names":["DeleteFolderFeature","createFeature","container","DeleteFolderRepository","DeleteFolderUseCase","DeleteFolderWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,wBAAwB,gBAAgB;QAC3DD,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { DeleteFolderFeature } from "./feature.js";
2
+ export { FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler, DeleteFolderUseCase } from "./abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { DeleteFolderFeature } from "./feature.js";
2
+ export { DeleteFolderUseCase, FolderAfterDeleteEventHandler, FolderBeforeDeleteEventHandler } from "./abstractions.js";
@@ -0,0 +1,15 @@
1
+ import { FolderLevelPermissions } from "../../../features/flp/FolderLevelPermissions/index.js";
2
+ import { ListFoldersUseCase } from "../../../features/folder/ListFolders/index.js";
3
+ import { EnsureFolderIsEmpty as Abstraction } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
+ declare class EnsureFolderIsEmptyImpl implements Abstraction.Interface {
6
+ private identityContext;
7
+ private folderLevelPermissions;
8
+ private listFoldersUseCase;
9
+ constructor(identityContext: IdentityContext.Interface, folderLevelPermissions: FolderLevelPermissions.Interface, listFoldersUseCase: ListFoldersUseCase.Interface);
10
+ execute(type: string, id: string, hasContentCallback: Abstraction.HasContentCallback): Abstraction.Return;
11
+ }
12
+ export declare const EnsureFolderIsEmpty: typeof EnsureFolderIsEmptyImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<import("~/features/folder/EnsureFolderIsEmpty/abstractions.js").IEnsureFolderIsEmpty>;
14
+ };
15
+ export {};
@@ -0,0 +1,59 @@
1
+ import { FolderLevelPermissions } from "../../flp/FolderLevelPermissions/index.js";
2
+ import { ListFoldersUseCase } from "../ListFolders/index.js";
3
+ import { EnsureFolderIsEmpty } from "./abstractions.js";
4
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
5
+ import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
6
+ import { Result } from "@webiny/feature/api";
7
+ class EnsureFolderIsEmptyImpl {
8
+ constructor(identityContext, folderLevelPermissions, listFoldersUseCase){
9
+ this.identityContext = identityContext;
10
+ this.folderLevelPermissions = folderLevelPermissions;
11
+ this.listFoldersUseCase = listFoldersUseCase;
12
+ }
13
+ async execute(type, id, hasContentCallback) {
14
+ const hasFoldersCallback = async ()=>{
15
+ const result = await this.listFoldersUseCase.execute({
16
+ where: {
17
+ type,
18
+ parentId: id
19
+ },
20
+ limit: 1
21
+ });
22
+ if (result.isFail()) {
23
+ console.error(result.error.message);
24
+ return true;
25
+ }
26
+ const { folders } = result.value;
27
+ return folders.length > 0;
28
+ };
29
+ const [hasFolders, hasContent] = await Promise.all([
30
+ hasFoldersCallback(),
31
+ hasContentCallback()
32
+ ]);
33
+ if (hasFolders || hasContent) return Result.fail(new FolderNotEmptyError());
34
+ if (!this.folderLevelPermissions.canUseFolderLevelPermissions()) return Result.ok();
35
+ const [hasInvisibleFolders, hasInvisibleContent] = await this.identityContext.withoutAuthorization(async ()=>{
36
+ const [hasFolders, hasContent] = await Promise.all([
37
+ hasFoldersCallback(),
38
+ hasContentCallback()
39
+ ]);
40
+ return [
41
+ hasFolders,
42
+ hasContent
43
+ ];
44
+ });
45
+ if (hasInvisibleFolders || hasInvisibleContent) return Result.fail(new FolderNotAuthorizedError());
46
+ return Result.ok();
47
+ }
48
+ }
49
+ const EnsureFolderIsEmpty_EnsureFolderIsEmpty = EnsureFolderIsEmpty.createImplementation({
50
+ implementation: EnsureFolderIsEmptyImpl,
51
+ dependencies: [
52
+ IdentityContext,
53
+ FolderLevelPermissions,
54
+ ListFoldersUseCase
55
+ ]
56
+ });
57
+ export { EnsureFolderIsEmpty_EnsureFolderIsEmpty as EnsureFolderIsEmpty };
58
+
59
+ //# sourceMappingURL=EnsureFolderIsEmpty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\nimport { EnsureFolderIsEmpty as Abstraction } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\nimport { Result } from \"@webiny/feature/api\";\n\nclass EnsureFolderIsEmptyImpl implements Abstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private listFoldersUseCase: ListFoldersUseCase.Interface\n ) {}\n\n async execute(\n type: string,\n id: string,\n hasContentCallback: Abstraction.HasContentCallback\n ): Abstraction.Return {\n const hasFoldersCallback = async () => {\n const result = await this.listFoldersUseCase.execute({\n where: {\n type,\n parentId: id\n },\n limit: 1\n });\n\n if (result.isFail()) {\n console.error(result.error.message);\n return true;\n }\n\n const { folders } = result.value;\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 return Result.fail(new FolderNotEmptyError());\n }\n\n // Let's also check if there are folders / content that are not visible because of folder permissions.\n if (!this.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 Result.ok();\n }\n\n const [hasInvisibleFolders, hasInvisibleContent] =\n await this.identityContext.withoutAuthorization(async () => {\n const [hasFolders, hasContent] = await Promise.all([\n hasFoldersCallback(),\n hasContentCallback()\n ]);\n return [hasFolders, hasContent];\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 return Result.fail(new FolderNotAuthorizedError());\n }\n\n return Result.ok();\n }\n}\n\nexport const EnsureFolderIsEmpty = Abstraction.createImplementation({\n implementation: EnsureFolderIsEmptyImpl,\n dependencies: [IdentityContext, FolderLevelPermissions, ListFoldersUseCase]\n});\n"],"names":["EnsureFolderIsEmptyImpl","identityContext","folderLevelPermissions","listFoldersUseCase","type","id","hasContentCallback","hasFoldersCallback","result","console","folders","hasFolders","hasContent","Promise","Result","FolderNotEmptyError","hasInvisibleFolders","hasInvisibleContent","FolderNotAuthorizedError","EnsureFolderIsEmpty","Abstraction","IdentityContext","FolderLevelPermissions","ListFoldersUseCase"],"mappings":";;;;;;AAOA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,sBAAwD,EACxDC,kBAAgD,CAC1D;aAHUF,eAAe,GAAfA;aACAC,sBAAsB,GAAtBA;aACAC,kBAAkB,GAAlBA;IACT;IAEH,MAAM,QACFC,IAAY,EACZC,EAAU,EACVC,kBAAkD,EAChC;QAClB,MAAMC,qBAAqB;YACvB,MAAMC,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBACjD,OAAO;oBACHJ;oBACA,UAAUC;gBACd;gBACA,OAAO;YACX;YAEA,IAAIG,OAAO,MAAM,IAAI;gBACjBC,QAAQ,KAAK,CAACD,OAAO,KAAK,CAAC,OAAO;gBAClC,OAAO;YACX;YAEA,MAAM,EAAEE,OAAO,EAAE,GAAGF,OAAO,KAAK;YAEhC,OAAOE,QAAQ,MAAM,GAAG;QAC5B;QAEA,MAAM,CAACC,YAAYC,WAAW,GAAG,MAAMC,QAAQ,GAAG,CAAC;YAC/CN;YACAD;SACH;QAED,IAAIK,cAAcC,YACd,OAAOE,OAAO,IAAI,CAAC,IAAIC;QAI3B,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,4BAA4B,IAGzD,OAAOD,OAAO,EAAE;QAGpB,MAAM,CAACE,qBAAqBC,oBAAoB,GAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC;YAC5C,MAAM,CAACN,YAAYC,WAAW,GAAG,MAAMC,QAAQ,GAAG,CAAC;gBAC/CN;gBACAD;aACH;YACD,OAAO;gBAACK;gBAAYC;aAAW;QACnC;QAIJ,IAAII,uBAAuBC,qBACvB,OAAOH,OAAO,IAAI,CAAC,IAAII;QAG3B,OAAOJ,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMK,0CAAsBC,oBAAAA,oBAAgC,CAAC;IAChE,gBAAgBpB;IAChB,cAAc;QAACqB;QAAiBC;QAAwBC;KAAmB;AAC/E"}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { FolderNotAuthorizedError, FolderNotEmptyError } from "../../../domain/folder/errors.js";
3
+ export interface IHasContentCallback {
4
+ (): boolean | Promise<boolean>;
5
+ }
6
+ export interface IEnsureFolderIsEmpty {
7
+ execute(type: string, id: string, hasContentCallback: IHasContentCallback): Promise<Result<void, UseCaseError>>;
8
+ }
9
+ export interface IEnsureFolderIsEmptyError {
10
+ notAuthorized: FolderNotAuthorizedError;
11
+ notEmpty: FolderNotEmptyError;
12
+ }
13
+ type UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];
14
+ /** Verify a folder has no children before deletion. */
15
+ export declare const EnsureFolderIsEmpty: import("@webiny/di").Abstraction<IEnsureFolderIsEmpty>;
16
+ export declare namespace EnsureFolderIsEmpty {
17
+ type Interface = IEnsureFolderIsEmpty;
18
+ type HasContentCallback = IHasContentCallback;
19
+ type Return = Promise<Result<void, UseCaseError>>;
20
+ }
21
+ export {};
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const EnsureFolderIsEmpty = createAbstraction("EnsureFolderIsEmpty");
3
+ export { EnsureFolderIsEmpty };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/EnsureFolderIsEmpty/abstractions.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport { FolderNotAuthorizedError, FolderNotEmptyError } from \"~/domain/folder/errors.js\";\n\nexport interface IHasContentCallback {\n (): boolean | Promise<boolean>;\n}\n\nexport interface IEnsureFolderIsEmpty {\n execute(\n type: string,\n id: string,\n hasContentCallback: IHasContentCallback\n ): Promise<Result<void, UseCaseError>>;\n}\n\nexport interface IEnsureFolderIsEmptyError {\n notAuthorized: FolderNotAuthorizedError;\n notEmpty: FolderNotEmptyError;\n}\n\ntype UseCaseError = IEnsureFolderIsEmptyError[keyof IEnsureFolderIsEmptyError];\n\n/** Verify a folder has no children before deletion. */\nexport const EnsureFolderIsEmpty = createAbstraction<IEnsureFolderIsEmpty>(\"EnsureFolderIsEmpty\");\n\nexport namespace EnsureFolderIsEmpty {\n export type Interface = IEnsureFolderIsEmpty;\n export type HasContentCallback = IHasContentCallback;\n export type Return = Promise<Result<void, UseCaseError>>;\n}\n"],"names":["EnsureFolderIsEmpty","createAbstraction"],"mappings":";AAuBO,MAAMA,sBAAsBC,kBAAwC"}
@@ -0,0 +1,4 @@
1
+ export declare const EnsureFolderIsEmptyFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { EnsureFolderIsEmpty } from "./EnsureFolderIsEmpty.js";
3
+ const EnsureFolderIsEmptyFeature = createFeature({
4
+ name: "EnsureFolderIsEmptyFeature",
5
+ register (container) {
6
+ container.register(EnsureFolderIsEmpty);
7
+ }
8
+ });
9
+ export { EnsureFolderIsEmptyFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/EnsureFolderIsEmpty/feature.js","sources":["../../../../src/features/folder/EnsureFolderIsEmpty/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { EnsureFolderIsEmpty } from \"./EnsureFolderIsEmpty.js\";\n\nexport const EnsureFolderIsEmptyFeature = createFeature({\n name: \"EnsureFolderIsEmptyFeature\",\n register(container) {\n container.register(EnsureFolderIsEmpty);\n }\n});\n"],"names":["EnsureFolderIsEmptyFeature","createFeature","container","EnsureFolderIsEmpty"],"mappings":";;AAGO,MAAMA,6BAA6BC,cAAc;IACpD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { EnsureFolderIsEmpty } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { EnsureFolderIsEmpty } from "./abstractions.js";
@@ -0,0 +1,12 @@
1
+ import { FolderBeforeDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
2
+ import type { FolderBeforeDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
3
+ import { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
4
+ declare class GenericFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {
5
+ private ensureFolderIsEmpty;
6
+ constructor(ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface);
7
+ handle(event: FolderBeforeDeleteEvent): Promise<void>;
8
+ }
9
+ export declare const GenericFolderBeforeDeleteHandler: typeof GenericFolderBeforeDeleteHandlerImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderBeforeDeletePayload>>>;
11
+ };
12
+ export {};
@@ -0,0 +1,25 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ import { FolderBeforeDeleteEventHandler } from "../DeleteFolder/abstractions.js";
3
+ import { EnsureFolderIsEmpty } from "../EnsureFolderIsEmpty/abstractions.js";
4
+ class GenericFolderBeforeDeleteHandlerImpl {
5
+ constructor(ensureFolderIsEmpty){
6
+ this.ensureFolderIsEmpty = ensureFolderIsEmpty;
7
+ }
8
+ async handle(event) {
9
+ const { folder } = event.payload;
10
+ const result = await this.ensureFolderIsEmpty.execute(folder.type, folder.id, ()=>false);
11
+ if (result.isFail()) throw WebinyError.from(result.error, {
12
+ message: "Error while ensuring folder is empty before delete.",
13
+ code: "ACO_BEFORE_FOLDER_DELETE_FILE_HANDLER"
14
+ });
15
+ }
16
+ }
17
+ const GenericFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation({
18
+ implementation: GenericFolderBeforeDeleteHandlerImpl,
19
+ dependencies: [
20
+ EnsureFolderIsEmpty
21
+ ]
22
+ });
23
+ export { GenericFolderBeforeDeleteHandler };
24
+
25
+ //# sourceMappingURL=GenericFolderBeforeDeleteHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js","sources":["../../../../src/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { FolderBeforeDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderBeforeDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport { EnsureFolderIsEmpty } from \"~/features/folder/EnsureFolderIsEmpty/abstractions.js\";\n\nclass GenericFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {\n constructor(private ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface) {}\n\n async handle(event: FolderBeforeDeleteEvent): Promise<void> {\n const { folder } = event.payload;\n\n const result = await this.ensureFolderIsEmpty.execute(\n folder.type,\n folder.id,\n // We can only check if a folder has child folders.\n // Content is controlled by individual apps, so content checks are implemented there.\n () => false\n );\n\n if (result.isFail()) {\n throw WebinyError.from(result.error, {\n message: \"Error while ensuring folder is empty before delete.\",\n code: \"ACO_BEFORE_FOLDER_DELETE_FILE_HANDLER\"\n });\n }\n }\n}\n\nexport const GenericFolderBeforeDeleteHandler = FolderBeforeDeleteEventHandler.createImplementation(\n {\n implementation: GenericFolderBeforeDeleteHandlerImpl,\n dependencies: [EnsureFolderIsEmpty]\n }\n);\n"],"names":["GenericFolderBeforeDeleteHandlerImpl","ensureFolderIsEmpty","event","folder","result","WebinyError","GenericFolderBeforeDeleteHandler","FolderBeforeDeleteEventHandler","EnsureFolderIsEmpty"],"mappings":";;;AAKA,MAAMA;IACF,YAAoBC,mBAAkD,CAAE;aAApDA,mBAAmB,GAAnBA;IAAqD;IAEzE,MAAM,OAAOC,KAA8B,EAAiB;QACxD,MAAM,EAAEC,MAAM,EAAE,GAAGD,MAAM,OAAO;QAEhC,MAAME,SAAS,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CACjDD,OAAO,IAAI,EACXA,OAAO,EAAE,EAGT,IAAM;QAGV,IAAIC,OAAO,MAAM,IACb,MAAMC,YAAY,IAAI,CAACD,OAAO,KAAK,EAAE;YACjC,SAAS;YACT,MAAM;QACV;IAER;AACJ;AAEO,MAAME,mCAAmCC,+BAA+B,oBAAoB,CAC/F;IACI,gBAAgBP;IAChB,cAAc;QAACQ;KAAoB;AACvC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This feature checks whether a folder is allowed to be deleted.
3
+ * This generic check simply checks if there are child folders within the given folder.
4
+ * Actual content cannot be checked, as folders do not have information about their records.
5
+ * Individual apps (like File Manager, Headless CMS, etc.) need to implement their own event handlers.
6
+ */
7
+ export declare const EnsureFolderIsEmptyOnDeleteFeature: {
8
+ name: string;
9
+ register(container: import("@webiny/di").Container): void;
10
+ };
@@ -0,0 +1,11 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { GenericFolderBeforeDeleteHandler } from "./GenericFolderBeforeDeleteHandler.js";
3
+ const EnsureFolderIsEmptyOnDeleteFeature = createFeature({
4
+ name: "EnsureFolderIsEmptyOnDelete",
5
+ register (container) {
6
+ container.register(GenericFolderBeforeDeleteHandler);
7
+ }
8
+ });
9
+ export { EnsureFolderIsEmptyOnDeleteFeature };
10
+
11
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/EnsureFolderIsEmptyOnDelete/feature.js","sources":["../../../../src/features/folder/EnsureFolderIsEmptyOnDelete/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GenericFolderBeforeDeleteHandler } from \"./GenericFolderBeforeDeleteHandler.js\";\n\n/**\n * This feature checks whether a folder is allowed to be deleted.\n * This generic check simply checks if there are child folders within the given folder.\n * Actual content cannot be checked, as folders do not have information about their records.\n * Individual apps (like File Manager, Headless CMS, etc.) need to implement their own event handlers.\n */\nexport const EnsureFolderIsEmptyOnDeleteFeature = createFeature({\n name: \"EnsureFolderIsEmptyOnDelete\",\n register(container) {\n container.register(GenericFolderBeforeDeleteHandler);\n }\n});\n"],"names":["EnsureFolderIsEmptyOnDeleteFeature","createFeature","container","GenericFolderBeforeDeleteHandler"],"mappings":";;AASO,MAAMA,qCAAqCC,cAAc;IAC5D,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -0,0 +1 @@
1
+ export { EnsureFolderIsEmptyOnDeleteFeature } from "./feature.js";
@@ -0,0 +1 @@
1
+ export { EnsureFolderIsEmptyOnDeleteFeature } from "./feature.js";
@@ -0,0 +1,16 @@
1
+ import { FolderBeforeDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
2
+ import type { FolderBeforeDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
3
+ import { EnsureFolderIsEmpty } from "../../../features/folder/EnsureFolderIsEmpty/abstractions.js";
4
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
5
+ import { ListEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/abstractions.js";
6
+ declare class ModelFolderBeforeDeleteHandlerImpl implements FolderBeforeDeleteEventHandler.Interface {
7
+ private ensureFolderIsEmpty;
8
+ private getModel;
9
+ private listEntries;
10
+ constructor(ensureFolderIsEmpty: EnsureFolderIsEmpty.Interface, getModel: GetModelUseCase.Interface, listEntries: ListEntriesUseCase.Interface);
11
+ handle(event: FolderBeforeDeleteEvent): Promise<void>;
12
+ }
13
+ export declare const ModelFolderBeforeDeleteHandler: typeof ModelFolderBeforeDeleteHandlerImpl & {
14
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-core/features/eventPublisher").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderBeforeDeletePayload>>>;
15
+ };
16
+ export {};