@webiny/api-aco 6.0.0-beta.0 → 6.0.0-rc.0

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 (604) hide show
  1. package/README.md +6 -28
  2. package/constants.d.ts +2 -0
  3. package/constants.js +4 -0
  4. package/constants.js.map +1 -0
  5. package/createAcoContext.d.ts +4 -2
  6. package/createAcoContext.js +103 -168
  7. package/createAcoContext.js.map +1 -1
  8. package/createAcoGraphQL.d.ts +3 -2
  9. package/createAcoGraphQL.js +46 -60
  10. package/createAcoGraphQL.js.map +1 -1
  11. package/createAcoStorageOperations.d.ts +8 -5
  12. package/createAcoStorageOperations.js +5 -17
  13. package/createAcoStorageOperations.js.map +1 -1
  14. package/createAcoTasks.d.ts +1 -0
  15. package/createAcoTasks.js +15 -0
  16. package/createAcoTasks.js.map +1 -0
  17. package/domain/folder/abstractions.d.ts +9 -0
  18. package/domain/folder/abstractions.js +8 -0
  19. package/domain/folder/abstractions.js.map +1 -0
  20. package/domain/folder/errors.d.ts +29 -0
  21. package/domain/folder/errors.js +56 -0
  22. package/domain/folder/errors.js.map +1 -0
  23. package/domain/folder/folder.model.d.ts +9 -0
  24. package/domain/folder/folder.model.js +42 -0
  25. package/domain/folder/folder.model.js.map +1 -0
  26. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  27. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +43 -0
  28. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  29. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  30. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +36 -0
  31. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  32. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  33. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +43 -0
  34. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  35. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  36. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +45 -0
  37. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  38. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  39. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +41 -0
  40. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  41. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  42. package/features/cms/decorators/GetEntryWithFlpDecorator.js +41 -0
  43. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  44. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  45. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +45 -0
  46. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  47. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  48. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +44 -0
  49. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  50. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  51. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  52. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  53. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  54. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +35 -0
  55. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  56. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  57. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  58. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  59. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  60. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  61. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  62. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  63. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +63 -0
  64. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  65. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +15 -0
  66. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +43 -0
  67. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  68. package/features/cms/feature.d.ts +1 -0
  69. package/features/cms/feature.js +43 -0
  70. package/features/cms/feature.js.map +1 -0
  71. package/features/cms/index.d.ts +1 -0
  72. package/features/cms/index.js +3 -0
  73. package/features/cms/index.js.map +1 -0
  74. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  75. package/features/flp/CreateFlp/CreateFlpUseCase.js +41 -0
  76. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  77. package/features/flp/CreateFlp/abstractions.d.ts +8 -0
  78. package/features/flp/CreateFlp/abstractions.js +7 -0
  79. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  80. package/features/flp/CreateFlp/feature.d.ts +6 -0
  81. package/features/flp/CreateFlp/feature.js +13 -0
  82. package/features/flp/CreateFlp/feature.js.map +1 -0
  83. package/features/flp/CreateFlp/index.d.ts +2 -0
  84. package/features/flp/CreateFlp/index.js +4 -0
  85. package/features/flp/CreateFlp/index.js.map +1 -0
  86. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
  87. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
  88. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  89. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +1 -0
  90. package/features/flp/CreateFlpOnFolderCreated/feature.js +10 -0
  91. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  92. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  93. package/features/flp/CreateFlpOnFolderCreated/index.js +3 -0
  94. package/features/flp/CreateFlpOnFolderCreated/index.js.map +1 -0
  95. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  96. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +23 -0
  97. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  98. package/features/flp/DeleteFlp/abstractions.d.ts +8 -0
  99. package/features/flp/DeleteFlp/abstractions.js +7 -0
  100. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  101. package/features/flp/DeleteFlp/feature.d.ts +6 -0
  102. package/features/flp/DeleteFlp/feature.js +13 -0
  103. package/features/flp/DeleteFlp/feature.js.map +1 -0
  104. package/features/flp/DeleteFlp/index.d.ts +2 -0
  105. package/features/flp/DeleteFlp/index.js +4 -0
  106. package/features/flp/DeleteFlp/index.js.map +1 -0
  107. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
  108. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
  109. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  110. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +1 -0
  111. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +10 -0
  112. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  113. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  114. package/features/flp/DeleteFlpOnFolderDeleted/index.js +3 -0
  115. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +1 -0
  116. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  117. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +133 -0
  118. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  119. package/features/flp/FolderLevelPermissions/abstractions.d.ts +25 -0
  120. package/features/flp/FolderLevelPermissions/abstractions.js +4 -0
  121. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  122. package/features/flp/FolderLevelPermissions/feature.d.ts +1 -0
  123. package/features/flp/FolderLevelPermissions/feature.js +10 -0
  124. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  125. package/features/flp/FolderLevelPermissions/index.d.ts +2 -0
  126. package/features/flp/FolderLevelPermissions/index.js +4 -0
  127. package/features/flp/FolderLevelPermissions/index.js.map +1 -0
  128. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  129. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +41 -0
  130. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  131. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  132. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +3 -0
  133. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  134. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  135. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +3 -0
  136. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  137. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  138. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +34 -0
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +3 -0
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +3 -0
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  146. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  147. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +7 -0
  148. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  149. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  150. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +3 -0
  151. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  152. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  153. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +3 -0
  154. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  155. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  156. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +7 -0
  157. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  158. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  159. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +3 -0
  160. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  161. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  162. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +3 -0
  163. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  164. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  165. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +70 -0
  166. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  167. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  168. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +13 -0
  169. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  170. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  171. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +38 -0
  172. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  173. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  174. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +3 -0
  175. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  176. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  177. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +4 -0
  178. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  179. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  180. package/features/flp/FolderLevelPermissions/useCases/index.js +7 -0
  181. package/features/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  182. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  183. package/features/flp/GetFlp/GetFlpUseCase.js +10 -0
  184. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  185. package/features/flp/GetFlp/abstractions.d.ts +8 -0
  186. package/features/flp/GetFlp/abstractions.js +4 -0
  187. package/features/flp/GetFlp/abstractions.js.map +1 -0
  188. package/features/flp/GetFlp/feature.d.ts +1 -0
  189. package/features/flp/GetFlp/feature.js +13 -0
  190. package/features/flp/GetFlp/feature.js.map +1 -0
  191. package/features/flp/GetFlp/index.d.ts +1 -0
  192. package/features/flp/GetFlp/index.js +3 -0
  193. package/features/flp/GetFlp/index.js.map +1 -0
  194. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  195. package/features/flp/ListFlps/ListFlpsUseCase.js +10 -0
  196. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  197. package/features/flp/ListFlps/abstractions.d.ts +16 -0
  198. package/features/flp/ListFlps/abstractions.js +4 -0
  199. package/features/flp/ListFlps/abstractions.js.map +1 -0
  200. package/features/flp/ListFlps/feature.d.ts +1 -0
  201. package/features/flp/ListFlps/feature.js +13 -0
  202. package/features/flp/ListFlps/feature.js.map +1 -0
  203. package/features/flp/ListFlps/index.d.ts +1 -0
  204. package/features/flp/ListFlps/index.js +3 -0
  205. package/features/flp/ListFlps/index.js.map +1 -0
  206. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +19 -0
  207. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +203 -0
  208. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  209. package/features/flp/UpdateFlp/abstractions.d.ts +14 -0
  210. package/features/flp/UpdateFlp/abstractions.js +7 -0
  211. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  212. package/features/flp/UpdateFlp/feature.d.ts +6 -0
  213. package/features/flp/UpdateFlp/feature.js +13 -0
  214. package/features/flp/UpdateFlp/feature.js.map +1 -0
  215. package/features/flp/UpdateFlp/index.d.ts +2 -0
  216. package/features/flp/UpdateFlp/index.js +4 -0
  217. package/features/flp/UpdateFlp/index.js.map +1 -0
  218. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
  219. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
  220. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  221. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +1 -0
  222. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +10 -0
  223. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  224. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  225. package/features/flp/UpdateFlpOnFolderUpdated/index.js +3 -0
  226. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +1 -0
  227. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  228. package/features/folder/CreateFolder/CreateFolderRepository.js +108 -0
  229. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  230. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  231. package/features/folder/CreateFolder/CreateFolderUseCase.js +39 -0
  232. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  233. package/features/folder/CreateFolder/abstractions.d.ts +55 -0
  234. package/features/folder/CreateFolder/abstractions.js +21 -0
  235. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  236. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
  237. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +44 -0
  238. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  239. package/features/folder/CreateFolder/events.d.ts +10 -0
  240. package/features/folder/CreateFolder/events.js +19 -0
  241. package/features/folder/CreateFolder/events.js.map +1 -0
  242. package/features/folder/CreateFolder/feature.d.ts +1 -0
  243. package/features/folder/CreateFolder/feature.js +14 -0
  244. package/features/folder/CreateFolder/feature.js.map +1 -0
  245. package/features/folder/CreateFolder/index.d.ts +2 -0
  246. package/features/folder/CreateFolder/index.js +4 -0
  247. package/features/folder/CreateFolder/index.js.map +1 -0
  248. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  249. package/features/folder/DeleteFolder/DeleteFolderRepository.js +30 -0
  250. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  251. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  252. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +55 -0
  253. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  254. package/features/folder/DeleteFolder/abstractions.d.ts +55 -0
  255. package/features/folder/DeleteFolder/abstractions.js +21 -0
  256. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  257. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  258. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +28 -0
  259. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  260. package/features/folder/DeleteFolder/events.d.ts +10 -0
  261. package/features/folder/DeleteFolder/events.js +19 -0
  262. package/features/folder/DeleteFolder/events.js.map +1 -0
  263. package/features/folder/DeleteFolder/feature.d.ts +1 -0
  264. package/features/folder/DeleteFolder/feature.js +14 -0
  265. package/features/folder/DeleteFolder/feature.js.map +1 -0
  266. package/features/folder/DeleteFolder/index.d.ts +2 -0
  267. package/features/folder/DeleteFolder/index.js +4 -0
  268. package/features/folder/DeleteFolder/index.js.map +1 -0
  269. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  270. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +56 -0
  271. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  272. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +20 -0
  273. package/features/folder/EnsureFolderIsEmpty/abstractions.js +4 -0
  274. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  275. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +1 -0
  276. package/features/folder/EnsureFolderIsEmpty/feature.js +10 -0
  277. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  278. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  279. package/features/folder/EnsureFolderIsEmpty/index.js +3 -0
  280. package/features/folder/EnsureFolderIsEmpty/index.js.map +1 -0
  281. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  282. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +29 -0
  283. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  284. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +7 -0
  285. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +17 -0
  286. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  287. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  288. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +3 -0
  289. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +1 -0
  290. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  291. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +56 -0
  292. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  293. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +1 -0
  294. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +10 -0
  295. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  296. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  297. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +3 -0
  298. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +1 -0
  299. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  300. package/features/folder/GetAncestors/GetAncestorsRepository.js +88 -0
  301. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  302. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  303. package/features/folder/GetAncestors/GetAncestorsUseCase.js +17 -0
  304. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  305. package/features/folder/GetAncestors/abstractions.d.ts +38 -0
  306. package/features/folder/GetAncestors/abstractions.js +15 -0
  307. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  308. package/features/folder/GetAncestors/feature.d.ts +1 -0
  309. package/features/folder/GetAncestors/feature.js +12 -0
  310. package/features/folder/GetAncestors/feature.js.map +1 -0
  311. package/features/folder/GetAncestors/index.d.ts +2 -0
  312. package/features/folder/GetAncestors/index.js +4 -0
  313. package/features/folder/GetAncestors/index.js.map +1 -0
  314. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  315. package/features/folder/GetFolder/GetFolderRepository.js +31 -0
  316. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  317. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  318. package/features/folder/GetFolder/GetFolderUseCase.js +17 -0
  319. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  320. package/features/folder/GetFolder/abstractions.d.ts +54 -0
  321. package/features/folder/GetFolder/abstractions.js +21 -0
  322. package/features/folder/GetFolder/abstractions.js.map +1 -0
  323. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  324. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +37 -0
  325. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  326. package/features/folder/GetFolder/feature.d.ts +1 -0
  327. package/features/folder/GetFolder/feature.js +14 -0
  328. package/features/folder/GetFolder/feature.js.map +1 -0
  329. package/features/folder/GetFolder/index.d.ts +2 -0
  330. package/features/folder/GetFolder/index.js +4 -0
  331. package/features/folder/GetFolder/index.js.map +1 -0
  332. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  333. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +103 -0
  334. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  335. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  336. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +17 -0
  337. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  338. package/features/folder/GetFolderHierarchy/abstractions.d.ts +36 -0
  339. package/features/folder/GetFolderHierarchy/abstractions.js +15 -0
  340. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  341. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  342. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +64 -0
  343. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  344. package/features/folder/GetFolderHierarchy/feature.d.ts +1 -0
  345. package/features/folder/GetFolderHierarchy/feature.js +14 -0
  346. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  347. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  348. package/features/folder/GetFolderHierarchy/index.js +4 -0
  349. package/features/folder/GetFolderHierarchy/index.js.map +1 -0
  350. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  351. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +68 -0
  352. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  353. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +10 -0
  354. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +7 -0
  355. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  356. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +1 -0
  357. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +10 -0
  358. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  359. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  360. package/features/folder/ListFolderLevelPermissionsTargets/index.js +3 -0
  361. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  362. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  363. package/features/folder/ListFolders/ListFoldersRepository.js +54 -0
  364. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  365. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  366. package/features/folder/ListFolders/ListFoldersUseCase.js +17 -0
  367. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  368. package/features/folder/ListFolders/abstractions.d.ts +42 -0
  369. package/features/folder/ListFolders/abstractions.js +15 -0
  370. package/features/folder/ListFolders/abstractions.js.map +1 -0
  371. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  372. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +77 -0
  373. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  374. package/features/folder/ListFolders/feature.d.ts +1 -0
  375. package/features/folder/ListFolders/feature.js +14 -0
  376. package/features/folder/ListFolders/feature.js.map +1 -0
  377. package/features/folder/ListFolders/index.d.ts +2 -0
  378. package/features/folder/ListFolders/index.js +4 -0
  379. package/features/folder/ListFolders/index.js.map +1 -0
  380. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  381. package/features/folder/UpdateFolder/UpdateFolderRepository.js +110 -0
  382. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  383. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  384. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +55 -0
  385. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  386. package/features/folder/UpdateFolder/abstractions.d.ts +60 -0
  387. package/features/folder/UpdateFolder/abstractions.js +21 -0
  388. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  389. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
  390. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +77 -0
  391. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  392. package/features/folder/UpdateFolder/events.d.ts +10 -0
  393. package/features/folder/UpdateFolder/events.js +19 -0
  394. package/features/folder/UpdateFolder/events.js.map +1 -0
  395. package/features/folder/UpdateFolder/feature.d.ts +1 -0
  396. package/features/folder/UpdateFolder/feature.js +14 -0
  397. package/features/folder/UpdateFolder/feature.js.map +1 -0
  398. package/features/folder/UpdateFolder/index.d.ts +2 -0
  399. package/features/folder/UpdateFolder/index.js +4 -0
  400. package/features/folder/UpdateFolder/index.js.map +1 -0
  401. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  402. package/features/folder/shared/EntryToFolderMapper.js +22 -0
  403. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  404. package/features/folder/shared/abstractions.d.ts +5 -0
  405. package/features/folder/shared/abstractions.js +4 -0
  406. package/features/folder/shared/abstractions.js.map +1 -0
  407. package/filter/filter.crud.d.ts +2 -2
  408. package/filter/filter.crud.js +6 -67
  409. package/filter/filter.crud.js.map +1 -1
  410. package/filter/filter.gql.d.ts +2 -2
  411. package/filter/filter.gql.js +16 -22
  412. package/filter/filter.gql.js.map +1 -1
  413. package/filter/filter.model.d.ts +9 -2
  414. package/filter/filter.model.js +38 -121
  415. package/filter/filter.model.js.map +1 -1
  416. package/filter/filter.so.d.ts +2 -2
  417. package/filter/filter.so.js +38 -32
  418. package/filter/filter.so.js.map +1 -1
  419. package/filter/filter.types.d.ts +4 -32
  420. package/filter/filter.types.js +1 -7
  421. package/filter/filter.types.js.map +1 -1
  422. package/flp/flp.crud.d.ts +7 -0
  423. package/flp/flp.crud.js +91 -0
  424. package/flp/flp.crud.js.map +1 -0
  425. package/flp/flp.so.d.ts +20 -0
  426. package/flp/flp.so.js +220 -0
  427. package/flp/flp.so.js.map +1 -0
  428. package/flp/flp.types.d.ts +93 -0
  429. package/flp/flp.types.js +3 -0
  430. package/flp/flp.types.js.map +1 -0
  431. package/flp/index.d.ts +3 -0
  432. package/flp/index.js +5 -0
  433. package/flp/index.js.map +1 -0
  434. package/flp/tasks/createFlp.task.d.ts +16 -0
  435. package/flp/tasks/createFlp.task.js +35 -0
  436. package/flp/tasks/createFlp.task.js.map +1 -0
  437. package/flp/tasks/deleteFlp.task.d.ts +16 -0
  438. package/flp/tasks/deleteFlp.task.js +35 -0
  439. package/flp/tasks/deleteFlp.task.js.map +1 -0
  440. package/flp/tasks/index.d.ts +5 -0
  441. package/flp/tasks/index.js +19 -0
  442. package/flp/tasks/index.js.map +1 -0
  443. package/flp/tasks/syncFlp.task.d.ts +20 -0
  444. package/flp/tasks/syncFlp.task.js +127 -0
  445. package/flp/tasks/syncFlp.task.js.map +1 -0
  446. package/flp/tasks/updateFlp.task.d.ts +16 -0
  447. package/flp/tasks/updateFlp.task.js +40 -0
  448. package/flp/tasks/updateFlp.task.js.map +1 -0
  449. package/folder/createFolderModelModifier.d.ts +36 -0
  450. package/folder/createFolderModelModifier.js +61 -0
  451. package/folder/createFolderModelModifier.js.map +1 -0
  452. package/folder/createFolderTypeDefs.d.ts +7 -0
  453. package/folder/createFolderTypeDefs.js +186 -0
  454. package/folder/createFolderTypeDefs.js.map +1 -0
  455. package/folder/folder.gql.d.ts +4 -3
  456. package/folder/folder.gql.js +143 -185
  457. package/folder/folder.gql.js.map +1 -1
  458. package/folder/folder.types.d.ts +40 -79
  459. package/folder/folder.types.js +1 -5
  460. package/folder/folder.types.js.map +1 -1
  461. package/index.d.ts +5 -6
  462. package/index.js +7 -62
  463. package/index.js.map +1 -1
  464. package/package.json +43 -40
  465. package/types.d.ts +22 -76
  466. package/types.js +2 -53
  467. package/types.js.map +1 -1
  468. package/utils/FoldersCacheFactory.d.ts +10 -0
  469. package/utils/FoldersCacheFactory.js +24 -0
  470. package/utils/FoldersCacheFactory.js.map +1 -0
  471. package/utils/ListCache.d.ts +23 -0
  472. package/utils/ListCache.js +23 -0
  473. package/utils/ListCache.js.map +1 -0
  474. package/utils/Path.d.ts +3 -0
  475. package/utils/Path.js +11 -0
  476. package/utils/Path.js.map +1 -0
  477. package/utils/acoRecordId.js +2 -10
  478. package/utils/acoRecordId.js.map +1 -1
  479. package/utils/compress.d.ts +4 -0
  480. package/utils/compress.js +12 -0
  481. package/utils/compress.js.map +1 -0
  482. package/utils/createListSort.d.ts +3 -2
  483. package/utils/createListSort.js +4 -9
  484. package/utils/createListSort.js.map +1 -1
  485. package/utils/createOperationsWrapper.d.ts +2 -2
  486. package/utils/createOperationsWrapper.js +7 -12
  487. package/utils/createOperationsWrapper.js.map +1 -1
  488. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
  489. package/utils/decorators/CmsEntriesCrudDecorators.js +70 -98
  490. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  491. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  492. package/utils/decorators/FilterEntriesByFolderFactory.js +23 -0
  493. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  494. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  495. package/utils/decorators/ListEntriesFactory.js +106 -0
  496. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  497. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  498. package/utils/decorators/hasRootFolderId.js +19 -0
  499. package/utils/decorators/hasRootFolderId.js.map +1 -0
  500. package/utils/decorators/isPageModel.d.ts +1 -1
  501. package/utils/decorators/isPageModel.js +1 -8
  502. package/utils/decorators/isPageModel.js.map +1 -1
  503. package/utils/ensureAuthentication.d.ts +2 -2
  504. package/utils/ensureAuthentication.js +8 -12
  505. package/utils/ensureAuthentication.js.map +1 -1
  506. package/utils/pickEntryFieldValues.d.ts +1 -1
  507. package/utils/pickEntryFieldValues.js +3 -10
  508. package/utils/pickEntryFieldValues.js.map +1 -1
  509. package/utils/resolve.d.ts +1 -2
  510. package/utils/resolve.js +4 -20
  511. package/utils/resolve.js.map +1 -1
  512. package/apps/AcoApp.d.ts +0 -21
  513. package/apps/AcoApp.js +0 -143
  514. package/apps/AcoApp.js.map +0 -1
  515. package/apps/AcoApps.d.ts +0 -10
  516. package/apps/AcoApps.js +0 -75
  517. package/apps/AcoApps.js.map +0 -1
  518. package/apps/app.gql.d.ts +0 -3
  519. package/apps/app.gql.js +0 -59
  520. package/apps/app.gql.js.map +0 -1
  521. package/apps/index.d.ts +0 -2
  522. package/apps/index.js +0 -29
  523. package/apps/index.js.map +0 -1
  524. package/createAcoHooks.d.ts +0 -2
  525. package/createAcoHooks.js +0 -17
  526. package/createAcoHooks.js.map +0 -1
  527. package/createAcoModels.d.ts +0 -2
  528. package/createAcoModels.js +0 -29
  529. package/createAcoModels.js.map +0 -1
  530. package/folder/folder.crud.d.ts +0 -10
  531. package/folder/folder.crud.js +0 -306
  532. package/folder/folder.crud.js.map +0 -1
  533. package/folder/folder.model.d.ts +0 -2
  534. package/folder/folder.model.js +0 -110
  535. package/folder/folder.model.js.map +0 -1
  536. package/folder/folder.so.d.ts +0 -3
  537. package/folder/folder.so.js +0 -170
  538. package/folder/folder.so.js.map +0 -1
  539. package/folder/onFolderBeforeDeleteAco.hook.d.ts +0 -2
  540. package/folder/onFolderBeforeDeleteAco.hook.js +0 -67
  541. package/folder/onFolderBeforeDeleteAco.hook.js.map +0 -1
  542. package/folder/onFolderBeforeDeleteFm.hook.d.ts +0 -2
  543. package/folder/onFolderBeforeDeleteFm.hook.js +0 -49
  544. package/folder/onFolderBeforeDeleteFm.hook.js.map +0 -1
  545. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +0 -2
  546. package/folder/onFolderBeforeDeleteHcms.hook.js +0 -56
  547. package/folder/onFolderBeforeDeleteHcms.hook.js.map +0 -1
  548. package/plugins/AcoAppModifierPlugin.d.ts +0 -43
  549. package/plugins/AcoAppModifierPlugin.js +0 -58
  550. package/plugins/AcoAppModifierPlugin.js.map +0 -1
  551. package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
  552. package/plugins/AcoAppRegisterPlugin.js +0 -21
  553. package/plugins/AcoAppRegisterPlugin.js.map +0 -1
  554. package/plugins/index.d.ts +0 -2
  555. package/plugins/index.js +0 -29
  556. package/plugins/index.js.map +0 -1
  557. package/record/graphql/createAppResolvers.d.ts +0 -14
  558. package/record/graphql/createAppResolvers.js +0 -115
  559. package/record/graphql/createAppResolvers.js.map +0 -1
  560. package/record/graphql/createAppSchema.d.ts +0 -9
  561. package/record/graphql/createAppSchema.js +0 -146
  562. package/record/graphql/createAppSchema.js.map +0 -1
  563. package/record/record.crud.d.ts +0 -3
  564. package/record/record.crud.js +0 -128
  565. package/record/record.crud.js.map +0 -1
  566. package/record/record.gql.d.ts +0 -8
  567. package/record/record.gql.js +0 -43
  568. package/record/record.gql.js.map +0 -1
  569. package/record/record.model.d.ts +0 -8
  570. package/record/record.model.js +0 -91
  571. package/record/record.model.js.map +0 -1
  572. package/record/record.so.d.ts +0 -3
  573. package/record/record.so.js +0 -147
  574. package/record/record.so.js.map +0 -1
  575. package/record/record.types.d.ts +0 -144
  576. package/record/record.types.js +0 -7
  577. package/record/record.types.js.map +0 -1
  578. package/utils/FolderLevelPermissions.d.ts +0 -74
  579. package/utils/FolderLevelPermissions.js +0 -386
  580. package/utils/FolderLevelPermissions.js.map +0 -1
  581. package/utils/createModelField.d.ts +0 -5
  582. package/utils/createModelField.js +0 -39
  583. package/utils/createModelField.js.map +0 -1
  584. package/utils/decorators/constants.d.ts +0 -1
  585. package/utils/decorators/constants.js +0 -9
  586. package/utils/decorators/constants.js.map +0 -1
  587. package/utils/decorators/createFolderType.d.ts +0 -2
  588. package/utils/decorators/createFolderType.js +0 -18
  589. package/utils/decorators/createFolderType.js.map +0 -1
  590. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +0 -23
  591. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +0 -47
  592. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +0 -1
  593. package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
  594. package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
  595. package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
  596. package/utils/decorators/where.d.ts +0 -15
  597. package/utils/decorators/where.js +0 -60
  598. package/utils/decorators/where.js.map +0 -1
  599. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  600. package/utils/getFolderAndItsAncestors.js +0 -53
  601. package/utils/getFolderAndItsAncestors.js.map +0 -1
  602. package/utils/modelFactory.d.ts +0 -13
  603. package/utils/modelFactory.js +0 -22
  604. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ export { UpdateFlpFeature } from "./feature.js";
2
+ export { UpdateFlpUseCase } from "./abstractions.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UpdateFlpFeature","UpdateFlpUseCase"],"sources":["index.ts"],"sourcesContent":["export { UpdateFlpFeature } from \"./feature.js\";\nexport { UpdateFlpUseCase } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,gBAAgB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
2
+ import { UpdateFlpUseCase } from "../UpdateFlp/abstractions.js";
3
+ import type { FolderAfterUpdateEvent } from "../../../features/folder/UpdateFolder/events.js";
4
+ import { FolderAfterUpdateHandler } from "../../../features/folder/UpdateFolder/index.js";
5
+ declare class UpdateFlpOnFolderUpdatedHandlerImpl implements FolderAfterUpdateHandler.Interface {
6
+ private updateFlpUseCase;
7
+ private tasks?;
8
+ constructor(updateFlpUseCase: UpdateFlpUseCase.Interface, tasks?: TaskService.Interface | undefined);
9
+ handle(event: FolderAfterUpdateEvent): Promise<void>;
10
+ }
11
+ export declare const UpdateFlpOnFolderUpdatedHandler: typeof UpdateFlpOnFolderUpdatedHandlerImpl & {
12
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<import("@webiny/api-core/features/EventPublisher").DomainEvent<import("../../folder/UpdateFolder/abstractions.js").FolderAfterUpdatePayload>>>;
13
+ };
14
+ export {};
@@ -0,0 +1,39 @@
1
+ import { TaskService } from "@webiny/api-core/features/task/TaskService/index.js";
2
+ import { UpdateFlpUseCase } from "../UpdateFlp/abstractions.js";
3
+ import { UPDATE_FLP_TASK_ID } from "../../../flp/tasks/index.js";
4
+ import { FolderAfterUpdateHandler } from "../../folder/UpdateFolder/index.js";
5
+ class UpdateFlpOnFolderUpdatedHandlerImpl {
6
+ constructor(updateFlpUseCase, tasks) {
7
+ this.updateFlpUseCase = updateFlpUseCase;
8
+ this.tasks = tasks;
9
+ }
10
+ async handle(event) {
11
+ const {
12
+ folder
13
+ } = event.payload;
14
+ try {
15
+ if (this.tasks) {
16
+ await this.tasks.trigger({
17
+ definition: UPDATE_FLP_TASK_ID,
18
+ input: {
19
+ folder
20
+ }
21
+ });
22
+ } else {
23
+ await this.updateFlpUseCase.execute({
24
+ folder
25
+ });
26
+ }
27
+ } catch {
28
+ // Ignore errors
29
+ }
30
+ }
31
+ }
32
+ export const UpdateFlpOnFolderUpdatedHandler = FolderAfterUpdateHandler.createImplementation({
33
+ implementation: UpdateFlpOnFolderUpdatedHandlerImpl,
34
+ dependencies: [UpdateFlpUseCase, [TaskService, {
35
+ optional: true
36
+ }]]
37
+ });
38
+
39
+ //# sourceMappingURL=UpdateFlpOnFolderUpdatedHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TaskService","UpdateFlpUseCase","UPDATE_FLP_TASK_ID","FolderAfterUpdateHandler","UpdateFlpOnFolderUpdatedHandlerImpl","constructor","updateFlpUseCase","tasks","handle","event","folder","payload","trigger","definition","input","execute","UpdateFlpOnFolderUpdatedHandler","createImplementation","implementation","dependencies","optional"],"sources":["UpdateFlpOnFolderUpdatedHandler.ts"],"sourcesContent":["import { TaskService } from \"@webiny/api-core/features/task/TaskService/index.js\";\nimport { UpdateFlpUseCase } from \"../UpdateFlp/abstractions.js\";\nimport type { FolderAfterUpdateEvent } from \"~/features/folder/UpdateFolder/events.js\";\nimport type { IUpdateFlpTaskInput } from \"~/types.js\";\nimport { UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { FolderAfterUpdateHandler } from \"~/features/folder/UpdateFolder/index.js\";\n\nclass UpdateFlpOnFolderUpdatedHandlerImpl implements FolderAfterUpdateHandler.Interface {\n constructor(\n private updateFlpUseCase: UpdateFlpUseCase.Interface,\n private tasks?: TaskService.Interface\n ) {}\n\n async handle(event: FolderAfterUpdateEvent): Promise<void> {\n const { folder } = event.payload;\n\n try {\n if (this.tasks) {\n await this.tasks.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: { folder }\n });\n } else {\n await this.updateFlpUseCase.execute({ folder });\n }\n } catch {\n // Ignore errors\n }\n }\n}\n\nexport const UpdateFlpOnFolderUpdatedHandler = FolderAfterUpdateHandler.createImplementation({\n implementation: UpdateFlpOnFolderUpdatedHandlerImpl,\n dependencies: [UpdateFlpUseCase, [TaskService, { optional: true }]]\n});\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,qDAAqD;AACjF,SAASC,gBAAgB;AAGzB,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB;AAEjC,MAAMC,mCAAmC,CAA+C;EACpFC,WAAWA,CACCC,gBAA4C,EAC5CC,KAA6B,EACvC;IAAA,KAFUD,gBAA4C,GAA5CA,gBAA4C;IAAA,KAC5CC,KAA6B,GAA7BA,KAA6B;EACtC;EAEH,MAAMC,MAAMA,CAACC,KAA6B,EAAiB;IACvD,MAAM;MAAEC;IAAO,CAAC,GAAGD,KAAK,CAACE,OAAO;IAEhC,IAAI;MACA,IAAI,IAAI,CAACJ,KAAK,EAAE;QACZ,MAAM,IAAI,CAACA,KAAK,CAACK,OAAO,CAAsB;UAC1CC,UAAU,EAAEX,kBAAkB;UAC9BY,KAAK,EAAE;YAAEJ;UAAO;QACpB,CAAC,CAAC;MACN,CAAC,MAAM;QACH,MAAM,IAAI,CAACJ,gBAAgB,CAACS,OAAO,CAAC;UAAEL;QAAO,CAAC,CAAC;MACnD;IACJ,CAAC,CAAC,MAAM;MACJ;IAAA;EAER;AACJ;AAEA,OAAO,MAAMM,+BAA+B,GAAGb,wBAAwB,CAACc,oBAAoB,CAAC;EACzFC,cAAc,EAAEd,mCAAmC;EACnDe,YAAY,EAAE,CAAClB,gBAAgB,EAAE,CAACD,WAAW,EAAE;IAAEoB,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const UpdateFlpOnFolderUpdatedFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { UpdateFlpOnFolderUpdatedHandler } from "./UpdateFlpOnFolderUpdatedHandler.js";
3
+ export const UpdateFlpOnFolderUpdatedFeature = createFeature({
4
+ name: "UpdateFlpOnFolderUpdated",
5
+ register(container) {
6
+ container.register(UpdateFlpOnFolderUpdatedHandler);
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","UpdateFlpOnFolderUpdatedHandler","UpdateFlpOnFolderUpdatedFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { UpdateFlpOnFolderUpdatedHandler } from \"./UpdateFlpOnFolderUpdatedHandler.js\";\n\nexport const UpdateFlpOnFolderUpdatedFeature = createFeature({\n name: \"UpdateFlpOnFolderUpdated\",\n register(container) {\n container.register(UpdateFlpOnFolderUpdatedHandler);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,+BAA+B;AAExC,OAAO,MAAMC,+BAA+B,GAAGF,aAAa,CAAC;EACzDG,IAAI,EAAE,0BAA0B;EAChCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,+BAA+B,CAAC;EACvD;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { UpdateFlpOnFolderUpdatedFeature } from "./feature.js";
@@ -0,0 +1,3 @@
1
+ export { UpdateFlpOnFolderUpdatedFeature } from "./feature.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UpdateFlpOnFolderUpdatedFeature"],"sources":["index.ts"],"sourcesContent":["export { UpdateFlpOnFolderUpdatedFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CreateFolderRepository as RepositoryAbstraction, type ICreateFolderRepository } from "./abstractions.js";
3
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
4
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
5
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
6
+ import { FolderModel } from "../../../domain/folder/abstractions.js";
7
+ import type { CreateFolderParams, Folder } from "../../../folder/folder.types.js";
8
+ declare class CreateFolderRepositoryImpl implements ICreateFolderRepository {
9
+ private createEntry;
10
+ private listLatestEntries;
11
+ private getEntryById;
12
+ private folderModel;
13
+ constructor(createEntry: CreateEntryUseCase.Interface, listLatestEntries: ListLatestEntriesUseCase.Interface, getEntryById: GetEntryByIdUseCase.Interface, folderModel: FolderModel.Interface);
14
+ execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryAbstraction.Error>>;
15
+ private checkExistingFolder;
16
+ private createFolderPath;
17
+ }
18
+ export declare const CreateFolderRepository: typeof CreateFolderRepositoryImpl & {
19
+ __abstraction: import("@webiny/di").Abstraction<ICreateFolderRepository>;
20
+ };
21
+ export {};
@@ -0,0 +1,108 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { CreateFolderRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry";
4
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
5
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById";
6
+ import { FolderModel } 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 CreateFolderRepositoryImpl {
12
+ constructor(createEntry, listLatestEntries, getEntryById, folderModel) {
13
+ this.createEntry = createEntry;
14
+ this.listLatestEntries = listLatestEntries;
15
+ this.getEntryById = getEntryById;
16
+ this.folderModel = folderModel;
17
+ }
18
+ async execute(data) {
19
+ // Check if folder already exists
20
+ const checkResult = await this.checkExistingFolder({
21
+ type: data.type,
22
+ slug: data.slug,
23
+ parentId: data.parentId
24
+ });
25
+ if (checkResult.isFail()) {
26
+ return Result.fail(checkResult.error);
27
+ }
28
+
29
+ // Create folder path
30
+ const pathResult = await this.createFolderPath({
31
+ slug: data.slug,
32
+ parentId: data.parentId
33
+ });
34
+ if (pathResult.isFail()) {
35
+ return Result.fail(pathResult.error);
36
+ }
37
+
38
+ // Create the entry
39
+ const result = await this.createEntry.execute(this.folderModel, {
40
+ values: {
41
+ ...data,
42
+ parentId: data.parentId || null,
43
+ path: pathResult.value
44
+ }
45
+ });
46
+ if (result.isFail()) {
47
+ if (result.error.code === "Cms/Entry/ValidationError") {
48
+ return Result.fail(new FolderValidationError(result.error.message));
49
+ }
50
+ return Result.fail(new FolderPersistenceError(result.error));
51
+ }
52
+ const folder = EntryToFolderMapper.toFolder(result.value);
53
+ return Result.ok(folder);
54
+ }
55
+ async checkExistingFolder(params) {
56
+ const {
57
+ type,
58
+ slug,
59
+ parentId,
60
+ excludeId
61
+ } = params;
62
+ const result = await this.listLatestEntries.execute(this.folderModel, {
63
+ where: {
64
+ latest: true,
65
+ values: {
66
+ type,
67
+ slug,
68
+ parentId
69
+ },
70
+ ...(excludeId ? {
71
+ entryId_not: excludeId
72
+ } : {})
73
+ },
74
+ limit: 1
75
+ });
76
+ if (result.isFail()) {
77
+ return Result.fail(new FolderPersistenceError(result.error));
78
+ }
79
+ const {
80
+ entries
81
+ } = result.value;
82
+ if (entries.length > 0) {
83
+ return Result.fail(new FolderValidationError(`Folder with slug "${slug}" already exists at this level.`));
84
+ }
85
+ return Result.ok();
86
+ }
87
+ async createFolderPath(params) {
88
+ const {
89
+ slug,
90
+ parentId
91
+ } = params;
92
+ if (!parentId) {
93
+ return Result.ok(Path.create(slug));
94
+ }
95
+ const parentResult = await this.getEntryById.execute(this.folderModel, EntryId.from(parentId).toString());
96
+ if (parentResult.isFail()) {
97
+ return Result.fail(new FolderPersistenceError(new Error("Parent folder not found. Unable to create the folder path")));
98
+ }
99
+ const parentFolder = EntryToFolderMapper.toFolder(parentResult.value);
100
+ return Result.ok(Path.create(slug, parentFolder.path));
101
+ }
102
+ }
103
+ export const CreateFolderRepository = RepositoryAbstraction.createImplementation({
104
+ implementation: CreateFolderRepositoryImpl,
105
+ dependencies: [CreateEntryUseCase, ListLatestEntriesUseCase, GetEntryByIdUseCase, FolderModel]
106
+ });
107
+
108
+ //# sourceMappingURL=CreateFolderRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","CreateFolderRepository","RepositoryAbstraction","CreateEntryUseCase","ListLatestEntriesUseCase","GetEntryByIdUseCase","FolderModel","EntryToFolderMapper","FolderPersistenceError","FolderValidationError","Path","EntryId","CreateFolderRepositoryImpl","constructor","createEntry","listLatestEntries","getEntryById","folderModel","execute","data","checkResult","checkExistingFolder","type","slug","parentId","isFail","fail","error","pathResult","createFolderPath","result","values","path","value","code","message","folder","toFolder","ok","params","excludeId","where","latest","entryId_not","limit","entries","length","create","parentResult","from","toString","Error","parentFolder","createImplementation","implementation","dependencies"],"sources":["CreateFolderRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n CreateFolderRepository as RepositoryAbstraction,\n type ICreateFolderRepository\n} from \"./abstractions.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById\";\nimport { FolderModel } from \"~/domain/folder/abstractions.js\";\nimport type { CmsEntryFolder, CreateFolderParams, Folder } from \"~/folder/folder.types.js\";\nimport { EntryToFolderMapper } from \"../shared/EntryToFolderMapper.js\";\nimport { FolderPersistenceError, FolderValidationError } from \"~/domain/folder/errors.js\";\nimport { Path } from \"~/utils/Path.js\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\n\nclass CreateFolderRepositoryImpl implements ICreateFolderRepository {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private listLatestEntries: ListLatestEntriesUseCase.Interface,\n private getEntryById: GetEntryByIdUseCase.Interface,\n private folderModel: FolderModel.Interface\n ) {}\n\n async execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryAbstraction.Error>> {\n // Check if folder already exists\n const checkResult = await this.checkExistingFolder({\n type: data.type,\n slug: data.slug,\n parentId: data.parentId\n });\n\n if (checkResult.isFail()) {\n return Result.fail(checkResult.error);\n }\n\n // Create folder path\n const pathResult = await this.createFolderPath({\n slug: data.slug,\n parentId: data.parentId\n });\n\n if (pathResult.isFail()) {\n return Result.fail(pathResult.error);\n }\n\n // Create the entry\n const result = await this.createEntry.execute<CmsEntryFolder>(this.folderModel, {\n values: {\n ...data,\n parentId: data.parentId || null,\n path: pathResult.value\n }\n });\n\n if (result.isFail()) {\n if (result.error.code === \"Cms/Entry/ValidationError\") {\n return Result.fail(new FolderValidationError(result.error.message));\n }\n return Result.fail(new FolderPersistenceError(result.error));\n }\n\n const folder = EntryToFolderMapper.toFolder(result.value);\n return Result.ok(folder);\n }\n\n private async checkExistingFolder(params: {\n type: string;\n slug: string;\n parentId?: string | null;\n excludeId?: string;\n }): Promise<Result<void, RepositoryAbstraction.Error>> {\n const { type, slug, parentId, excludeId } = params;\n\n const result = await this.listLatestEntries.execute<CmsEntryFolder>(this.folderModel, {\n where: {\n latest: true,\n values: {\n type,\n slug,\n parentId\n },\n ...(excludeId ? { entryId_not: excludeId } : {})\n },\n limit: 1\n });\n\n if (result.isFail()) {\n return Result.fail(new FolderPersistenceError(result.error));\n }\n\n const { entries } = result.value;\n\n if (entries.length > 0) {\n return Result.fail(\n new FolderValidationError(\n `Folder with slug \"${slug}\" already exists at this level.`\n )\n );\n }\n\n return Result.ok();\n }\n\n private async createFolderPath(params: {\n slug: string;\n parentId?: string | null;\n }): Promise<Result<string, RepositoryAbstraction.Error>> {\n const { slug, parentId } = params;\n\n if (!parentId) {\n return Result.ok(Path.create(slug));\n }\n\n const parentResult = await this.getEntryById.execute<CmsEntryFolder>(\n this.folderModel,\n EntryId.from(parentId).toString()\n );\n\n if (parentResult.isFail()) {\n return Result.fail(\n new FolderPersistenceError(\n new Error(\"Parent folder not found. Unable to create the folder path\")\n )\n );\n }\n\n const parentFolder = EntryToFolderMapper.toFolder(parentResult.value);\n return Result.ok(Path.create(slug, parentFolder.path));\n }\n}\n\nexport const CreateFolderRepository = RepositoryAbstraction.createImplementation({\n implementation: CreateFolderRepositoryImpl,\n dependencies: [CreateEntryUseCase, ListLatestEntriesUseCase, GetEntryByIdUseCase, FolderModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,sBAAsB,IAAIC,qBAAqB;AAGnD,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,wBAAwB,QAAQ,4DAA4D;AACrG,SAASC,mBAAmB,QAAQ,6DAA6D;AACjG,SAASC,WAAW;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB,EAAEC,qBAAqB;AACtD,SAASC,IAAI;AACb,SAASC,OAAO,QAAQ,mDAAmD;AAE3E,MAAMC,0BAA0B,CAAoC;EAChEC,WAAWA,CACCC,WAAyC,EACzCC,iBAAqD,EACrDC,YAA2C,EAC3CC,WAAkC,EAC5C;IAAA,KAJUH,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,WAAkC,GAAlCA,WAAkC;EAC3C;EAEH,MAAMC,OAAOA,CAACC,IAAwB,EAAwD;IAC1F;IACA,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACC,mBAAmB,CAAC;MAC/CC,IAAI,EAAEH,IAAI,CAACG,IAAI;MACfC,IAAI,EAAEJ,IAAI,CAACI,IAAI;MACfC,QAAQ,EAAEL,IAAI,CAACK;IACnB,CAAC,CAAC;IAEF,IAAIJ,WAAW,CAACK,MAAM,CAAC,CAAC,EAAE;MACtB,OAAOzB,MAAM,CAAC0B,IAAI,CAACN,WAAW,CAACO,KAAK,CAAC;IACzC;;IAEA;IACA,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAAC;MAC3CN,IAAI,EAAEJ,IAAI,CAACI,IAAI;MACfC,QAAQ,EAAEL,IAAI,CAACK;IACnB,CAAC,CAAC;IAEF,IAAII,UAAU,CAACH,MAAM,CAAC,CAAC,EAAE;MACrB,OAAOzB,MAAM,CAAC0B,IAAI,CAACE,UAAU,CAACD,KAAK,CAAC;IACxC;;IAEA;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAAChB,WAAW,CAACI,OAAO,CAAiB,IAAI,CAACD,WAAW,EAAE;MAC5Ec,MAAM,EAAE;QACJ,GAAGZ,IAAI;QACPK,QAAQ,EAAEL,IAAI,CAACK,QAAQ,IAAI,IAAI;QAC/BQ,IAAI,EAAEJ,UAAU,CAACK;MACrB;IACJ,CAAC,CAAC;IAEF,IAAIH,MAAM,CAACL,MAAM,CAAC,CAAC,EAAE;MACjB,IAAIK,MAAM,CAACH,KAAK,CAACO,IAAI,KAAK,2BAA2B,EAAE;QACnD,OAAOlC,MAAM,CAAC0B,IAAI,CAAC,IAAIjB,qBAAqB,CAACqB,MAAM,CAACH,KAAK,CAACQ,OAAO,CAAC,CAAC;MACvE;MACA,OAAOnC,MAAM,CAAC0B,IAAI,CAAC,IAAIlB,sBAAsB,CAACsB,MAAM,CAACH,KAAK,CAAC,CAAC;IAChE;IAEA,MAAMS,MAAM,GAAG7B,mBAAmB,CAAC8B,QAAQ,CAACP,MAAM,CAACG,KAAK,CAAC;IACzD,OAAOjC,MAAM,CAACsC,EAAE,CAACF,MAAM,CAAC;EAC5B;EAEA,MAAcf,mBAAmBA,CAACkB,MAKjC,EAAsD;IACnD,MAAM;MAAEjB,IAAI;MAAEC,IAAI;MAAEC,QAAQ;MAAEgB;IAAU,CAAC,GAAGD,MAAM;IAElD,MAAMT,MAAM,GAAG,MAAM,IAAI,CAACf,iBAAiB,CAACG,OAAO,CAAiB,IAAI,CAACD,WAAW,EAAE;MAClFwB,KAAK,EAAE;QACHC,MAAM,EAAE,IAAI;QACZX,MAAM,EAAE;UACJT,IAAI;UACJC,IAAI;UACJC;QACJ,CAAC;QACD,IAAIgB,SAAS,GAAG;UAAEG,WAAW,EAAEH;QAAU,CAAC,GAAG,CAAC,CAAC;MACnD,CAAC;MACDI,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAId,MAAM,CAACL,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOzB,MAAM,CAAC0B,IAAI,CAAC,IAAIlB,sBAAsB,CAACsB,MAAM,CAACH,KAAK,CAAC,CAAC;IAChE;IAEA,MAAM;MAAEkB;IAAQ,CAAC,GAAGf,MAAM,CAACG,KAAK;IAEhC,IAAIY,OAAO,CAACC,MAAM,GAAG,CAAC,EAAE;MACpB,OAAO9C,MAAM,CAAC0B,IAAI,CACd,IAAIjB,qBAAqB,CACrB,qBAAqBc,IAAI,iCAC7B,CACJ,CAAC;IACL;IAEA,OAAOvB,MAAM,CAACsC,EAAE,CAAC,CAAC;EACtB;EAEA,MAAcT,gBAAgBA,CAACU,MAG9B,EAAwD;IACrD,MAAM;MAAEhB,IAAI;MAAEC;IAAS,CAAC,GAAGe,MAAM;IAEjC,IAAI,CAACf,QAAQ,EAAE;MACX,OAAOxB,MAAM,CAACsC,EAAE,CAAC5B,IAAI,CAACqC,MAAM,CAACxB,IAAI,CAAC,CAAC;IACvC;IAEA,MAAMyB,YAAY,GAAG,MAAM,IAAI,CAAChC,YAAY,CAACE,OAAO,CAChD,IAAI,CAACD,WAAW,EAChBN,OAAO,CAACsC,IAAI,CAACzB,QAAQ,CAAC,CAAC0B,QAAQ,CAAC,CACpC,CAAC;IAED,IAAIF,YAAY,CAACvB,MAAM,CAAC,CAAC,EAAE;MACvB,OAAOzB,MAAM,CAAC0B,IAAI,CACd,IAAIlB,sBAAsB,CACtB,IAAI2C,KAAK,CAAC,2DAA2D,CACzE,CACJ,CAAC;IACL;IAEA,MAAMC,YAAY,GAAG7C,mBAAmB,CAAC8B,QAAQ,CAACW,YAAY,CAACf,KAAK,CAAC;IACrE,OAAOjC,MAAM,CAACsC,EAAE,CAAC5B,IAAI,CAACqC,MAAM,CAACxB,IAAI,EAAE6B,YAAY,CAACpB,IAAI,CAAC,CAAC;EAC1D;AACJ;AAEA,OAAO,MAAM/B,sBAAsB,GAAGC,qBAAqB,CAACmD,oBAAoB,CAAC;EAC7EC,cAAc,EAAE1C,0BAA0B;EAC1C2C,YAAY,EAAE,CAACpD,kBAAkB,EAAEC,wBAAwB,EAAEC,mBAAmB,EAAEC,WAAW;AACjG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { EventPublisher as EventPublisherAbstraction } from "@webiny/api-core/features/EventPublisher";
3
+ import { CreateFolderUseCase as UseCaseAbstraction, CreateFolderRepository } from "./abstractions.js";
4
+ import type { Folder, CreateFolderParams } from "../../../folder/folder.types.js";
5
+ declare class CreateFolderUseCaseImpl implements UseCaseAbstraction.Interface {
6
+ private eventPublisher;
7
+ private repository;
8
+ constructor(eventPublisher: EventPublisherAbstraction.Interface, repository: CreateFolderRepository.Interface);
9
+ execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseAbstraction.Error>>;
10
+ }
11
+ export declare const CreateFolderUseCase: import("@webiny/di").Implementation<typeof CreateFolderUseCaseImpl>;
12
+ export {};
@@ -0,0 +1,39 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import { createImplementation } from "@webiny/di";
4
+ import { CreateFolderUseCase as UseCaseAbstraction, CreateFolderRepository } from "./abstractions.js";
5
+ import { FolderBeforeCreateEvent, FolderAfterCreateEvent } from "./events.js";
6
+ class CreateFolderUseCaseImpl {
7
+ constructor(eventPublisher, repository) {
8
+ this.eventPublisher = eventPublisher;
9
+ this.repository = repository;
10
+ }
11
+ async execute(params) {
12
+ // Publish before create event
13
+ const beforeCreateEvent = new FolderBeforeCreateEvent({
14
+ input: params
15
+ });
16
+ await this.eventPublisher.publish(beforeCreateEvent);
17
+
18
+ // Execute the create operation
19
+ const result = await this.repository.execute(params);
20
+ if (result.isFail()) {
21
+ return result;
22
+ }
23
+ const folder = result.value;
24
+
25
+ // Publish after create event
26
+ const afterCreateEvent = new FolderAfterCreateEvent({
27
+ folder
28
+ });
29
+ await this.eventPublisher.publish(afterCreateEvent);
30
+ return Result.ok(folder);
31
+ }
32
+ }
33
+ export const CreateFolderUseCase = createImplementation({
34
+ abstraction: UseCaseAbstraction,
35
+ implementation: CreateFolderUseCaseImpl,
36
+ dependencies: [EventPublisher, CreateFolderRepository]
37
+ });
38
+
39
+ //# sourceMappingURL=CreateFolderUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","EventPublisher","createImplementation","CreateFolderUseCase","UseCaseAbstraction","CreateFolderRepository","FolderBeforeCreateEvent","FolderAfterCreateEvent","CreateFolderUseCaseImpl","constructor","eventPublisher","repository","execute","params","beforeCreateEvent","input","publish","result","isFail","folder","value","afterCreateEvent","ok","abstraction","implementation","dependencies"],"sources":["CreateFolderUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n EventPublisher,\n EventPublisher as EventPublisherAbstraction\n} from \"@webiny/api-core/features/EventPublisher\";\nimport { createImplementation } from \"@webiny/di\";\nimport {\n CreateFolderUseCase as UseCaseAbstraction,\n CreateFolderRepository\n} from \"./abstractions.js\";\nimport { FolderBeforeCreateEvent, FolderAfterCreateEvent } from \"./events.js\";\nimport type { Folder, CreateFolderParams } from \"~/folder/folder.types.js\";\n\nclass CreateFolderUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private eventPublisher: EventPublisherAbstraction.Interface,\n private repository: CreateFolderRepository.Interface\n ) {}\n\n async execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseAbstraction.Error>> {\n // Publish before create event\n const beforeCreateEvent = new FolderBeforeCreateEvent({\n input: params\n });\n\n await this.eventPublisher.publish(beforeCreateEvent);\n\n // Execute the create operation\n const result = await this.repository.execute(params);\n\n if (result.isFail()) {\n return result;\n }\n\n const folder = result.value;\n\n // Publish after create event\n const afterCreateEvent = new FolderAfterCreateEvent({\n folder\n });\n\n await this.eventPublisher.publish(afterCreateEvent);\n\n return Result.ok(folder);\n }\n}\n\nexport const CreateFolderUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: CreateFolderUseCaseImpl,\n dependencies: [EventPublisher, CreateFolderRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,cAAc,QAEX,0CAA0C;AACjD,SAASC,oBAAoB,QAAQ,YAAY;AACjD,SACIC,mBAAmB,IAAIC,kBAAkB,EACzCC,sBAAsB;AAE1B,SAASC,uBAAuB,EAAEC,sBAAsB;AAGxD,MAAMC,uBAAuB,CAAyC;EAClEC,WAAWA,CACCC,cAAmD,EACnDC,UAA4C,EACtD;IAAA,KAFUD,cAAmD,GAAnDA,cAAmD;IAAA,KACnDC,UAA4C,GAA5CA,UAA4C;EACrD;EAEH,MAAMC,OAAOA,CAACC,MAA0B,EAAqD;IACzF;IACA,MAAMC,iBAAiB,GAAG,IAAIR,uBAAuB,CAAC;MAClDS,KAAK,EAAEF;IACX,CAAC,CAAC;IAEF,MAAM,IAAI,CAACH,cAAc,CAACM,OAAO,CAACF,iBAAiB,CAAC;;IAEpD;IACA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACN,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;IAEpD,IAAII,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOD,MAAM;IACjB;IAEA,MAAME,MAAM,GAAGF,MAAM,CAACG,KAAK;;IAE3B;IACA,MAAMC,gBAAgB,GAAG,IAAId,sBAAsB,CAAC;MAChDY;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,CAACT,cAAc,CAACM,OAAO,CAACK,gBAAgB,CAAC;IAEnD,OAAOrB,MAAM,CAACsB,EAAE,CAACH,MAAM,CAAC;EAC5B;AACJ;AAEA,OAAO,MAAMhB,mBAAmB,GAAGD,oBAAoB,CAAC;EACpDqB,WAAW,EAAEnB,kBAAkB;EAC/BoB,cAAc,EAAEhB,uBAAuB;EACvCiB,YAAY,EAAE,CAACxB,cAAc,EAAEI,sBAAsB;AACzD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ import type { Result } from "@webiny/feature/api";
2
+ import type { DomainEvent, IEventHandler } from "@webiny/api-core/features/EventPublisher";
3
+ import type { Folder, CreateFolderParams } from "../../../folder/folder.types.js";
4
+ import type { FolderNotAuthorizedError, FolderPersistenceError, FolderValidationError } from "../../../domain/folder/errors.js";
5
+ /**
6
+ * CreateFolder repository interface
7
+ */
8
+ export interface ICreateFolderRepository {
9
+ execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryError>>;
10
+ }
11
+ export interface ICreateFolderRepositoryErrors {
12
+ validation: FolderValidationError;
13
+ persistence: FolderPersistenceError;
14
+ }
15
+ type RepositoryError = ICreateFolderRepositoryErrors[keyof ICreateFolderRepositoryErrors];
16
+ export declare const CreateFolderRepository: import("@webiny/di").Abstraction<ICreateFolderRepository>;
17
+ export declare namespace CreateFolderRepository {
18
+ type Interface = ICreateFolderRepository;
19
+ type Error = RepositoryError;
20
+ }
21
+ /**
22
+ * CreateFolder use case interface
23
+ */
24
+ export interface ICreateFolderUseCase {
25
+ execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseError>>;
26
+ }
27
+ export interface ICreateFolderUseCaseErrors {
28
+ notAuthorized: FolderNotAuthorizedError;
29
+ persistence: FolderPersistenceError;
30
+ validation: FolderValidationError;
31
+ }
32
+ type UseCaseError = ICreateFolderUseCaseErrors[keyof ICreateFolderUseCaseErrors];
33
+ export declare const CreateFolderUseCase: import("@webiny/di").Abstraction<ICreateFolderUseCase>;
34
+ export declare namespace CreateFolderUseCase {
35
+ type Interface = ICreateFolderUseCase;
36
+ type Return = Promise<Result<Folder, UseCaseError>>;
37
+ type Error = UseCaseError;
38
+ }
39
+ export interface FolderBeforeCreatePayload {
40
+ input: CreateFolderParams;
41
+ }
42
+ export interface FolderAfterCreatePayload {
43
+ folder: Folder;
44
+ }
45
+ export declare const FolderBeforeCreateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderBeforeCreatePayload>>>;
46
+ export declare namespace FolderBeforeCreateHandler {
47
+ type Interface = IEventHandler<DomainEvent<FolderBeforeCreatePayload>>;
48
+ type Event = DomainEvent<FolderBeforeCreatePayload>;
49
+ }
50
+ export declare const FolderAfterCreateHandler: import("@webiny/di").Abstraction<IEventHandler<DomainEvent<FolderAfterCreatePayload>>>;
51
+ export declare namespace FolderAfterCreateHandler {
52
+ type Interface = IEventHandler<DomainEvent<FolderAfterCreatePayload>>;
53
+ type Event = DomainEvent<FolderAfterCreatePayload>;
54
+ }
55
+ export {};
@@ -0,0 +1,21 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+
3
+ /**
4
+ * CreateFolder repository interface
5
+ */
6
+
7
+ export const CreateFolderRepository = createAbstraction("CreateFolderRepository");
8
+
9
+ /**
10
+ * CreateFolder use case interface
11
+ */
12
+
13
+ export const CreateFolderUseCase = createAbstraction("CreateFolderUseCase");
14
+
15
+ // Event Payload Types
16
+
17
+ // Event Handler Abstractions
18
+ export const FolderBeforeCreateHandler = createAbstraction("FolderBeforeCreateHandler");
19
+ export const FolderAfterCreateHandler = createAbstraction("FolderAfterCreateHandler");
20
+
21
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CreateFolderRepository","CreateFolderUseCase","FolderBeforeCreateHandler","FolderAfterCreateHandler"],"sources":["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\";\nimport type { Folder, CreateFolderParams } from \"~/folder/folder.types.js\";\nimport type {\n FolderNotAuthorizedError,\n FolderPersistenceError,\n FolderValidationError\n} from \"~/domain/folder/errors.js\";\n\n/**\n * CreateFolder repository interface\n */\nexport interface ICreateFolderRepository {\n execute(data: CreateFolderParams): Promise<Result<Folder, RepositoryError>>;\n}\n\nexport interface ICreateFolderRepositoryErrors {\n validation: FolderValidationError;\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = ICreateFolderRepositoryErrors[keyof ICreateFolderRepositoryErrors];\n\nexport const CreateFolderRepository =\n createAbstraction<ICreateFolderRepository>(\"CreateFolderRepository\");\n\nexport namespace CreateFolderRepository {\n export type Interface = ICreateFolderRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * CreateFolder use case interface\n */\nexport interface ICreateFolderUseCase {\n execute(params: CreateFolderParams): Promise<Result<Folder, UseCaseError>>;\n}\n\nexport interface ICreateFolderUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n validation: FolderValidationError;\n}\n\ntype UseCaseError = ICreateFolderUseCaseErrors[keyof ICreateFolderUseCaseErrors];\n\nexport const CreateFolderUseCase = createAbstraction<ICreateFolderUseCase>(\"CreateFolderUseCase\");\n\nexport namespace CreateFolderUseCase {\n export type Interface = ICreateFolderUseCase;\n export type Return = Promise<Result<Folder, UseCaseError>>;\n export type Error = UseCaseError;\n}\n\n// Event Payload Types\nexport interface FolderBeforeCreatePayload {\n input: CreateFolderParams;\n}\n\nexport interface FolderAfterCreatePayload {\n folder: Folder;\n}\n\n// Event Handler Abstractions\nexport const FolderBeforeCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderBeforeCreatePayload>>\n>(\"FolderBeforeCreateHandler\");\n\nexport namespace FolderBeforeCreateHandler {\n export type Interface = IEventHandler<DomainEvent<FolderBeforeCreatePayload>>;\n export type Event = DomainEvent<FolderBeforeCreatePayload>;\n}\n\nexport const FolderAfterCreateHandler = createAbstraction<\n IEventHandler<DomainEvent<FolderAfterCreatePayload>>\n>(\"FolderAfterCreateHandler\");\n\nexport namespace FolderAfterCreateHandler {\n export type Interface = IEventHandler<DomainEvent<FolderAfterCreatePayload>>;\n export type Event = DomainEvent<FolderAfterCreatePayload>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAUvD;AACA;AACA;;AAYA,OAAO,MAAMC,sBAAsB,GAC/BD,iBAAiB,CAA0B,wBAAwB,CAAC;;AAOxE;AACA;AACA;;AAaA,OAAO,MAAME,mBAAmB,GAAGF,iBAAiB,CAAuB,qBAAqB,CAAC;;AAQjG;;AASA;AACA,OAAO,MAAMG,yBAAyB,GAAGH,iBAAiB,CAExD,2BAA2B,CAAC;AAO9B,OAAO,MAAMI,wBAAwB,GAAGJ,iBAAiB,CAEvD,0BAA0B,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { FolderLevelPermissions } from "../../../../features/flp/FolderLevelPermissions/index.js";
2
+ import { CreateFolderUseCase } from "../abstractions.js";
3
+ import type { CreateFolderParams } from "../../../../folder/folder.types.js";
4
+ declare class CreateFolderWithFolderLevelPermissionsImpl implements CreateFolderUseCase.Interface {
5
+ private folderLevelPermissions;
6
+ private readonly decoretee;
7
+ constructor(folderLevelPermissions: FolderLevelPermissions.Interface, decoretee: CreateFolderUseCase.Interface);
8
+ execute(params: CreateFolderParams): CreateFolderUseCase.Return;
9
+ }
10
+ export declare const CreateFolderWithFolderLevelPermissions: typeof CreateFolderWithFolderLevelPermissionsImpl;
11
+ export {};
@@ -0,0 +1,44 @@
1
+ import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
2
+ import { CreateFolderUseCase } from "../abstractions.js";
3
+ import { createDecorator, Result } from "@webiny/feature/api";
4
+ import { FolderNotAuthorizedError } from "../../../../domain/folder/errors.js";
5
+ class CreateFolderWithFolderLevelPermissionsImpl {
6
+ constructor(folderLevelPermissions, decoretee) {
7
+ this.folderLevelPermissions = folderLevelPermissions;
8
+ this.decoretee = decoretee;
9
+ }
10
+ async execute(params) {
11
+ let canCreateFolder;
12
+ if (params.parentId) {
13
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
14
+ canCreateFolder = await this.folderLevelPermissions.canAccessFolder({
15
+ permissions,
16
+ rwd: "w"
17
+ });
18
+ } else {
19
+ canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();
20
+ }
21
+ if (!canCreateFolder) {
22
+ return Result.fail(new FolderNotAuthorizedError());
23
+ }
24
+ const result = await this.decoretee.execute(params);
25
+ if (result.isFail()) {
26
+ return Result.fail(result.error);
27
+ }
28
+ const folder = result.value;
29
+
30
+ // Let's set default permissions based on the current user.
31
+ const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(folder?.permissions ?? []);
32
+ return Result.ok({
33
+ ...folder,
34
+ permissions: permissionsWithDefaults
35
+ });
36
+ }
37
+ }
38
+ export const CreateFolderWithFolderLevelPermissions = createDecorator({
39
+ abstraction: CreateFolderUseCase,
40
+ decorator: CreateFolderWithFolderLevelPermissionsImpl,
41
+ dependencies: [FolderLevelPermissions]
42
+ });
43
+
44
+ //# sourceMappingURL=CreateFolderWithFolderLevelPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FolderLevelPermissions","CreateFolderUseCase","createDecorator","Result","FolderNotAuthorizedError","CreateFolderWithFolderLevelPermissionsImpl","constructor","folderLevelPermissions","decoretee","execute","params","canCreateFolder","parentId","permissions","getFolderLevelPermissions","canAccessFolder","rwd","canCreateFolderInRoot","fail","result","isFail","error","folder","value","permissionsWithDefaults","getDefaultPermissions","ok","CreateFolderWithFolderLevelPermissions","abstraction","decorator","dependencies"],"sources":["CreateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { CreateFolderUseCase } from \"../abstractions.js\";\nimport type { CreateFolderParams } from \"~/folder/folder.types.js\";\nimport { createDecorator, Result } from \"@webiny/feature/api\";\nimport { FolderNotAuthorizedError } from \"~/domain/folder/errors.js\";\n\nclass CreateFolderWithFolderLevelPermissionsImpl implements CreateFolderUseCase.Interface {\n private folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly decoretee: CreateFolderUseCase.Interface;\n\n constructor(\n folderLevelPermissions: FolderLevelPermissions.Interface,\n decoretee: CreateFolderUseCase.Interface\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(params: CreateFolderParams): CreateFolderUseCase.Return {\n let canCreateFolder: boolean;\n if (params.parentId) {\n const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n params.parentId\n );\n canCreateFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n } else {\n canCreateFolder = this.folderLevelPermissions.canCreateFolderInRoot();\n }\n\n if (!canCreateFolder) {\n return Result.fail(new FolderNotAuthorizedError());\n }\n\n const result = await this.decoretee.execute(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const folder = result.value;\n\n // Let's set default permissions based on the current user.\n const permissionsWithDefaults = await this.folderLevelPermissions.getDefaultPermissions(\n folder?.permissions ?? []\n );\n\n return Result.ok({\n ...folder,\n permissions: permissionsWithDefaults\n });\n }\n}\n\nexport const CreateFolderWithFolderLevelPermissions = createDecorator({\n abstraction: CreateFolderUseCase,\n decorator: CreateFolderWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,mBAAmB;AAE5B,SAASC,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAC7D,SAASC,wBAAwB;AAEjC,MAAMC,0CAA0C,CAA0C;EAItFC,WAAWA,CACPC,sBAAwD,EACxDC,SAAwC,EAC1C;IACE,IAAI,CAACD,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,MAA0B,EAA8B;IAClE,IAAIC,eAAwB;IAC5B,IAAID,MAAM,CAACE,QAAQ,EAAE;MACjB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACN,sBAAsB,CAACO,yBAAyB,CAC3EJ,MAAM,CAACE,QACX,CAAC;MACDD,eAAe,GAAG,MAAM,IAAI,CAACJ,sBAAsB,CAACQ,eAAe,CAAC;QAChEF,WAAW;QACXG,GAAG,EAAE;MACT,CAAC,CAAC;IACN,CAAC,MAAM;MACHL,eAAe,GAAG,IAAI,CAACJ,sBAAsB,CAACU,qBAAqB,CAAC,CAAC;IACzE;IAEA,IAAI,CAACN,eAAe,EAAE;MAClB,OAAOR,MAAM,CAACe,IAAI,CAAC,IAAId,wBAAwB,CAAC,CAAC,CAAC;IACtD;IAEA,MAAMe,MAAM,GAAG,MAAM,IAAI,CAACX,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IAEnD,IAAIS,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOjB,MAAM,CAACe,IAAI,CAACC,MAAM,CAACE,KAAK,CAAC;IACpC;IAEA,MAAMC,MAAM,GAAGH,MAAM,CAACI,KAAK;;IAE3B;IACA,MAAMC,uBAAuB,GAAG,MAAM,IAAI,CAACjB,sBAAsB,CAACkB,qBAAqB,CACnFH,MAAM,EAAET,WAAW,IAAI,EAC3B,CAAC;IAED,OAAOV,MAAM,CAACuB,EAAE,CAAC;MACb,GAAGJ,MAAM;MACTT,WAAW,EAAEW;IACjB,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMG,sCAAsC,GAAGzB,eAAe,CAAC;EAClE0B,WAAW,EAAE3B,mBAAmB;EAChC4B,SAAS,EAAExB,0CAA0C;EACrDyB,YAAY,EAAE,CAAC9B,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import type { FolderBeforeCreatePayload, FolderAfterCreatePayload } from "./abstractions.js";
3
+ export declare class FolderBeforeCreateEvent extends DomainEvent<FolderBeforeCreatePayload> {
4
+ eventType: "folder.beforeCreate";
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<FolderBeforeCreatePayload>>>;
6
+ }
7
+ export declare class FolderAfterCreateEvent extends DomainEvent<FolderAfterCreatePayload> {
8
+ eventType: "folder.afterCreate";
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<FolderAfterCreatePayload>>>;
10
+ }
@@ -0,0 +1,19 @@
1
+ import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { FolderBeforeCreateHandler, FolderAfterCreateHandler } from "./abstractions.js";
3
+ // FolderBeforeCreate Event
4
+ export class FolderBeforeCreateEvent extends DomainEvent {
5
+ eventType = "folder.beforeCreate";
6
+ getHandlerAbstraction() {
7
+ return FolderBeforeCreateHandler;
8
+ }
9
+ }
10
+
11
+ // FolderAfterCreate Event
12
+ export class FolderAfterCreateEvent extends DomainEvent {
13
+ eventType = "folder.afterCreate";
14
+ getHandlerAbstraction() {
15
+ return FolderAfterCreateHandler;
16
+ }
17
+ }
18
+
19
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DomainEvent","FolderBeforeCreateHandler","FolderAfterCreateHandler","FolderBeforeCreateEvent","eventType","getHandlerAbstraction","FolderAfterCreateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { FolderBeforeCreateHandler, FolderAfterCreateHandler } from \"./abstractions.js\";\nimport type { FolderBeforeCreatePayload, FolderAfterCreatePayload } from \"./abstractions.js\";\n\n// FolderBeforeCreate Event\nexport class FolderBeforeCreateEvent extends DomainEvent<FolderBeforeCreatePayload> {\n eventType = \"folder.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return FolderBeforeCreateHandler;\n }\n}\n\n// FolderAfterCreate Event\nexport class FolderAfterCreateEvent extends DomainEvent<FolderAfterCreatePayload> {\n eventType = \"folder.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterCreateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,yBAAyB,EAAEC,wBAAwB;AAG5D;AACA,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;;AAEA;AACA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const CreateFolderFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
@@ -0,0 +1,14 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { CreateFolderRepository } from "./CreateFolderRepository.js";
3
+ import { CreateFolderUseCase } from "./CreateFolderUseCase.js";
4
+ import { CreateFolderWithFolderLevelPermissions } from "./decorators/CreateFolderWithFolderLevelPermissions.js";
5
+ export const CreateFolderFeature = createFeature({
6
+ name: "CreateFolder",
7
+ register(container) {
8
+ container.register(CreateFolderRepository).inSingletonScope();
9
+ container.register(CreateFolderUseCase);
10
+ container.registerDecorator(CreateFolderWithFolderLevelPermissions);
11
+ }
12
+ });
13
+
14
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","CreateFolderRepository","CreateFolderUseCase","CreateFolderWithFolderLevelPermissions","CreateFolderFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { CreateFolderRepository } from \"./CreateFolderRepository.js\";\nimport { CreateFolderUseCase } from \"./CreateFolderUseCase.js\";\nimport { CreateFolderWithFolderLevelPermissions } from \"./decorators/CreateFolderWithFolderLevelPermissions.js\";\n\nexport const CreateFolderFeature = createFeature({\n name: \"CreateFolder\",\n register(container: Container) {\n container.register(CreateFolderRepository).inSingletonScope();\n container.register(CreateFolderUseCase);\n container.registerDecorator(CreateFolderWithFolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,sCAAsC;AAE/C,OAAO,MAAMC,mBAAmB,GAAGJ,aAAa,CAAC;EAC7CK,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,sBAAsB,CAAC,CAACO,gBAAgB,CAAC,CAAC;IAC7DD,SAAS,CAACD,QAAQ,CAACJ,mBAAmB,CAAC;IACvCK,SAAS,CAACE,iBAAiB,CAACN,sCAAsC,CAAC;EACvE;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { CreateFolderFeature } from "./feature.js";
2
+ export { FolderAfterCreateHandler, FolderBeforeCreateHandler, CreateFolderUseCase } from "./abstractions.js";
@@ -0,0 +1,4 @@
1
+ export { CreateFolderFeature } from "./feature.js";
2
+ export { FolderAfterCreateHandler, FolderBeforeCreateHandler, CreateFolderUseCase } from "./abstractions.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CreateFolderFeature","FolderAfterCreateHandler","FolderBeforeCreateHandler","CreateFolderUseCase"],"sources":["index.ts"],"sourcesContent":["export { CreateFolderFeature } from \"./feature.js\";\nexport {\n FolderAfterCreateHandler,\n FolderBeforeCreateHandler,\n CreateFolderUseCase\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,mBAAmB;AAC5B,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,mBAAmB","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { DeleteFolderRepository as RepositoryAbstraction, type IDeleteFolderRepository } from "./abstractions.js";
3
+ import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
4
+ import { FolderModel } from "../../../domain/folder/abstractions.js";
5
+ import type { Folder } from "../../../folder/folder.types.js";
6
+ declare class DeleteFolderRepositoryImpl implements IDeleteFolderRepository {
7
+ private deleteEntry;
8
+ private folderModel;
9
+ constructor(deleteEntry: DeleteEntryUseCase.Interface, folderModel: FolderModel.Interface);
10
+ execute(folder: Folder): Promise<Result<void, RepositoryAbstraction.Error>>;
11
+ }
12
+ export declare const DeleteFolderRepository: typeof DeleteFolderRepositoryImpl & {
13
+ __abstraction: import("@webiny/di").Abstraction<IDeleteFolderRepository>;
14
+ };
15
+ export {};
@@ -0,0 +1,30 @@
1
+ import { Result } from "@webiny/feature/api";
2
+ import { DeleteFolderRepository as RepositoryAbstraction } from "./abstractions.js";
3
+ import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry";
4
+ import { FolderModel } from "../../../domain/folder/abstractions.js";
5
+ import { FolderNotAuthorizedError, FolderPersistenceError } from "../../../domain/folder/errors.js";
6
+ class DeleteFolderRepositoryImpl {
7
+ constructor(deleteEntry, folderModel) {
8
+ this.deleteEntry = deleteEntry;
9
+ this.folderModel = folderModel;
10
+ }
11
+ async execute(folder) {
12
+ const result = await this.deleteEntry.execute(this.folderModel, folder.id, {
13
+ permanently: true,
14
+ force: true
15
+ });
16
+ if (result.isFail()) {
17
+ if (result.error.code === "Cms/Entry/NotAuthorized") {
18
+ return Result.fail(new FolderNotAuthorizedError());
19
+ }
20
+ return Result.fail(new FolderPersistenceError(result.error));
21
+ }
22
+ return Result.ok();
23
+ }
24
+ }
25
+ export const DeleteFolderRepository = RepositoryAbstraction.createImplementation({
26
+ implementation: DeleteFolderRepositoryImpl,
27
+ dependencies: [DeleteEntryUseCase, FolderModel]
28
+ });
29
+
30
+ //# sourceMappingURL=DeleteFolderRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Result","DeleteFolderRepository","RepositoryAbstraction","DeleteEntryUseCase","FolderModel","FolderNotAuthorizedError","FolderPersistenceError","DeleteFolderRepositoryImpl","constructor","deleteEntry","folderModel","execute","folder","result","id","permanently","force","isFail","error","code","fail","ok","createImplementation","implementation","dependencies"],"sources":["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 { FolderModel } 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 folderModel: FolderModel.Interface\n ) {}\n\n async execute(folder: Folder): Promise<Result<void, RepositoryAbstraction.Error>> {\n const result = await this.deleteEntry.execute(this.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, FolderModel]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SACIC,sBAAsB,IAAIC,qBAAqB;AAGnD,SAASC,kBAAkB,QAAQ,4DAA4D;AAC/F,SAASC,WAAW;AAEpB,SAASC,wBAAwB,EAAEC,sBAAsB;AAEzD,MAAMC,0BAA0B,CAAoC;EAChEC,WAAWA,CACCC,WAAyC,EACzCC,WAAkC,EAC5C;IAAA,KAFUD,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,WAAkC,GAAlCA,WAAkC;EAC3C;EAEH,MAAMC,OAAOA,CAACC,MAAc,EAAsD;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,WAAW,CAACE,OAAO,CAAC,IAAI,CAACD,WAAW,EAAEE,MAAM,CAACE,EAAE,EAAE;MACvEC,WAAW,EAAE,IAAI;MACjBC,KAAK,EAAE;IACX,CAAC,CAAC;IAEF,IAAIH,MAAM,CAACI,MAAM,CAAC,CAAC,EAAE;MACjB,IAAIJ,MAAM,CAACK,KAAK,CAACC,IAAI,KAAK,yBAAyB,EAAE;QACjD,OAAOnB,MAAM,CAACoB,IAAI,CAAC,IAAIf,wBAAwB,CAAC,CAAC,CAAC;MACtD;MACA,OAAOL,MAAM,CAACoB,IAAI,CAAC,IAAId,sBAAsB,CAACO,MAAM,CAACK,KAAK,CAAC,CAAC;IAChE;IAEA,OAAOlB,MAAM,CAACqB,EAAE,CAAC,CAAC;EACtB;AACJ;AAEA,OAAO,MAAMpB,sBAAsB,GAAGC,qBAAqB,CAACoB,oBAAoB,CAAC;EAC7EC,cAAc,EAAEhB,0BAA0B;EAC1CiB,YAAY,EAAE,CAACrB,kBAAkB,EAAEC,WAAW;AAClD,CAAC,CAAC","ignoreList":[]}