@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,53 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListFoldersRepository } from "./abstractions.js";
3
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
4
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
5
+ import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
6
+ import { FolderPersistenceError } from "../../../domain/folder/errors.js";
7
+ import { createListSort } from "../../../utils/createListSort.js";
8
+ import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
9
+ class ListFoldersRepositoryImpl {
10
+ constructor(listLatestEntries, folderModelProvider, cmsWhereMapper, cmsSortMapper){
11
+ this.listLatestEntries = listLatestEntries;
12
+ this.folderModelProvider = folderModelProvider;
13
+ this.cmsWhereMapper = cmsWhereMapper;
14
+ this.cmsSortMapper = cmsSortMapper;
15
+ }
16
+ async execute(params) {
17
+ const folderModel = await this.folderModelProvider.get();
18
+ const { sort, where } = params;
19
+ const listSort = sort || {
20
+ values_title: "ASC"
21
+ };
22
+ const result = await this.listLatestEntries.execute(folderModel, {
23
+ ...params,
24
+ sort: this.cmsSortMapper.map({
25
+ input: createListSort(listSort),
26
+ fields: folderModel.fields
27
+ }),
28
+ where: this.cmsWhereMapper.map({
29
+ input: where,
30
+ fields: folderModel.fields
31
+ })
32
+ });
33
+ if (result.isFail()) return Result.fail(new FolderPersistenceError(result.error));
34
+ const { entries, meta } = result.value;
35
+ const folders = entries.map((entry)=>EntryToFolderMapper.toFolder(entry));
36
+ return Result.ok({
37
+ folders,
38
+ meta
39
+ });
40
+ }
41
+ }
42
+ const ListFoldersRepository_ListFoldersRepository = ListFoldersRepository.createImplementation({
43
+ implementation: ListFoldersRepositoryImpl,
44
+ dependencies: [
45
+ ListLatestEntriesUseCase,
46
+ FolderModelProvider,
47
+ CmsWhereMapper,
48
+ CmsSortMapper
49
+ ]
50
+ });
51
+ export { ListFoldersRepository_ListFoldersRepository as ListFoldersRepository };
52
+
53
+ //# sourceMappingURL=ListFoldersRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/ListFolders/ListFoldersRepository.js","sources":["../../../../src/features/folder/ListFolders/ListFoldersRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n type IListFoldersRepository,\n ListFoldersRepository as RepositoryAbstraction\n} from \"./abstractions.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { FolderModelProvider } from \"~/domain/folder/abstractions.js\";\nimport type { CmsEntryFolder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport { EntryToFolderMapper } from \"../shared/EntryToFolderMapper.js\";\nimport { FolderPersistenceError } from \"~/domain/folder/errors.js\";\nimport { createListSort } from \"~/utils/createListSort.js\";\nimport type { ListSort } from \"~/types.js\";\nimport { CmsSortMapper, CmsWhereMapper } from \"@webiny/api-headless-cms\";\n\nclass ListFoldersRepositoryImpl implements IListFoldersRepository {\n constructor(\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private folderModelProvider: FolderModelProvider.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface,\n private cmsSortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(params: ListFoldersParams): RepositoryAbstraction.Return {\n const folderModel = await this.folderModelProvider.get();\n const { sort, where } = params;\n\n const listSort =\n sort ||\n ({\n values_title: \"ASC\"\n } as unknown as ListSort);\n\n const result = await this.listLatestEntries.execute<CmsEntryFolder>(folderModel, {\n ...params,\n sort: this.cmsSortMapper.map({\n input: createListSort(listSort),\n fields: folderModel.fields\n }),\n where: this.cmsWhereMapper.map({\n input: where,\n fields: folderModel.fields\n })\n });\n\n if (result.isFail()) {\n return Result.fail(new FolderPersistenceError(result.error));\n }\n\n const { entries, meta } = result.value;\n const folders = entries.map(entry => EntryToFolderMapper.toFolder(entry));\n return Result.ok({ folders, meta });\n }\n}\n\nexport const ListFoldersRepository = RepositoryAbstraction.createImplementation({\n implementation: ListFoldersRepositoryImpl,\n dependencies: [ListLatestEntriesUseCase, FolderModelProvider, CmsWhereMapper, CmsSortMapper]\n});\n"],"names":["ListFoldersRepositoryImpl","listLatestEntries","folderModelProvider","cmsWhereMapper","cmsSortMapper","params","folderModel","sort","where","listSort","result","createListSort","Result","FolderPersistenceError","entries","meta","folders","entry","EntryToFolderMapper","ListFoldersRepository","RepositoryAbstraction","ListLatestEntriesUseCase","FolderModelProvider","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;;AAcA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,mBAAkD,EAClDC,cAAwC,EACxCC,aAAsC,CAChD;aAJUH,iBAAiB,GAAjBA;aACAC,mBAAmB,GAAnBA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,MAAyB,EAAgC;QACnE,MAAMC,cAAc,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG;QACtD,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGH;QAExB,MAAMI,WACFF,QACC;YACG,cAAc;QAClB;QAEJ,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAiBJ,aAAa;YAC7E,GAAGD,MAAM;YACT,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACzB,OAAOM,eAAeF;gBACtB,QAAQH,YAAY,MAAM;YAC9B;YACA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC3B,OAAOE;gBACP,QAAQF,YAAY,MAAM;YAC9B;QACJ;QAEA,IAAII,OAAO,MAAM,IACb,OAAOE,OAAO,IAAI,CAAC,IAAIC,uBAAuBH,OAAO,KAAK;QAG9D,MAAM,EAAEI,OAAO,EAAEC,IAAI,EAAE,GAAGL,OAAO,KAAK;QACtC,MAAMM,UAAUF,QAAQ,GAAG,CAACG,CAAAA,QAASC,oBAAoB,QAAQ,CAACD;QAClE,OAAOL,OAAO,EAAE,CAAC;YAAEI;YAASD;QAAK;IACrC;AACJ;AAEO,MAAMI,8CAAwBC,sBAAAA,oBAA0C,CAAC;IAC5E,gBAAgBpB;IAChB,cAAc;QAACqB;QAA0BC;QAAqBC;QAAgBC;KAAc;AAChG"}
@@ -0,0 +1,9 @@
1
+ import { ListFoldersUseCase as UseCaseAbstraction, ListFoldersRepository } from "./abstractions.js";
2
+ import type { ListFoldersParams } from "../../../folder/folder.types.js";
3
+ declare class ListFoldersUseCaseImpl implements UseCaseAbstraction.Interface {
4
+ private repository;
5
+ constructor(repository: ListFoldersRepository.Interface);
6
+ execute(params: ListFoldersParams): UseCaseAbstraction.Return;
7
+ }
8
+ export declare const ListFoldersUseCase: import("@webiny/di").Implementation<typeof ListFoldersUseCaseImpl>;
9
+ export {};
@@ -0,0 +1,20 @@
1
+ import { createImplementation } from "@webiny/feature/api";
2
+ import { ListFoldersRepository, ListFoldersUseCase } from "./abstractions.js";
3
+ class ListFoldersUseCaseImpl {
4
+ constructor(repository){
5
+ this.repository = repository;
6
+ }
7
+ async execute(params) {
8
+ return await this.repository.execute(params);
9
+ }
10
+ }
11
+ const ListFoldersUseCase_ListFoldersUseCase = createImplementation({
12
+ abstraction: ListFoldersUseCase,
13
+ implementation: ListFoldersUseCaseImpl,
14
+ dependencies: [
15
+ ListFoldersRepository
16
+ ]
17
+ });
18
+ export { ListFoldersUseCase_ListFoldersUseCase as ListFoldersUseCase };
19
+
20
+ //# sourceMappingURL=ListFoldersUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/ListFolders/ListFoldersUseCase.js","sources":["../../../../src/features/folder/ListFolders/ListFoldersUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListFoldersUseCase as UseCaseAbstraction, ListFoldersRepository } from \"./abstractions.js\";\nimport type { ListFoldersParams } from \"~/folder/folder.types.js\";\n\nclass ListFoldersUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListFoldersRepository.Interface) {}\n\n async execute(params: ListFoldersParams): UseCaseAbstraction.Return {\n return await this.repository.execute(params);\n }\n}\n\nexport const ListFoldersUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListFoldersUseCaseImpl,\n dependencies: [ListFoldersRepository]\n});\n"],"names":["ListFoldersUseCaseImpl","repository","params","ListFoldersUseCase","createImplementation","UseCaseAbstraction","ListFoldersRepository"],"mappings":";;AAIA,MAAMA;IACF,YAAoBC,UAA2C,CAAE;aAA7CA,UAAU,GAAVA;IAA8C;IAElE,MAAM,QAAQC,MAAyB,EAA6B;QAChE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACzC;AACJ;AAEO,MAAMC,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAAsB;AACzC"}
@@ -0,0 +1,44 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { Folder, ListFoldersParams } from "../../../folder/folder.types.js";
3
+ import type { ListMeta } from "../../../types.js";
4
+ import type { FolderNotAuthorizedError, FolderPersistenceError } from "../../../domain/folder/errors.js";
5
+ interface IListFoldersResult {
6
+ folders: Folder[];
7
+ meta: ListMeta;
8
+ }
9
+ /**
10
+ * ListFolders repository interface
11
+ */
12
+ export interface IListFoldersRepository {
13
+ execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;
14
+ }
15
+ export interface IListFoldersRepositoryErrors {
16
+ persistence: FolderPersistenceError;
17
+ }
18
+ type RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];
19
+ /** Fetch folders from storage. */
20
+ export declare const ListFoldersRepository: import("@webiny/di").Abstraction<IListFoldersRepository>;
21
+ export declare namespace ListFoldersRepository {
22
+ type Interface = IListFoldersRepository;
23
+ type Return = Promise<Result<IListFoldersResult, RepositoryError>>;
24
+ type Error = RepositoryError;
25
+ }
26
+ /**
27
+ * ListFolders use case interface
28
+ */
29
+ export interface IListFoldersUseCase {
30
+ execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;
31
+ }
32
+ export interface IListFoldersUseCaseErrors {
33
+ notAuthorized: FolderNotAuthorizedError;
34
+ persistence: FolderPersistenceError;
35
+ }
36
+ type UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];
37
+ /** List folders with filtering. */
38
+ export declare const ListFoldersUseCase: import("@webiny/di").Abstraction<IListFoldersUseCase>;
39
+ export declare namespace ListFoldersUseCase {
40
+ type Interface = IListFoldersUseCase;
41
+ type Return = Promise<Result<IListFoldersResult, UseCaseError>>;
42
+ type Error = UseCaseError;
43
+ }
44
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const ListFoldersRepository = createAbstraction("ListFoldersRepository");
3
+ const ListFoldersUseCase = createAbstraction("ListFoldersUseCase");
4
+ export { ListFoldersRepository, ListFoldersUseCase };
5
+
6
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/ListFolders/abstractions.js","sources":["../../../../src/features/folder/ListFolders/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport type { ListMeta } from \"~/types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\ninterface IListFoldersResult {\n folders: Folder[];\n meta: ListMeta;\n}\n\n/**\n * ListFolders repository interface\n */\nexport interface IListFoldersRepository {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;\n}\n\nexport interface IListFoldersRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];\n\n/** Fetch folders from storage. */\nexport const ListFoldersRepository =\n createAbstraction<IListFoldersRepository>(\"ListFoldersRepository\");\n\nexport namespace ListFoldersRepository {\n export type Interface = IListFoldersRepository;\n export type Return = Promise<Result<IListFoldersResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFolders use case interface\n */\nexport interface IListFoldersUseCase {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;\n}\n\nexport interface IListFoldersUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];\n\n/** List folders with filtering. */\nexport const ListFoldersUseCase = createAbstraction<IListFoldersUseCase>(\"ListFoldersUseCase\");\n\nexport namespace ListFoldersUseCase {\n export type Interface = IListFoldersUseCase;\n export type Return = Promise<Result<IListFoldersResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["ListFoldersRepository","createAbstraction","ListFoldersUseCase"],"mappings":";AAyBO,MAAMA,wBACTC,kBAA0C;AAuBvC,MAAMC,qBAAqBD,kBAAuC"}
@@ -0,0 +1,17 @@
1
+ import type { ListFoldersParams } from "../../../../folder/folder.types.js";
2
+ import { ListFoldersUseCase } from "../abstractions.js";
3
+ import { FolderLevelPermissions } from "../../../../features/flp/FolderLevelPermissions/index.js";
4
+ declare class ListFoldersWithFolderLevelPermissionsImpl implements ListFoldersUseCase.Interface {
5
+ private folderLevelPermissions;
6
+ private decoratee;
7
+ private flpCatalog;
8
+ constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoratee: ListFoldersUseCase.Interface);
9
+ execute(params: ListFoldersParams): ListFoldersUseCase.Return;
10
+ private hasFlp;
11
+ private getFlp;
12
+ private setFlp;
13
+ }
14
+ export declare const ListFoldersWithFolderLevelPermissions: typeof ListFoldersWithFolderLevelPermissionsImpl & {
15
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions.js").IListFoldersUseCase>;
16
+ };
17
+ export {};
@@ -0,0 +1,65 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { ListFoldersUseCase } from "../abstractions.js";
3
+ import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
4
+ import { ROOT_FOLDER } from "../../../../constants.js";
5
+ class ListFoldersWithFolderLevelPermissionsImpl {
6
+ constructor(folderLevelPermissions, decoratee){
7
+ this.folderLevelPermissions = folderLevelPermissions;
8
+ this.decoratee = decoratee;
9
+ this.flpCatalog = new Map();
10
+ }
11
+ async execute(params) {
12
+ const result = await this.decoratee.execute(params);
13
+ if (result.isFail()) return Result.fail(result.error);
14
+ const { folders, meta } = result.value;
15
+ const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({
16
+ where: {
17
+ type: params.where.type,
18
+ parentId: ROOT_FOLDER
19
+ }
20
+ });
21
+ rootFlps.forEach((flp)=>this.setFlp(flp.id, flp.permissions));
22
+ await Promise.all(folders.map(async (folder)=>{
23
+ if (!this.hasFlp(folder.id)) {
24
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
25
+ this.setFlp(folder.id, permissions);
26
+ }
27
+ }));
28
+ const foldersWithPermissions = await Promise.all(folders.map(async (folder)=>{
29
+ const permissions = this.getFlp(folder.id);
30
+ if (!permissions) return null;
31
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
32
+ permissions,
33
+ rwd: "r"
34
+ });
35
+ if (!canAccessFolder) return null;
36
+ const folderWithFlp = {
37
+ ...folder,
38
+ permissions
39
+ };
40
+ return canAccessFolder ? folderWithFlp : null;
41
+ }));
42
+ return Result.ok({
43
+ folders: foldersWithPermissions.filter(Boolean),
44
+ meta
45
+ });
46
+ }
47
+ hasFlp(id) {
48
+ return this.flpCatalog.has(id);
49
+ }
50
+ getFlp(id) {
51
+ return this.flpCatalog.get(id);
52
+ }
53
+ setFlp(id, permissions) {
54
+ this.flpCatalog.set(id, permissions);
55
+ }
56
+ }
57
+ const ListFoldersWithFolderLevelPermissions = ListFoldersUseCase.createDecorator({
58
+ decorator: ListFoldersWithFolderLevelPermissionsImpl,
59
+ dependencies: [
60
+ FolderLevelPermissions
61
+ ]
62
+ });
63
+ export { ListFoldersWithFolderLevelPermissions };
64
+
65
+ //# sourceMappingURL=ListFoldersWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport { ListFoldersUseCase } from \"../abstractions.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\nclass ListFoldersWithFolderLevelPermissionsImpl implements ListFoldersUseCase.Interface {\n private flpCatalog: Map<string, FolderPermission[]> = new Map();\n\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: ListFoldersUseCase.Interface\n ) {}\n\n async execute(params: ListFoldersParams): ListFoldersUseCase.Return {\n const result = await this.decoratee.execute(params);\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const { folders, meta } = result.value;\n\n // Fetch FLP records for ROOT folders and populate the catalog.\n const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({\n where: {\n type: params.where.type,\n parentId: ROOT_FOLDER\n }\n });\n\n rootFlps.forEach(flp => this.setFlp(flp.id, flp.permissions));\n\n // Fetch FLP for folders not already in the catalog.\n await Promise.all(\n folders.map(async folder => {\n if (!this.hasFlp(folder.id)) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n folder.id\n );\n this.setFlp(folder.id, permissions);\n }\n })\n );\n\n // Filter folders based on permissions.\n const foldersWithPermissions = await Promise.all(\n folders.map(async folder => {\n const permissions = this.getFlp(folder.id);\n if (!permissions) {\n return null;\n }\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"r\"\n });\n\n if (!canAccessFolder) {\n return null;\n }\n\n const folderWithFlp = { ...folder, permissions };\n return canAccessFolder ? folderWithFlp : null;\n })\n );\n\n return Result.ok({ folders: foldersWithPermissions.filter(Boolean) as Folder[], meta });\n }\n\n private hasFlp(id: string): boolean {\n return this.flpCatalog.has(id);\n }\n\n private getFlp(id: string): FolderPermission[] | undefined {\n return this.flpCatalog.get(id);\n }\n\n private setFlp(id: string, permissions: FolderPermission[]): void {\n this.flpCatalog.set(id, permissions);\n }\n}\n\nexport const ListFoldersWithFolderLevelPermissions = ListFoldersUseCase.createDecorator({\n decorator: ListFoldersWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["ListFoldersWithFolderLevelPermissionsImpl","folderLevelPermissions","decoratee","Map","params","result","Result","folders","meta","rootFlps","ROOT_FOLDER","flp","Promise","folder","permissions","foldersWithPermissions","canAccessFolder","folderWithFlp","Boolean","id","ListFoldersWithFolderLevelPermissions","ListFoldersUseCase","FolderLevelPermissions"],"mappings":";;;;AAOA,MAAMA;IAGF,YACYC,sBAAwD,EACxDC,SAAuC,CACjD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;aAJJ,UAAU,GAAoC,IAAIC;IAKvD;IAEH,MAAM,QAAQC,MAAyB,EAA6B;QAChE,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QAC5C,IAAIC,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAACD,OAAO,KAAK;QAGnC,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAGH,OAAO,KAAK;QAGtC,MAAMI,WAAW,MAAM,IAAI,CAAC,sBAAsB,CAAC,0BAA0B,CAAC;YAC1E,OAAO;gBACH,MAAML,OAAO,KAAK,CAAC,IAAI;gBACvB,UAAUM;YACd;QACJ;QAEAD,SAAS,OAAO,CAACE,CAAAA,MAAO,IAAI,CAAC,MAAM,CAACA,IAAI,EAAE,EAAEA,IAAI,WAAW;QAG3D,MAAMC,QAAQ,GAAG,CACbL,QAAQ,GAAG,CAAC,OAAMM;YACd,IAAI,CAAC,IAAI,CAAC,MAAM,CAACA,OAAO,EAAE,GAAG;gBACzB,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAC3ED,OAAO,EAAE;gBAEb,IAAI,CAAC,MAAM,CAACA,OAAO,EAAE,EAAEC;YAC3B;QACJ;QAIJ,MAAMC,yBAAyB,MAAMH,QAAQ,GAAG,CAC5CL,QAAQ,GAAG,CAAC,OAAMM;YACd,MAAMC,cAAc,IAAI,CAAC,MAAM,CAACD,OAAO,EAAE;YACzC,IAAI,CAACC,aACD,OAAO;YAGX,MAAME,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;gBACtEF;gBACA,KAAK;YACT;YAEA,IAAI,CAACE,iBACD,OAAO;YAGX,MAAMC,gBAAgB;gBAAE,GAAGJ,MAAM;gBAAEC;YAAY;YAC/C,OAAOE,kBAAkBC,gBAAgB;QAC7C;QAGJ,OAAOX,OAAO,EAAE,CAAC;YAAE,SAASS,uBAAuB,MAAM,CAACG;YAAsBV;QAAK;IACzF;IAEQ,OAAOW,EAAU,EAAW;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAACA;IAC/B;IAEQ,OAAOA,EAAU,EAAkC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAACA;IAC/B;IAEQ,OAAOA,EAAU,EAAEL,WAA+B,EAAQ;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAACK,IAAIL;IAC5B;AACJ;AAEO,MAAMM,wCAAwCC,mBAAmB,eAAe,CAAC;IACpF,WAAWrB;IACX,cAAc;QAACsB;KAAuB;AAC1C"}
@@ -0,0 +1,5 @@
1
+ import type { Container } from "@webiny/di";
2
+ export declare const ListFoldersFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
@@ -0,0 +1,15 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { ListFoldersRepository } from "./ListFoldersRepository.js";
3
+ import { ListFoldersUseCase } from "./ListFoldersUseCase.js";
4
+ import { ListFoldersWithFolderLevelPermissions } from "./decorators/ListFoldersWithFolderLevelPermissions.js";
5
+ const ListFoldersFeature = createFeature({
6
+ name: "ListFolders",
7
+ register (container) {
8
+ container.register(ListFoldersRepository).inSingletonScope();
9
+ container.register(ListFoldersUseCase);
10
+ container.registerDecorator(ListFoldersWithFolderLevelPermissions);
11
+ }
12
+ });
13
+ export { ListFoldersFeature };
14
+
15
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/ListFolders/feature.js","sources":["../../../../src/features/folder/ListFolders/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { ListFoldersRepository } from \"./ListFoldersRepository.js\";\nimport { ListFoldersUseCase } from \"./ListFoldersUseCase.js\";\nimport { ListFoldersWithFolderLevelPermissions } from \"./decorators/ListFoldersWithFolderLevelPermissions.js\";\n\nexport const ListFoldersFeature = createFeature({\n name: \"ListFolders\",\n register(container: Container) {\n container.register(ListFoldersRepository).inSingletonScope();\n container.register(ListFoldersUseCase);\n container.registerDecorator(ListFoldersWithFolderLevelPermissions);\n }\n});\n"],"names":["ListFoldersFeature","createFeature","container","ListFoldersRepository","ListFoldersUseCase","ListFoldersWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,qBAAqBC,cAAc;IAC5C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,uBAAuB,gBAAgB;QAC1DD,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { ListFoldersFeature } from "./feature.js";
2
+ export { ListFoldersUseCase } from "./abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { ListFoldersFeature } from "./feature.js";
2
+ export { ListFoldersUseCase } from "./abstractions.js";
@@ -0,0 +1,11 @@
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
2
+ import { WebsocketsSendToIdentityUseCase } from "@webiny/api-websockets/exports/api.js";
3
+ import { NotifyFolderChangeUseCase as UseCaseAbstraction } from "./abstractions.js";
4
+ declare class NotifyFolderChangeUseCaseImpl implements UseCaseAbstraction.Interface {
5
+ private identityContext;
6
+ private sendToIdentity;
7
+ constructor(identityContext: IdentityContext.Interface, sendToIdentity: WebsocketsSendToIdentityUseCase.Interface);
8
+ execute({ id, change, identityId }: UseCaseAbstraction.Params): Promise<void>;
9
+ }
10
+ export declare const NotifyFolderChangeUseCase: import("@webiny/di").Implementation<typeof NotifyFolderChangeUseCaseImpl>;
11
+ export {};
@@ -0,0 +1,38 @@
1
+ import { createImplementation } from "@webiny/di";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
3
+ import { WebsocketsSendToIdentityUseCase } from "@webiny/api-websockets/exports/api.js";
4
+ import { FOLDER_CREATED_WEBSOCKET_ACTION, FOLDER_DELETED_WEBSOCKET_ACTION, FOLDER_UPDATED_WEBSOCKET_ACTION, NotifyFolderChangeUseCase } from "./abstractions.js";
5
+ const ACTIONS = {
6
+ created: FOLDER_CREATED_WEBSOCKET_ACTION,
7
+ updated: FOLDER_UPDATED_WEBSOCKET_ACTION,
8
+ deleted: FOLDER_DELETED_WEBSOCKET_ACTION
9
+ };
10
+ class NotifyFolderChangeUseCaseImpl {
11
+ constructor(identityContext, sendToIdentity){
12
+ this.identityContext = identityContext;
13
+ this.sendToIdentity = sendToIdentity;
14
+ }
15
+ async execute({ id, change, identityId }) {
16
+ const recipient = identityId ?? this.identityContext.getIdentity()?.id;
17
+ if (!recipient) return;
18
+ await this.sendToIdentity.execute({
19
+ id: recipient
20
+ }, {
21
+ action: ACTIONS[change],
22
+ data: {
23
+ id
24
+ }
25
+ });
26
+ }
27
+ }
28
+ const NotifyFolderChangeUseCase_NotifyFolderChangeUseCase = createImplementation({
29
+ abstraction: NotifyFolderChangeUseCase,
30
+ implementation: NotifyFolderChangeUseCaseImpl,
31
+ dependencies: [
32
+ IdentityContext,
33
+ WebsocketsSendToIdentityUseCase
34
+ ]
35
+ });
36
+ export { NotifyFolderChangeUseCase_NotifyFolderChangeUseCase as NotifyFolderChangeUseCase };
37
+
38
+ //# sourceMappingURL=NotifyFolderChangeUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js","sources":["../../../../src/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/di\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { WebsocketsSendToIdentityUseCase } from \"@webiny/api-websockets/exports/api.js\";\nimport {\n FOLDER_CREATED_WEBSOCKET_ACTION,\n FOLDER_DELETED_WEBSOCKET_ACTION,\n FOLDER_UPDATED_WEBSOCKET_ACTION,\n NotifyFolderChangeUseCase as UseCaseAbstraction\n} from \"./abstractions.js\";\n\nconst ACTIONS: Record<UseCaseAbstraction.Params[\"change\"], string> = {\n created: FOLDER_CREATED_WEBSOCKET_ACTION,\n updated: FOLDER_UPDATED_WEBSOCKET_ACTION,\n deleted: FOLDER_DELETED_WEBSOCKET_ACTION\n};\n\n/*\n * The change is already saved whether or not the message goes out, so the send's result is not the\n * caller's result. When it fails, the admin shows the change after its next reload, as it did before.\n */\nclass NotifyFolderChangeUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private sendToIdentity: WebsocketsSendToIdentityUseCase.Interface\n ) {}\n\n async execute({ id, change, identityId }: UseCaseAbstraction.Params): Promise<void> {\n const recipient = identityId ?? this.identityContext.getIdentity()?.id;\n if (!recipient) {\n return;\n }\n\n await this.sendToIdentity.execute(\n { id: recipient },\n { action: ACTIONS[change], data: { id } }\n );\n }\n}\n\nexport const NotifyFolderChangeUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: NotifyFolderChangeUseCaseImpl,\n dependencies: [IdentityContext, WebsocketsSendToIdentityUseCase]\n});\n"],"names":["ACTIONS","FOLDER_CREATED_WEBSOCKET_ACTION","FOLDER_UPDATED_WEBSOCKET_ACTION","FOLDER_DELETED_WEBSOCKET_ACTION","NotifyFolderChangeUseCaseImpl","identityContext","sendToIdentity","id","change","identityId","recipient","NotifyFolderChangeUseCase","createImplementation","UseCaseAbstraction","IdentityContext","WebsocketsSendToIdentityUseCase"],"mappings":";;;;AAUA,MAAMA,UAA+D;IACjE,SAASC;IACT,SAASC;IACT,SAASC;AACb;AAMA,MAAMC;IACF,YACYC,eAA0C,EAC1CC,cAAyD,CACnE;aAFUD,eAAe,GAAfA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,UAAU,EAA6B,EAAiB;QAChF,MAAMC,YAAYD,cAAc,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI;QACpE,IAAI,CAACC,WACD;QAGJ,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B;YAAE,IAAIA;QAAU,GAChB;YAAE,QAAQV,OAAO,CAACQ,OAAO;YAAE,MAAM;gBAAED;YAAG;QAAE;IAEhD;AACJ;AAEO,MAAMI,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBT;IAChB,cAAc;QAACU;QAAiBC;KAAgC;AACpE"}
@@ -0,0 +1,12 @@
1
+ import { FolderAfterDeleteEventHandler } from "../../../features/folder/DeleteFolder/abstractions.js";
2
+ import type { FolderAfterDeleteEvent } from "../../../features/folder/DeleteFolder/events.js";
3
+ import { NotifyFolderChangeUseCase } from "./abstractions.js";
4
+ declare class NotifyOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {
5
+ private notifyFolderChange;
6
+ constructor(notifyFolderChange: NotifyFolderChangeUseCase.Interface);
7
+ handle(event: FolderAfterDeleteEvent): Promise<void>;
8
+ }
9
+ export declare const NotifyOnFolderDeletedHandler: typeof NotifyOnFolderDeletedHandlerImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<import("@webiny/api-core/features/eventPublisher/abstractions.js").DomainEvent<import("~/features/folder/DeleteFolder/abstractions.js").FolderAfterDeletePayload>>>;
11
+ };
12
+ export {};
@@ -0,0 +1,24 @@
1
+ import { FolderAfterDeleteEventHandler } from "../DeleteFolder/abstractions.js";
2
+ import { NotifyFolderChangeUseCase } from "./abstractions.js";
3
+ class NotifyOnFolderDeletedHandlerImpl {
4
+ constructor(notifyFolderChange){
5
+ this.notifyFolderChange = notifyFolderChange;
6
+ }
7
+ async handle(event) {
8
+ try {
9
+ await this.notifyFolderChange.execute({
10
+ id: event.payload.folder.id,
11
+ change: "deleted"
12
+ });
13
+ } catch {}
14
+ }
15
+ }
16
+ const NotifyOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({
17
+ implementation: NotifyOnFolderDeletedHandlerImpl,
18
+ dependencies: [
19
+ NotifyFolderChangeUseCase
20
+ ]
21
+ });
22
+ export { NotifyOnFolderDeletedHandler };
23
+
24
+ //# sourceMappingURL=NotifyOnFolderDeletedHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js","sources":["../../../../src/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.ts"],"sourcesContent":["import { FolderAfterDeleteEventHandler } from \"~/features/folder/DeleteFolder/abstractions.js\";\nimport type { FolderAfterDeleteEvent } from \"~/features/folder/DeleteFolder/events.js\";\nimport { NotifyFolderChangeUseCase } from \"./abstractions.js\";\n\n/*\n * Created and updated folders are announced by the FLP tasks, once the admin can read them back. A\n * deleted folder is only dropped from the admin's cache, so there is nothing to wait for.\n */\nclass NotifyOnFolderDeletedHandlerImpl implements FolderAfterDeleteEventHandler.Interface {\n constructor(private notifyFolderChange: NotifyFolderChangeUseCase.Interface) {}\n\n async handle(event: FolderAfterDeleteEvent): Promise<void> {\n try {\n await this.notifyFolderChange.execute({\n id: event.payload.folder.id,\n change: \"deleted\"\n });\n } catch {\n // The folder is gone either way; the admin drops it on its next reload.\n }\n }\n}\n\nexport const NotifyOnFolderDeletedHandler = FolderAfterDeleteEventHandler.createImplementation({\n implementation: NotifyOnFolderDeletedHandlerImpl,\n dependencies: [NotifyFolderChangeUseCase]\n});\n"],"names":["NotifyOnFolderDeletedHandlerImpl","notifyFolderChange","event","NotifyOnFolderDeletedHandler","FolderAfterDeleteEventHandler","NotifyFolderChangeUseCase"],"mappings":";;AAQA,MAAMA;IACF,YAAoBC,kBAAuD,CAAE;aAAzDA,kBAAkB,GAAlBA;IAA0D;IAE9E,MAAM,OAAOC,KAA6B,EAAiB;QACvD,IAAI;YACA,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBAClC,IAAIA,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC3B,QAAQ;YACZ;QACJ,EAAE,OAAM,CAER;IACJ;AACJ;AAEO,MAAMC,+BAA+BC,8BAA8B,oBAAoB,CAAC;IAC3F,gBAAgBJ;IAChB,cAAc;QAACK;KAA0B;AAC7C"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Sent to the user's open admin tabs when a folder changes. The admin keeps its own folder cache,
3
+ * and a change made on the server never passes through it, so without these the admin shows the old
4
+ * state until a reload. Each carries the folder id only; the admin reads the folder back.
5
+ *
6
+ * `created` and `updated` go out when the FLP tasks finish, since folder reads report permissions
7
+ * from the FLP records. `deleted` goes out right after the delete: nothing is read back.
8
+ */
9
+ export declare const FOLDER_CREATED_WEBSOCKET_ACTION = "aco.folder.created";
10
+ export declare const FOLDER_UPDATED_WEBSOCKET_ACTION = "aco.folder.updated";
11
+ export declare const FOLDER_DELETED_WEBSOCKET_ACTION = "aco.folder.deleted";
12
+ export interface NotifyFolderChangeParams {
13
+ id: string;
14
+ /**
15
+ * Whose open tabs to tell. Defaults to the current identity. The FLP tasks pass the identity
16
+ * that made the change, because they run later, outside that request.
17
+ */
18
+ identityId?: string;
19
+ change: "created" | "updated" | "deleted";
20
+ }
21
+ export interface INotifyFolderChangeUseCase {
22
+ execute(params: NotifyFolderChangeParams): Promise<void>;
23
+ }
24
+ export declare const NotifyFolderChangeUseCase: import("@webiny/di").Abstraction<INotifyFolderChangeUseCase>;
25
+ export declare namespace NotifyFolderChangeUseCase {
26
+ type Interface = INotifyFolderChangeUseCase;
27
+ type Params = NotifyFolderChangeParams;
28
+ }
@@ -0,0 +1,8 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const FOLDER_CREATED_WEBSOCKET_ACTION = "aco.folder.created";
3
+ const FOLDER_UPDATED_WEBSOCKET_ACTION = "aco.folder.updated";
4
+ const FOLDER_DELETED_WEBSOCKET_ACTION = "aco.folder.deleted";
5
+ const NotifyFolderChangeUseCase = createAbstraction("Aco/NotifyFolderChangeUseCase");
6
+ export { FOLDER_CREATED_WEBSOCKET_ACTION, FOLDER_DELETED_WEBSOCKET_ACTION, FOLDER_UPDATED_WEBSOCKET_ACTION, NotifyFolderChangeUseCase };
7
+
8
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/NotifyFolderChange/abstractions.js","sources":["../../../../src/features/folder/NotifyFolderChange/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\n/**\n * Sent to the user's open admin tabs when a folder changes. The admin keeps its own folder cache,\n * and a change made on the server never passes through it, so without these the admin shows the old\n * state until a reload. Each carries the folder id only; the admin reads the folder back.\n *\n * `created` and `updated` go out when the FLP tasks finish, since folder reads report permissions\n * from the FLP records. `deleted` goes out right after the delete: nothing is read back.\n */\nexport const FOLDER_CREATED_WEBSOCKET_ACTION = \"aco.folder.created\";\nexport const FOLDER_UPDATED_WEBSOCKET_ACTION = \"aco.folder.updated\";\nexport const FOLDER_DELETED_WEBSOCKET_ACTION = \"aco.folder.deleted\";\n\nexport interface NotifyFolderChangeParams {\n id: string;\n /**\n * Whose open tabs to tell. Defaults to the current identity. The FLP tasks pass the identity\n * that made the change, because they run later, outside that request.\n */\n identityId?: string;\n change: \"created\" | \"updated\" | \"deleted\";\n}\n\nexport interface INotifyFolderChangeUseCase {\n execute(params: NotifyFolderChangeParams): Promise<void>;\n}\n\nexport const NotifyFolderChangeUseCase = createAbstraction<INotifyFolderChangeUseCase>(\n \"Aco/NotifyFolderChangeUseCase\"\n);\n\nexport namespace NotifyFolderChangeUseCase {\n export type Interface = INotifyFolderChangeUseCase;\n export type Params = NotifyFolderChangeParams;\n}\n"],"names":["FOLDER_CREATED_WEBSOCKET_ACTION","FOLDER_UPDATED_WEBSOCKET_ACTION","FOLDER_DELETED_WEBSOCKET_ACTION","NotifyFolderChangeUseCase","createAbstraction"],"mappings":";AAUO,MAAMA,kCAAkC;AACxC,MAAMC,kCAAkC;AACxC,MAAMC,kCAAkC;AAgBxC,MAAMC,4BAA4BC,kBACrC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tells the user's open admin tabs when a folder is created, updated or deleted. The FLP tasks send
3
+ * created and updated (see `CreateFlpOnFolderCreated` and `UpdateFlpOnFolderUpdated`); deleted goes
4
+ * out from here.
5
+ */
6
+ export declare const NotifyFolderChangeFeature: {
7
+ name: string;
8
+ register(container: import("@webiny/di").Container): void;
9
+ };
@@ -0,0 +1,13 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { NotifyFolderChangeUseCase } from "./NotifyFolderChangeUseCase.js";
3
+ import { NotifyOnFolderDeletedHandler } from "./NotifyOnFolderDeletedHandler.js";
4
+ const NotifyFolderChangeFeature = createFeature({
5
+ name: "NotifyFolderChange",
6
+ register (container) {
7
+ container.register(NotifyFolderChangeUseCase);
8
+ container.register(NotifyOnFolderDeletedHandler);
9
+ }
10
+ });
11
+ export { NotifyFolderChangeFeature };
12
+
13
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/folder/NotifyFolderChange/feature.js","sources":["../../../../src/features/folder/NotifyFolderChange/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { NotifyFolderChangeUseCase } from \"./NotifyFolderChangeUseCase.js\";\nimport { NotifyOnFolderDeletedHandler } from \"./NotifyOnFolderDeletedHandler.js\";\n\n/**\n * Tells the user's open admin tabs when a folder is created, updated or deleted. The FLP tasks send\n * created and updated (see `CreateFlpOnFolderCreated` and `UpdateFlpOnFolderUpdated`); deleted goes\n * out from here.\n */\nexport const NotifyFolderChangeFeature = createFeature({\n name: \"NotifyFolderChange\",\n register(container) {\n container.register(NotifyFolderChangeUseCase);\n container.register(NotifyOnFolderDeletedHandler);\n }\n});\n"],"names":["NotifyFolderChangeFeature","createFeature","container","NotifyFolderChangeUseCase","NotifyOnFolderDeletedHandler"],"mappings":";;;AASO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;IACvB;AACJ"}
@@ -0,0 +1,2 @@
1
+ export { NotifyFolderChangeFeature } from "./feature.js";
2
+ export { NotifyFolderChangeUseCase, FOLDER_CREATED_WEBSOCKET_ACTION, FOLDER_UPDATED_WEBSOCKET_ACTION, FOLDER_DELETED_WEBSOCKET_ACTION } from "./abstractions.js";
@@ -0,0 +1,2 @@
1
+ export { NotifyFolderChangeFeature } from "./feature.js";
2
+ export { FOLDER_CREATED_WEBSOCKET_ACTION, FOLDER_DELETED_WEBSOCKET_ACTION, FOLDER_UPDATED_WEBSOCKET_ACTION, NotifyFolderChangeUseCase } from "./abstractions.js";
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { type IUpdateFolderRepository, UpdateFolderRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry";
4
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
5
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
6
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
7
+ import type { Folder, UpdateFolderParams } from "../../../folder/folder.types.js";
8
+ declare class UpdateFolderRepositoryImpl implements IUpdateFolderRepository {
9
+ private updateEntry;
10
+ private getEntryById;
11
+ private listLatestEntries;
12
+ private folderModelProvider;
13
+ constructor(updateEntry: UpdateEntryUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface, listLatestEntries: ListLatestEntriesUseCase.Interface, folderModelProvider: FolderModelProvider.Interface);
14
+ execute(id: string, data: UpdateFolderParams): Promise<Result<Folder, RepositoryAbstraction.Error>>;
15
+ private checkExistingFolder;
16
+ private createFolderPath;
17
+ }
18
+ export declare const UpdateFolderRepository: typeof UpdateFolderRepositoryImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<IUpdateFolderRepository>;
20
+ };
21
+ export {};
@@ -0,0 +1,87 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { UpdateFolderRepository } from "./abstractions.js";
3
+ import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry";
4
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
5
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
6
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
7
+ import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
8
+ import { FolderPersistenceError, FolderValidationError } from "../../../domain/folder/errors.js";
9
+ import { Path } from "../../../utils/Path.js";
10
+ import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
11
+ class UpdateFolderRepositoryImpl {
12
+ constructor(updateEntry, getEntryById, listLatestEntries, folderModelProvider){
13
+ this.updateEntry = updateEntry;
14
+ this.getEntryById = getEntryById;
15
+ this.listLatestEntries = listLatestEntries;
16
+ this.folderModelProvider = folderModelProvider;
17
+ }
18
+ async execute(id, data) {
19
+ const folderModel = await this.folderModelProvider.get();
20
+ const entryId = EntryId.from(id);
21
+ const originalResult = await this.getEntryById.execute(folderModel, entryId.toString());
22
+ if (originalResult.isFail()) return Result.fail(new FolderPersistenceError(originalResult.error));
23
+ const original = EntryToFolderMapper.toFolder(originalResult.value);
24
+ const checkResult = await this.checkExistingFolder({
25
+ id,
26
+ type: original.type,
27
+ slug: data.slug || original.slug,
28
+ parentId: void 0 !== data.parentId ? data.parentId : original.parentId
29
+ });
30
+ if (checkResult.isFail()) return Result.fail(checkResult.error);
31
+ const pathResult = await this.createFolderPath({
32
+ slug: data.slug || original.slug,
33
+ parentId: void 0 !== data.parentId ? data.parentId : original.parentId
34
+ });
35
+ if (pathResult.isFail()) return Result.fail(pathResult.error);
36
+ const result = await this.updateEntry.execute(folderModel, entryId.toString(), {
37
+ values: {
38
+ ...data,
39
+ path: pathResult.value
40
+ }
41
+ });
42
+ if (result.isFail()) return Result.fail(new FolderPersistenceError(result.error));
43
+ const updatedFolder = EntryToFolderMapper.toFolder(result.value);
44
+ return Result.ok(updatedFolder);
45
+ }
46
+ async checkExistingFolder(params) {
47
+ const folderModel = await this.folderModelProvider.get();
48
+ const { id, type, slug, parentId } = params;
49
+ const result = await this.listLatestEntries.execute(folderModel, {
50
+ where: {
51
+ latest: true,
52
+ entryId_not: id,
53
+ values: {
54
+ type,
55
+ slug,
56
+ parentId
57
+ }
58
+ },
59
+ limit: 1
60
+ });
61
+ if (result.isFail()) return Result.fail(new FolderPersistenceError(result.error));
62
+ const { entries } = result.value;
63
+ if (entries.length > 0) return Result.fail(new FolderValidationError(`Folder with slug "${slug}" already exists at this level.`));
64
+ return Result.ok();
65
+ }
66
+ async createFolderPath(params) {
67
+ const folderModel = await this.folderModelProvider.get();
68
+ const { slug, parentId } = params;
69
+ if (!parentId) return Result.ok(Path.create(slug));
70
+ const parentResult = await this.getEntryById.execute(folderModel, EntryId.from(parentId).toString());
71
+ if (parentResult.isFail()) return Result.fail(new FolderPersistenceError(new Error("Parent folder not found. Unable to create the folder path")));
72
+ const parentFolder = EntryToFolderMapper.toFolder(parentResult.value);
73
+ return Result.ok(Path.create(slug, parentFolder.path));
74
+ }
75
+ }
76
+ const UpdateFolderRepository_UpdateFolderRepository = UpdateFolderRepository.createImplementation({
77
+ implementation: UpdateFolderRepositoryImpl,
78
+ dependencies: [
79
+ UpdateEntryUseCase,
80
+ GetEntryByIdUseCase,
81
+ ListLatestEntriesUseCase,
82
+ FolderModelProvider
83
+ ]
84
+ });
85
+ export { UpdateFolderRepository_UpdateFolderRepository as UpdateFolderRepository };
86
+
87
+ //# sourceMappingURL=UpdateFolderRepository.js.map