@webiny/api-aco 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.e9333b3f0b

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 (471) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +132 -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/constants.js +2 -1
  8. package/constants.js.map +1 -1
  9. package/createAcoGraphQL.d.ts +8 -4
  10. package/createAcoGraphQL.js +56 -97
  11. package/createAcoGraphQL.js.map +1 -1
  12. package/domain/folder/abstractions.d.ts +12 -5
  13. package/domain/folder/abstractions.js +2 -5
  14. package/domain/folder/abstractions.js.map +1 -1
  15. package/domain/folder/errors.js +42 -47
  16. package/domain/folder/errors.js.map +1 -1
  17. package/domain/folder/folder.model.js +53 -36
  18. package/domain/folder/folder.model.js.map +1 -1
  19. package/exports/api/aco/flp.d.ts +1 -0
  20. package/exports/api/aco/flp.js +1 -2
  21. package/exports/api/aco/folder.d.ts +2 -1
  22. package/exports/api/aco/folder.js +5 -7
  23. package/features/ai/CreateFolderTool.d.ts +51 -0
  24. package/features/ai/CreateFolderTool.js +65 -0
  25. package/features/ai/CreateFolderTool.js.map +1 -0
  26. package/features/ai/CreateTeamTool.d.ts +48 -0
  27. package/features/ai/CreateTeamTool.js +56 -0
  28. package/features/ai/CreateTeamTool.js.map +1 -0
  29. package/features/ai/DeleteFolderTool.d.ts +50 -0
  30. package/features/ai/DeleteFolderTool.js +62 -0
  31. package/features/ai/DeleteFolderTool.js.map +1 -0
  32. package/features/ai/GrantFolderAccessTool.d.ts +79 -0
  33. package/features/ai/GrantFolderAccessTool.js +87 -0
  34. package/features/ai/GrantFolderAccessTool.js.map +1 -0
  35. package/features/ai/ListFoldersTool.d.ts +47 -0
  36. package/features/ai/ListFoldersTool.js +57 -0
  37. package/features/ai/ListFoldersTool.js.map +1 -0
  38. package/features/ai/ListRolesTool.d.ts +39 -0
  39. package/features/ai/ListRolesTool.js +48 -0
  40. package/features/ai/ListRolesTool.js.map +1 -0
  41. package/features/ai/ListTeamsTool.d.ts +39 -0
  42. package/features/ai/ListTeamsTool.js +48 -0
  43. package/features/ai/ListTeamsTool.js.map +1 -0
  44. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
  45. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js +37 -0
  46. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
  47. package/features/ai/NotifyFolderChange/abstractions.d.ts +20 -0
  48. package/features/ai/NotifyFolderChange/abstractions.js +8 -0
  49. package/features/ai/NotifyFolderChange/abstractions.js.map +1 -0
  50. package/features/ai/NotifyFolderChange/index.d.ts +1 -0
  51. package/features/ai/NotifyFolderChange/index.js +1 -0
  52. package/features/ai/RevokeFolderAccessTool.d.ts +65 -0
  53. package/features/ai/RevokeFolderAccessTool.js +76 -0
  54. package/features/ai/RevokeFolderAccessTool.js.map +1 -0
  55. package/features/ai/assertTargetIsUsable.d.ts +10 -0
  56. package/features/ai/assertTargetIsUsable.js +14 -0
  57. package/features/ai/assertTargetIsUsable.js.map +1 -0
  58. package/features/ai/feature.d.ts +12 -0
  59. package/features/ai/feature.js +27 -0
  60. package/features/ai/feature.js.map +1 -0
  61. package/features/ai/index.d.ts +9 -0
  62. package/features/ai/index.js +9 -0
  63. package/features/ai/loadFolderPermissions.d.ts +16 -0
  64. package/features/ai/loadFolderPermissions.js +14 -0
  65. package/features/ai/loadFolderPermissions.js.map +1 -0
  66. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  67. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  68. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  69. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  70. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  71. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  72. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  73. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  74. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  75. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  76. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  77. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  78. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  79. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  80. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  81. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  82. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +28 -28
  83. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  84. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +28 -27
  85. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  86. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +28 -28
  87. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  88. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +28 -28
  89. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  90. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +1 -1
  91. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  92. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  93. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  94. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  95. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  96. package/features/cms/feature.js +19 -25
  97. package/features/cms/feature.js.map +1 -1
  98. package/features/cms/index.js +0 -2
  99. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +3 -3
  100. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  101. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  102. package/features/flp/CreateFlp/abstractions.js +2 -5
  103. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  104. package/features/flp/CreateFlp/feature.d.ts +1 -6
  105. package/features/flp/CreateFlp/feature.js +8 -8
  106. package/features/flp/CreateFlp/feature.js.map +1 -1
  107. package/features/flp/CreateFlp/index.js +0 -2
  108. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +27 -27
  109. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  110. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  111. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  112. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  113. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +3 -3
  114. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  115. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  116. package/features/flp/DeleteFlp/abstractions.js +2 -5
  117. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  118. package/features/flp/DeleteFlp/feature.d.ts +1 -6
  119. package/features/flp/DeleteFlp/feature.js +8 -8
  120. package/features/flp/DeleteFlp/feature.js.map +1 -1
  121. package/features/flp/DeleteFlp/index.js +0 -2
  122. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +27 -27
  123. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  124. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  125. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  126. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  127. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  128. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +88 -109
  129. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  130. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  131. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  132. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  133. package/features/flp/FolderLevelPermissions/abstractions.js +2 -2
  134. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  135. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  136. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  137. package/features/flp/FolderLevelPermissions/index.d.ts +1 -0
  138. package/features/flp/FolderLevelPermissions/index.js +1 -2
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  146. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  147. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  148. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  149. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  150. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  151. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  152. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  153. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  154. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  155. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  156. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  157. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  158. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  159. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  160. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  161. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  162. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  163. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  164. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  165. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  166. package/features/flp/GetFlp/abstractions.js +2 -2
  167. package/features/flp/GetFlp/abstractions.js.map +1 -1
  168. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
  169. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
  170. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
  171. package/features/flp/GetFlp/feature.d.ts +1 -1
  172. package/features/flp/GetFlp/feature.js +8 -8
  173. package/features/flp/GetFlp/feature.js.map +1 -1
  174. package/features/flp/GetFlp/index.js +0 -2
  175. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  176. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  177. package/features/flp/ListFlps/abstractions.js +2 -2
  178. package/features/flp/ListFlps/abstractions.js.map +1 -1
  179. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
  180. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
  181. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
  182. package/features/flp/ListFlps/feature.d.ts +1 -1
  183. package/features/flp/ListFlps/feature.js +8 -8
  184. package/features/flp/ListFlps/feature.js.map +1 -1
  185. package/features/flp/ListFlps/index.js +0 -2
  186. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +15 -8
  187. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +130 -186
  188. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  189. package/features/flp/UpdateFlp/abstractions.d.ts +6 -2
  190. package/features/flp/UpdateFlp/abstractions.js +2 -5
  191. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  192. package/features/flp/UpdateFlp/feature.d.ts +1 -6
  193. package/features/flp/UpdateFlp/feature.js +12 -8
  194. package/features/flp/UpdateFlp/feature.js.map +1 -1
  195. package/features/flp/UpdateFlp/index.js +0 -2
  196. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +29 -29
  197. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  198. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  199. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  200. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  201. package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
  202. package/features/flp/shared/CodeFlpMerger.js +20 -0
  203. package/features/flp/shared/CodeFlpMerger.js.map +1 -0
  204. package/features/flp/shared/CodeFlpPath.d.ts +15 -0
  205. package/features/flp/shared/CodeFlpPath.js +29 -0
  206. package/features/flp/shared/CodeFlpPath.js.map +1 -0
  207. package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
  208. package/features/flp/shared/CodeFlpTarget.js +26 -0
  209. package/features/flp/shared/CodeFlpTarget.js.map +1 -0
  210. package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
  211. package/features/flp/shared/CodeFlpsProvider.js +33 -0
  212. package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
  213. package/features/flp/shared/abstractions.d.ts +77 -0
  214. package/features/flp/shared/abstractions.js +19 -0
  215. package/features/flp/shared/abstractions.js.map +1 -0
  216. package/features/flp/shared/feature.d.ts +5 -0
  217. package/features/flp/shared/feature.js +17 -0
  218. package/features/flp/shared/feature.js.map +1 -0
  219. package/features/flp/shared/index.d.ts +4 -0
  220. package/features/flp/shared/index.js +4 -0
  221. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +3 -3
  222. package/features/folder/CreateFolder/CreateFolderRepository.js +71 -91
  223. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  224. package/features/folder/CreateFolder/CreateFolderUseCase.js +27 -30
  225. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  226. package/features/folder/CreateFolder/abstractions.js +5 -22
  227. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  228. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +9 -1
  229. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +45 -33
  230. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  231. package/features/folder/CreateFolder/events.js +16 -14
  232. package/features/folder/CreateFolder/events.js.map +1 -1
  233. package/features/folder/CreateFolder/feature.js +8 -7
  234. package/features/folder/CreateFolder/feature.js.map +1 -1
  235. package/features/folder/CreateFolder/index.js +1 -3
  236. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +3 -3
  237. package/features/folder/DeleteFolder/DeleteFolderRepository.js +24 -21
  238. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  239. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +35 -43
  240. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  241. package/features/folder/DeleteFolder/abstractions.js +5 -22
  242. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  243. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +1 -1
  244. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  245. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  246. package/features/folder/DeleteFolder/events.js +16 -14
  247. package/features/folder/DeleteFolder/events.js.map +1 -1
  248. package/features/folder/DeleteFolder/feature.js +8 -7
  249. package/features/folder/DeleteFolder/feature.js.map +1 -1
  250. package/features/folder/DeleteFolder/index.js +1 -3
  251. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +47 -44
  252. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  253. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -2
  254. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  255. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  256. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  257. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  258. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +16 -20
  259. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  260. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  261. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  262. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  263. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +40 -44
  264. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  265. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  266. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  267. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  268. package/features/folder/FolderModelProvider.d.ts +26 -0
  269. package/features/folder/FolderModelProvider.js +22 -0
  270. package/features/folder/FolderModelProvider.js.map +1 -0
  271. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +3 -3
  272. package/features/folder/GetAncestors/GetAncestorsRepository.js +47 -76
  273. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  274. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  275. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  276. package/features/folder/GetAncestors/abstractions.js +3 -14
  277. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  278. package/features/folder/GetAncestors/feature.js +7 -6
  279. package/features/folder/GetAncestors/feature.js.map +1 -1
  280. package/features/folder/GetAncestors/index.js +0 -2
  281. package/features/folder/GetFolder/GetFolderRepository.d.ts +3 -3
  282. package/features/folder/GetFolder/GetFolderRepository.js +23 -20
  283. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  284. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  285. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  286. package/features/folder/GetFolder/abstractions.js +5 -21
  287. package/features/folder/GetFolder/abstractions.js.map +1 -1
  288. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +8 -8
  289. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  290. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  291. package/features/folder/GetFolder/feature.js +8 -7
  292. package/features/folder/GetFolder/feature.js.map +1 -1
  293. package/features/folder/GetFolder/index.js +0 -2
  294. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
  295. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +70 -87
  296. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  297. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  298. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  299. package/features/folder/GetFolderHierarchy/abstractions.js +3 -14
  300. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  301. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  302. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  303. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  304. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  305. package/features/folder/GetFolderHierarchy/index.js +0 -2
  306. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +65 -58
  307. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  308. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -5
  309. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  310. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  311. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  312. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  313. package/features/folder/ListFolders/ListFoldersRepository.d.ts +3 -3
  314. package/features/folder/ListFolders/ListFoldersRepository.js +41 -42
  315. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  316. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  317. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  318. package/features/folder/ListFolders/abstractions.js +3 -14
  319. package/features/folder/ListFolders/abstractions.js.map +1 -1
  320. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  321. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  322. package/features/folder/ListFolders/feature.js +8 -7
  323. package/features/folder/ListFolders/feature.js.map +1 -1
  324. package/features/folder/ListFolders/index.js +0 -2
  325. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +3 -3
  326. package/features/folder/UpdateFolder/UpdateFolderRepository.js +70 -93
  327. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  328. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +38 -45
  329. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  330. package/features/folder/UpdateFolder/abstractions.js +5 -22
  331. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  332. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +14 -1
  333. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +91 -62
  334. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  335. package/features/folder/UpdateFolder/events.js +16 -14
  336. package/features/folder/UpdateFolder/events.js.map +1 -1
  337. package/features/folder/UpdateFolder/feature.js +8 -7
  338. package/features/folder/UpdateFolder/feature.js.map +1 -1
  339. package/features/folder/UpdateFolder/index.js +0 -2
  340. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  341. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  342. package/features/folder/shared/abstractions.d.ts +14 -0
  343. package/features/folder/shared/abstractions.js +5 -2
  344. package/features/folder/shared/abstractions.js.map +1 -1
  345. package/filter/filter.crud.js +28 -31
  346. package/filter/filter.crud.js.map +1 -1
  347. package/filter/filter.gql.d.ts +2 -3
  348. package/filter/filter.gql.js +72 -54
  349. package/filter/filter.gql.js.map +1 -1
  350. package/filter/filter.model.js +45 -35
  351. package/filter/filter.model.js.map +1 -1
  352. package/filter/filter.so.d.ts +8 -2
  353. package/filter/filter.so.js +85 -93
  354. package/filter/filter.so.js.map +1 -1
  355. package/filter/filter.types.js +5 -4
  356. package/filter/filter.types.js.map +1 -1
  357. package/flp/flp.crud.js +69 -86
  358. package/flp/flp.crud.js.map +1 -1
  359. package/flp/flp.types.d.ts +2 -1
  360. package/flp/flp.types.js +0 -3
  361. package/flp/index.d.ts +0 -1
  362. package/flp/index.js +0 -3
  363. package/flp/tasks/createFlp.task.d.ts +14 -8
  364. package/flp/tasks/createFlp.task.js +37 -28
  365. package/flp/tasks/createFlp.task.js.map +1 -1
  366. package/flp/tasks/deleteFlp.task.d.ts +14 -8
  367. package/flp/tasks/deleteFlp.task.js +37 -28
  368. package/flp/tasks/deleteFlp.task.js.map +1 -1
  369. package/flp/tasks/index.d.ts +0 -1
  370. package/flp/tasks/index.js +5 -17
  371. package/flp/tasks/index.js.map +1 -1
  372. package/flp/tasks/syncFlp.task.d.ts +14 -8
  373. package/flp/tasks/syncFlp.task.js +107 -114
  374. package/flp/tasks/syncFlp.task.js.map +1 -1
  375. package/flp/tasks/updateFlp.task.d.ts +14 -8
  376. package/flp/tasks/updateFlp.task.js +48 -33
  377. package/flp/tasks/updateFlp.task.js.map +1 -1
  378. package/folder/createFolderModelModifier.js +50 -50
  379. package/folder/createFolderModelModifier.js.map +1 -1
  380. package/folder/createFolderTypeDefs.js +43 -51
  381. package/folder/createFolderTypeDefs.js.map +1 -1
  382. package/folder/folder.gql.d.ts +1 -1
  383. package/folder/folder.gql.js +109 -136
  384. package/folder/folder.gql.js.map +1 -1
  385. package/folder/folder.types.js +0 -3
  386. package/index.d.ts +1 -6
  387. package/index.js +2 -9
  388. package/package.json +30 -29
  389. package/types.d.ts +1 -1
  390. package/types.js +5 -4
  391. package/types.js.map +1 -1
  392. package/utils/FoldersCacheFactory.js +20 -19
  393. package/utils/FoldersCacheFactory.js.map +1 -1
  394. package/utils/ListCache.js +20 -19
  395. package/utils/ListCache.js.map +1 -1
  396. package/utils/Path.js +5 -6
  397. package/utils/Path.js.map +1 -1
  398. package/utils/compress.js +8 -7
  399. package/utils/compress.js.map +1 -1
  400. package/utils/createListSort.js +4 -7
  401. package/utils/createListSort.js.map +1 -1
  402. package/utils/createOperationsWrapper.d.ts +5 -2
  403. package/utils/createOperationsWrapper.js +12 -19
  404. package/utils/createOperationsWrapper.js.map +1 -1
  405. package/utils/decorators/CmsEntriesCrudDecorators.js +169 -196
  406. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  407. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  408. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  409. package/utils/decorators/ListEntriesFactory.js +65 -98
  410. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  411. package/utils/decorators/hasRootFolderId.js +6 -12
  412. package/utils/decorators/hasRootFolderId.js.map +1 -1
  413. package/utils/decorators/isPageModel.js +5 -10
  414. package/utils/decorators/isPageModel.js.map +1 -1
  415. package/utils/ensureAuthentication.js +6 -7
  416. package/utils/ensureAuthentication.js.map +1 -1
  417. package/utils/pickEntryFieldValues.js +24 -18
  418. package/utils/pickEntryFieldValues.js.map +1 -1
  419. package/utils/resolve.d.ts +2 -2
  420. package/utils/resolve.js +8 -7
  421. package/utils/resolve.js.map +1 -1
  422. package/createAcoContext.d.ts +0 -9
  423. package/createAcoContext.js +0 -137
  424. package/createAcoContext.js.map +0 -1
  425. package/createAcoStorageOperations.d.ts +0 -12
  426. package/createAcoStorageOperations.js +0 -10
  427. package/createAcoStorageOperations.js.map +0 -1
  428. package/createAcoTasks.d.ts +0 -1
  429. package/createAcoTasks.js +0 -15
  430. package/createAcoTasks.js.map +0 -1
  431. package/exports/api/aco/flp.js.map +0 -1
  432. package/exports/api/aco/folder.js.map +0 -1
  433. package/features/cms/index.js.map +0 -1
  434. package/features/flp/CreateFlp/index.js.map +0 -1
  435. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  436. package/features/flp/DeleteFlp/index.js.map +0 -1
  437. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  438. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  439. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  440. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  441. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  442. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  443. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  444. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  445. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  446. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  447. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  448. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  449. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  450. package/features/flp/GetFlp/index.js.map +0 -1
  451. package/features/flp/ListFlps/index.js.map +0 -1
  452. package/features/flp/UpdateFlp/index.js.map +0 -1
  453. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  454. package/features/folder/CreateFolder/index.js.map +0 -1
  455. package/features/folder/DeleteFolder/index.js.map +0 -1
  456. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  457. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  458. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  459. package/features/folder/GetAncestors/index.js.map +0 -1
  460. package/features/folder/GetFolder/index.js.map +0 -1
  461. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  462. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  463. package/features/folder/ListFolders/index.js.map +0 -1
  464. package/features/folder/UpdateFolder/index.js.map +0 -1
  465. package/flp/flp.so.d.ts +0 -20
  466. package/flp/flp.so.js +0 -220
  467. package/flp/flp.so.js.map +0 -1
  468. package/flp/flp.types.js.map +0 -1
  469. package/flp/index.js.map +0 -1
  470. package/folder/folder.types.js.map +0 -1
  471. package/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["GetFolderHierarchyUseCase","UseCaseAbstraction","GetFolderHierarchyRepository","createImplementation","GetFolderHierarchyUseCaseImpl","constructor","repository","execute","params","abstraction","implementation","dependencies"],"sources":["GetFolderHierarchyUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetFolderHierarchyUseCase as UseCaseAbstraction,\n GetFolderHierarchyRepository\n} from \"./abstractions.js\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport { createImplementation } from \"@webiny/di\";\n\nclass GetFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetFolderHierarchyRepository.Interface) {}\n\n async execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseAbstraction.Error>> {\n return await this.repository.execute(params);\n }\n}\n\nexport const GetFolderHierarchyUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetFolderHierarchyUseCaseImpl,\n dependencies: [GetFolderHierarchyRepository]\n});\n"],"mappings":"AACA,SACIA,yBAAyB,IAAIC,kBAAkB,EAC/CC,4BAA4B;AAMhC,SAASC,oBAAoB,QAAQ,YAAY;AAEjD,MAAMC,6BAA6B,CAAyC;EACxEC,WAAWA,CAASC,UAAkD,EAAE;IAAA,KAApDA,UAAkD,GAAlDA,UAAkD;EAAG;EAEzE,MAAMC,OAAOA,CACTC,MAAgC,EACqC;IACrE,OAAO,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;EAChD;AACJ;AAEA,OAAO,MAAMR,yBAAyB,GAAGG,oBAAoB,CAAC;EAC1DM,WAAW,EAAER,kBAAkB;EAC/BS,cAAc,EAAEN,6BAA6B;EAC7CO,YAAY,EAAE,CAACT,4BAA4B;AAC/C,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js","sources":["../../../../src/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport {\n GetFolderHierarchyUseCase as UseCaseAbstraction,\n GetFolderHierarchyRepository\n} from \"./abstractions.js\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport { createImplementation } from \"@webiny/di\";\n\nclass GetFolderHierarchyUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetFolderHierarchyRepository.Interface) {}\n\n async execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseAbstraction.Error>> {\n return await this.repository.execute(params);\n }\n}\n\nexport const GetFolderHierarchyUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: GetFolderHierarchyUseCaseImpl,\n dependencies: [GetFolderHierarchyRepository]\n});\n"],"names":["GetFolderHierarchyUseCaseImpl","repository","params","GetFolderHierarchyUseCase","createImplementation","UseCaseAbstraction","GetFolderHierarchyRepository"],"mappings":";;AAWA,MAAMA;IACF,YAAoBC,UAAkD,CAAE;aAApDA,UAAU,GAAVA;IAAqD;IAEzE,MAAM,QACFC,MAAgC,EACqC;QACrE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACzC;AACJ;AAEO,MAAMC,sDAA4BC,qBAAqB;IAC1D,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAA6B;AAChD"}
@@ -1,17 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * GetFolderHierarchy repository interface
5
- */
6
-
7
- /** Fetch folder hierarchy from storage. */
8
- export const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
9
-
10
- /**
11
- * GetFolderHierarchy use case interface
12
- */
13
-
14
- /** Retrieve the full folder hierarchy. */
15
- export const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
2
+ const GetFolderHierarchyRepository = createAbstraction("GetFolderHierarchyRepository");
3
+ const GetFolderHierarchyUseCase = createAbstraction("GetFolderHierarchyUseCase");
4
+ export { GetFolderHierarchyRepository, GetFolderHierarchyUseCase };
16
5
 
17
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","GetFolderHierarchyRepository","GetFolderHierarchyUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolderHierarchy repository interface\n */\nexport interface IGetFolderHierarchyRepository {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;\n}\n\nexport interface IGetFolderHierarchyRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError =\n IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];\n\n/** Fetch folder hierarchy from storage. */\nexport const GetFolderHierarchyRepository = createAbstraction<IGetFolderHierarchyRepository>(\n \"GetFolderHierarchyRepository\"\n);\n\nexport namespace GetFolderHierarchyRepository {\n export type Interface = IGetFolderHierarchyRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolderHierarchy use case interface\n */\nexport interface IGetFolderHierarchyUseCase {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n}\n\nexport interface IGetFolderHierarchyUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];\n\n/** Retrieve the full folder hierarchy. */\nexport const GetFolderHierarchyUseCase = createAbstraction<IGetFolderHierarchyUseCase>(\n \"GetFolderHierarchyUseCase\"\n);\n\nexport namespace GetFolderHierarchyUseCase {\n export type Interface = IGetFolderHierarchyUseCase;\n export type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAQvD;AACA;AACA;;AAcA;AACA,OAAO,MAAMC,4BAA4B,GAAGD,iBAAiB,CACzD,8BACJ,CAAC;;AAOD;AACA;AACA;;AAcA;AACA,OAAO,MAAME,yBAAyB,GAAGF,iBAAiB,CACtD,2BACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/GetFolderHierarchy/abstractions.js","sources":["../../../../src/features/folder/GetFolderHierarchy/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type {\n GetFolderHierarchyParams,\n GetFolderHierarchyResponse\n} from \"~/folder/folder.types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\n/**\n * GetFolderHierarchy repository interface\n */\nexport interface IGetFolderHierarchyRepository {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, RepositoryError>>;\n}\n\nexport interface IGetFolderHierarchyRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError =\n IGetFolderHierarchyRepositoryErrors[keyof IGetFolderHierarchyRepositoryErrors];\n\n/** Fetch folder hierarchy from storage. */\nexport const GetFolderHierarchyRepository = createAbstraction<IGetFolderHierarchyRepository>(\n \"GetFolderHierarchyRepository\"\n);\n\nexport namespace GetFolderHierarchyRepository {\n export type Interface = IGetFolderHierarchyRepository;\n export type Error = RepositoryError;\n}\n\n/**\n * GetFolderHierarchy use case interface\n */\nexport interface IGetFolderHierarchyUseCase {\n execute(\n params: GetFolderHierarchyParams\n ): Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n}\n\nexport interface IGetFolderHierarchyUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IGetFolderHierarchyUseCaseErrors[keyof IGetFolderHierarchyUseCaseErrors];\n\n/** Retrieve the full folder hierarchy. */\nexport const GetFolderHierarchyUseCase = createAbstraction<IGetFolderHierarchyUseCase>(\n \"GetFolderHierarchyUseCase\"\n);\n\nexport namespace GetFolderHierarchyUseCase {\n export type Interface = IGetFolderHierarchyUseCase;\n export type Return = Promise<Result<GetFolderHierarchyResponse, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["GetFolderHierarchyRepository","createAbstraction","GetFolderHierarchyUseCase"],"mappings":";AAyBO,MAAMA,+BAA+BC,kBACxC;AAyBG,MAAMC,4BAA4BD,kBACrC"}
@@ -1,64 +1,63 @@
1
- import { createDecorator, Result } from "@webiny/feature/api";
1
+ import { Result, createDecorator } from "@webiny/feature/api";
2
2
  import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
3
3
  import { GetFolderHierarchyUseCase } from "../abstractions.js";
4
4
  class GetFolderHierarchyWithFolderLevelPermissionsImpl {
5
- flpCatalog = new Map();
6
- constructor(folderLevelPermissions, decoratee) {
7
- this.folderLevelPermissions = folderLevelPermissions;
8
- this.decoratee = decoratee;
9
- }
10
- async execute(params) {
11
- const result = await this.decoratee.execute(params);
12
- if (result.isFail()) {
13
- return Result.fail(result.error);
5
+ constructor(folderLevelPermissions, decoratee){
6
+ this.folderLevelPermissions = folderLevelPermissions;
7
+ this.decoratee = decoratee;
8
+ this.flpCatalog = new Map();
9
+ }
10
+ async execute(params) {
11
+ const result = await this.decoratee.execute(params);
12
+ if (result.isFail()) return Result.fail(result.error);
13
+ const { siblings, parents } = result.value;
14
+ const folders = [
15
+ ...parents,
16
+ ...siblings
17
+ ];
18
+ await Promise.all(folders.map(async (folder)=>{
19
+ if (!this.hasFlp(folder.id)) {
20
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
21
+ this.setFlp(folder.id, permissions);
22
+ }
23
+ }));
24
+ return Result.ok({
25
+ parents: await this.filterAccessibleFolders(parents),
26
+ siblings: await this.filterAccessibleFolders(siblings)
27
+ });
28
+ }
29
+ async filterAccessibleFolders(folders) {
30
+ const results = await Promise.all(folders.map(async (folder)=>{
31
+ const permissions = this.getFlp(folder.id);
32
+ if (!permissions) return folder;
33
+ const canAccess = await this.folderLevelPermissions.canAccessFolder({
34
+ permissions,
35
+ rwd: "r"
36
+ });
37
+ return canAccess ? {
38
+ ...folder,
39
+ permissions
40
+ } : null;
41
+ }));
42
+ return results.filter((folder)=>null !== folder);
43
+ }
44
+ hasFlp(id) {
45
+ return this.flpCatalog.has(id);
46
+ }
47
+ getFlp(id) {
48
+ return this.flpCatalog.get(id);
49
+ }
50
+ setFlp(id, permissions) {
51
+ this.flpCatalog.set(id, permissions);
14
52
  }
15
- const {
16
- siblings,
17
- parents
18
- } = result.value;
19
- const folders = [...parents, ...siblings];
20
- await Promise.all(folders.map(async folder => {
21
- if (!this.hasFlp(folder.id)) {
22
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
23
- this.setFlp(folder.id, permissions);
24
- }
25
- }));
26
- return Result.ok({
27
- parents: await this.filterAccessibleFolders(parents),
28
- siblings: await this.filterAccessibleFolders(siblings)
29
- });
30
- }
31
- async filterAccessibleFolders(folders) {
32
- const results = await Promise.all(folders.map(async folder => {
33
- const permissions = this.getFlp(folder.id);
34
- if (!permissions) {
35
- return folder;
36
- }
37
- const canAccess = await this.folderLevelPermissions.canAccessFolder({
38
- permissions,
39
- rwd: "r"
40
- });
41
- return canAccess ? {
42
- ...folder,
43
- permissions
44
- } : null;
45
- }));
46
- return results.filter(folder => folder !== null);
47
- }
48
- hasFlp(id) {
49
- return this.flpCatalog.has(id);
50
- }
51
- getFlp(id) {
52
- return this.flpCatalog.get(id);
53
- }
54
- setFlp(id, permissions) {
55
- this.flpCatalog.set(id, permissions);
56
- }
57
53
  }
58
- export const GetFolderHierarchyWithFolderLevelPermissions = createDecorator({
59
- abstraction: GetFolderHierarchyUseCase,
60
- decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,
61
- dependencies: [FolderLevelPermissions]
54
+ const GetFolderHierarchyWithFolderLevelPermissions = createDecorator({
55
+ abstraction: GetFolderHierarchyUseCase,
56
+ decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,
57
+ dependencies: [
58
+ FolderLevelPermissions
59
+ ]
62
60
  });
61
+ export { GetFolderHierarchyWithFolderLevelPermissions };
63
62
 
64
63
  //# sourceMappingURL=GetFolderHierarchyWithFolderLevelPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","FolderLevelPermissions","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissionsImpl","flpCatalog","Map","constructor","folderLevelPermissions","decoratee","execute","params","result","isFail","fail","error","siblings","parents","value","folders","Promise","all","map","folder","hasFlp","id","permissions","getFolderLevelPermissions","setFlp","ok","filterAccessibleFolders","results","getFlp","canAccess","canAccessFolder","rwd","filter","has","get","set","GetFolderHierarchyWithFolderLevelPermissions","abstraction","decorator","dependencies"],"sources":["GetFolderHierarchyWithFolderLevelPermissions.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { GetFolderHierarchyUseCase } from \"../abstractions.js\";\nimport type { Folder, GetFolderHierarchyParams } from \"~/folder/folder.types.js\";\n\nclass GetFolderHierarchyWithFolderLevelPermissionsImpl\n implements GetFolderHierarchyUseCase.Interface\n{\n private flpCatalog: Map<string, FolderPermission[]> = new Map();\n\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetFolderHierarchyUseCase.Interface\n ) {}\n\n async execute(params: GetFolderHierarchyParams): GetFolderHierarchyUseCase.Return {\n const result = await this.decoratee.execute(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const { siblings, parents } = result.value;\n const folders = [...parents, ...siblings];\n\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 return Result.ok({\n parents: await this.filterAccessibleFolders(parents),\n siblings: await this.filterAccessibleFolders(siblings)\n });\n }\n\n private async filterAccessibleFolders(folders: Folder[]): Promise<Folder[]> {\n const results = await Promise.all(\n folders.map(async folder => {\n const permissions = this.getFlp(folder.id);\n if (!permissions) {\n return folder;\n }\n\n const canAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"r\"\n });\n\n return canAccess ? { ...folder, permissions } : null;\n })\n );\n return results.filter((folder): folder is Folder => folder !== null);\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 GetFolderHierarchyWithFolderLevelPermissions = createDecorator({\n abstraction: GetFolderHierarchyUseCase,\n decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAE7D,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAGlC,MAAMC,gDAAgD,CAEtD;EACYC,UAAU,GAAoC,IAAIC,GAAG,CAAC,CAAC;EAE/DC,WAAWA,CACCC,sBAAwD,EACxDC,SAA8C,EACxD;IAAA,KAFUD,sBAAwD,GAAxDA,sBAAwD;IAAA,KACxDC,SAA8C,GAA9CA,SAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,MAAgC,EAAoC;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAACC,MAAM,CAAC;IAEnD,IAAIC,MAAM,CAACC,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOZ,MAAM,CAACa,IAAI,CAACF,MAAM,CAACG,KAAK,CAAC;IACpC;IAEA,MAAM;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAACM,KAAK;IAC1C,MAAMC,OAAO,GAAG,CAAC,GAAGF,OAAO,EAAE,GAAGD,QAAQ,CAAC;IAEzC,MAAMI,OAAO,CAACC,GAAG,CACbF,OAAO,CAACG,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,IAAI,CAAC,IAAI,CAACC,MAAM,CAACD,MAAM,CAACE,EAAE,CAAC,EAAE;QACzB,MAAMC,WAAW,GAAG,MAAM,IAAI,CAAClB,sBAAsB,CAACmB,yBAAyB,CAC3EJ,MAAM,CAACE,EACX,CAAC;QACD,IAAI,CAACG,MAAM,CAACL,MAAM,CAACE,EAAE,EAAEC,WAAW,CAAC;MACvC;IACJ,CAAC,CACL,CAAC;IAED,OAAOzB,MAAM,CAAC4B,EAAE,CAAC;MACbZ,OAAO,EAAE,MAAM,IAAI,CAACa,uBAAuB,CAACb,OAAO,CAAC;MACpDD,QAAQ,EAAE,MAAM,IAAI,CAACc,uBAAuB,CAACd,QAAQ;IACzD,CAAC,CAAC;EACN;EAEA,MAAcc,uBAAuBA,CAACX,OAAiB,EAAqB;IACxE,MAAMY,OAAO,GAAG,MAAMX,OAAO,CAACC,GAAG,CAC7BF,OAAO,CAACG,GAAG,CAAC,MAAMC,MAAM,IAAI;MACxB,MAAMG,WAAW,GAAG,IAAI,CAACM,MAAM,CAACT,MAAM,CAACE,EAAE,CAAC;MAC1C,IAAI,CAACC,WAAW,EAAE;QACd,OAAOH,MAAM;MACjB;MAEA,MAAMU,SAAS,GAAG,MAAM,IAAI,CAACzB,sBAAsB,CAAC0B,eAAe,CAAC;QAChER,WAAW;QACXS,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,OAAOF,SAAS,GAAG;QAAE,GAAGV,MAAM;QAAEG;MAAY,CAAC,GAAG,IAAI;IACxD,CAAC,CACL,CAAC;IACD,OAAOK,OAAO,CAACK,MAAM,CAAEb,MAAM,IAAuBA,MAAM,KAAK,IAAI,CAAC;EACxE;EAEQC,MAAMA,CAACC,EAAU,EAAW;IAChC,OAAO,IAAI,CAACpB,UAAU,CAACgC,GAAG,CAACZ,EAAE,CAAC;EAClC;EAEQO,MAAMA,CAACP,EAAU,EAAkC;IACvD,OAAO,IAAI,CAACpB,UAAU,CAACiC,GAAG,CAACb,EAAE,CAAC;EAClC;EAEQG,MAAMA,CAACH,EAAU,EAAEC,WAA+B,EAAQ;IAC9D,IAAI,CAACrB,UAAU,CAACkC,GAAG,CAACd,EAAE,EAAEC,WAAW,CAAC;EACxC;AACJ;AAEA,OAAO,MAAMc,4CAA4C,GAAGxC,eAAe,CAAC;EACxEyC,WAAW,EAAEtC,yBAAyB;EACtCuC,SAAS,EAAEtC,gDAAgD;EAC3DuC,YAAY,EAAE,CAACzC,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport type { FolderPermission } from \"~/flp/flp.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { GetFolderHierarchyUseCase } from \"../abstractions.js\";\nimport type { Folder, GetFolderHierarchyParams } from \"~/folder/folder.types.js\";\n\nclass GetFolderHierarchyWithFolderLevelPermissionsImpl\n implements GetFolderHierarchyUseCase.Interface\n{\n private flpCatalog: Map<string, FolderPermission[]> = new Map();\n\n constructor(\n private folderLevelPermissions: FolderLevelPermissions.Interface,\n private decoratee: GetFolderHierarchyUseCase.Interface\n ) {}\n\n async execute(params: GetFolderHierarchyParams): GetFolderHierarchyUseCase.Return {\n const result = await this.decoratee.execute(params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n const { siblings, parents } = result.value;\n const folders = [...parents, ...siblings];\n\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 return Result.ok({\n parents: await this.filterAccessibleFolders(parents),\n siblings: await this.filterAccessibleFolders(siblings)\n });\n }\n\n private async filterAccessibleFolders(folders: Folder[]): Promise<Folder[]> {\n const results = await Promise.all(\n folders.map(async folder => {\n const permissions = this.getFlp(folder.id);\n if (!permissions) {\n return folder;\n }\n\n const canAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"r\"\n });\n\n return canAccess ? { ...folder, permissions } : null;\n })\n );\n return results.filter((folder): folder is Folder => folder !== null);\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 GetFolderHierarchyWithFolderLevelPermissions = createDecorator({\n abstraction: GetFolderHierarchyUseCase,\n decorator: GetFolderHierarchyWithFolderLevelPermissionsImpl,\n dependencies: [FolderLevelPermissions]\n});\n"],"names":["GetFolderHierarchyWithFolderLevelPermissionsImpl","folderLevelPermissions","decoratee","Map","params","result","Result","siblings","parents","folders","Promise","folder","permissions","results","canAccess","id","GetFolderHierarchyWithFolderLevelPermissions","createDecorator","GetFolderHierarchyUseCase","FolderLevelPermissions"],"mappings":";;;AAMA,MAAMA;IAKF,YACYC,sBAAwD,EACxDC,SAA8C,CACxD;aAFUD,sBAAsB,GAAtBA;aACAC,SAAS,GAATA;aAJJ,UAAU,GAAoC,IAAIC;IAKvD;IAEH,MAAM,QAAQC,MAAgC,EAAoC;QAC9E,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACD;QAE5C,IAAIC,OAAO,MAAM,IACb,OAAOC,OAAO,IAAI,CAACD,OAAO,KAAK;QAGnC,MAAM,EAAEE,QAAQ,EAAEC,OAAO,EAAE,GAAGH,OAAO,KAAK;QAC1C,MAAMI,UAAU;eAAID;eAAYD;SAAS;QAEzC,MAAMG,QAAQ,GAAG,CACbD,QAAQ,GAAG,CAAC,OAAME;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;QAGJ,OAAON,OAAO,EAAE,CAAC;YACb,SAAS,MAAM,IAAI,CAAC,uBAAuB,CAACE;YAC5C,UAAU,MAAM,IAAI,CAAC,uBAAuB,CAACD;QACjD;IACJ;IAEA,MAAc,wBAAwBE,OAAiB,EAAqB;QACxE,MAAMI,UAAU,MAAMH,QAAQ,GAAG,CAC7BD,QAAQ,GAAG,CAAC,OAAME;YACd,MAAMC,cAAc,IAAI,CAAC,MAAM,CAACD,OAAO,EAAE;YACzC,IAAI,CAACC,aACD,OAAOD;YAGX,MAAMG,YAAY,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;gBAChEF;gBACA,KAAK;YACT;YAEA,OAAOE,YAAY;gBAAE,GAAGH,MAAM;gBAAEC;YAAY,IAAI;QACpD;QAEJ,OAAOC,QAAQ,MAAM,CAAC,CAACF,SAA6BA,AAAW,SAAXA;IACxD;IAEQ,OAAOI,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,EAAEH,WAA+B,EAAQ;QAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAACG,IAAIH;IAC5B;AACJ;AAEO,MAAMI,+CAA+CC,gBAAgB;IACxE,aAAaC;IACb,WAAWlB;IACX,cAAc;QAACmB;KAAuB;AAC1C"}
@@ -2,13 +2,14 @@ import { createFeature } from "@webiny/feature/api";
2
2
  import { GetFolderHierarchyRepository } from "./GetFolderHierarchyRepository.js";
3
3
  import { GetFolderHierarchyUseCase } from "./GetFolderHierarchyUseCase.js";
4
4
  import { GetFolderHierarchyWithFolderLevelPermissions } from "./decorators/GetFolderHierarchyWithFolderLevelPermissions.js";
5
- export const GetFolderHierarchyFeature = createFeature({
6
- name: "GetFolderHierarchy",
7
- register(container) {
8
- container.register(GetFolderHierarchyRepository).inSingletonScope();
9
- container.register(GetFolderHierarchyUseCase);
10
- container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);
11
- }
5
+ const GetFolderHierarchyFeature = createFeature({
6
+ name: "GetFolderHierarchy",
7
+ register (container) {
8
+ container.register(GetFolderHierarchyRepository).inSingletonScope();
9
+ container.register(GetFolderHierarchyUseCase);
10
+ container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);
11
+ }
12
12
  });
13
+ export { GetFolderHierarchyFeature };
13
14
 
14
15
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","GetFolderHierarchyRepository","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissions","GetFolderHierarchyFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { GetFolderHierarchyRepository } from \"./GetFolderHierarchyRepository.js\";\nimport { GetFolderHierarchyUseCase } from \"./GetFolderHierarchyUseCase.js\";\nimport { GetFolderHierarchyWithFolderLevelPermissions } from \"./decorators/GetFolderHierarchyWithFolderLevelPermissions.js\";\n\nexport const GetFolderHierarchyFeature = createFeature({\n name: \"GetFolderHierarchy\",\n register(container: Container) {\n container.register(GetFolderHierarchyRepository).inSingletonScope();\n container.register(GetFolderHierarchyUseCase);\n container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,4BAA4B;AACrC,SAASC,yBAAyB;AAClC,SAASC,4CAA4C;AAErD,OAAO,MAAMC,yBAAyB,GAAGJ,aAAa,CAAC;EACnDK,IAAI,EAAE,oBAAoB;EAC1BC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,4BAA4B,CAAC,CAACO,gBAAgB,CAAC,CAAC;IACnED,SAAS,CAACD,QAAQ,CAACJ,yBAAyB,CAAC;IAC7CK,SAAS,CAACE,iBAAiB,CAACN,4CAA4C,CAAC;EAC7E;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/GetFolderHierarchy/feature.js","sources":["../../../../src/features/folder/GetFolderHierarchy/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { GetFolderHierarchyRepository } from \"./GetFolderHierarchyRepository.js\";\nimport { GetFolderHierarchyUseCase } from \"./GetFolderHierarchyUseCase.js\";\nimport { GetFolderHierarchyWithFolderLevelPermissions } from \"./decorators/GetFolderHierarchyWithFolderLevelPermissions.js\";\n\nexport const GetFolderHierarchyFeature = createFeature({\n name: \"GetFolderHierarchy\",\n register(container: Container) {\n container.register(GetFolderHierarchyRepository).inSingletonScope();\n container.register(GetFolderHierarchyUseCase);\n container.registerDecorator(GetFolderHierarchyWithFolderLevelPermissions);\n }\n});\n"],"names":["GetFolderHierarchyFeature","createFeature","container","GetFolderHierarchyRepository","GetFolderHierarchyUseCase","GetFolderHierarchyWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,8BAA8B,gBAAgB;QACjED,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
@@ -1,4 +1,2 @@
1
1
  export { GetFolderHierarchyFeature } from "./feature.js";
2
2
  export { GetFolderHierarchyUseCase } from "./abstractions.js";
3
-
4
- //# sourceMappingURL=index.js.map
@@ -1,68 +1,75 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from "./abstractions.js";
2
+ import { ListFolderLevelPermissionsTargetsUseCase } from "./abstractions.js";
3
3
  import { validation } from "@webiny/validation";
4
4
  import { ListUsersUseCase } from "@webiny/api-core/features/users/ListUsers/index.js";
5
5
  import { ListTeamsUseCase } from "@webiny/api-core/features/security/teams/ListTeams/index.js";
6
6
  class ListFolderLevelPermissionsTargetsUseCaseImpl {
7
- constructor(listAdminUsers, listTeams) {
8
- this.listAdminUsers = listAdminUsers;
9
- this.listTeams = listTeams;
10
- }
11
- async execute() {
12
- const adminUsersResult = await this.listAdminUsers.execute();
13
- const teamsResult = await this.listTeams.execute();
14
- if (adminUsersResult.isFail() || teamsResult.isFail()) {
15
- return Result.ok([[], {
16
- totalCount: 0
17
- }]);
7
+ constructor(listAdminUsers, listTeams){
8
+ this.listAdminUsers = listAdminUsers;
9
+ this.listTeams = listTeams;
10
+ }
11
+ async execute() {
12
+ const adminUsersResult = await this.listAdminUsers.execute();
13
+ const teamsResult = await this.listTeams.execute();
14
+ if (adminUsersResult.isFail() || teamsResult.isFail()) return Result.ok([
15
+ [],
16
+ {
17
+ totalCount: 0
18
+ }
19
+ ]);
20
+ const adminUsers = adminUsersResult.value;
21
+ const teams = teamsResult.value;
22
+ const teamTargets = teams.map((team)=>({
23
+ id: team.id,
24
+ type: "team",
25
+ target: `team:${team.slug}`,
26
+ name: team.name || "",
27
+ meta: {}
28
+ }));
29
+ const adminUserTargets = adminUsers.map((user)=>{
30
+ let name = user.displayName;
31
+ if (!name) name = [
32
+ user.firstName,
33
+ user.lastName
34
+ ].filter(Boolean).join(" ");
35
+ let email = user.email;
36
+ try {
37
+ validation.validateSync(email, "email");
38
+ } catch {
39
+ email = null;
40
+ }
41
+ const image = user.avatar?.src || null;
42
+ return {
43
+ id: user.id,
44
+ type: "admin",
45
+ target: `admin:${user.id}`,
46
+ name,
47
+ meta: {
48
+ email,
49
+ image
50
+ }
51
+ };
52
+ });
53
+ const results = [
54
+ ...teamTargets,
55
+ ...adminUserTargets
56
+ ];
57
+ const meta = {
58
+ totalCount: results.length
59
+ };
60
+ return Result.ok([
61
+ results,
62
+ meta
63
+ ]);
18
64
  }
19
- const adminUsers = adminUsersResult.value;
20
- const teams = teamsResult.value;
21
- const teamTargets = teams.map(team => ({
22
- id: team.id,
23
- type: "team",
24
- target: `team:${team.slug}`,
25
- name: team.name || "",
26
- meta: {}
27
- }));
28
- const adminUserTargets = adminUsers.map(user => {
29
- let name = user.displayName;
30
- if (!name) {
31
- // For backwards compatibility, we also want to try concatenating first and last name.
32
- name = [user.firstName, user.lastName].filter(Boolean).join(" ");
33
- }
34
-
35
- // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email
36
- // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,
37
- // let's not assign anything to the `email` field.
38
- let email = user.email;
39
- try {
40
- validation.validateSync(email, "email");
41
- } catch {
42
- email = null;
43
- }
44
- const image = user.avatar?.src || null;
45
- return {
46
- id: user.id,
47
- type: "admin",
48
- target: `admin:${user.id}`,
49
- name,
50
- meta: {
51
- email,
52
- image
53
- }
54
- };
55
- });
56
- const results = [...teamTargets, ...adminUserTargets];
57
- const meta = {
58
- totalCount: results.length
59
- };
60
- return Result.ok([results, meta]);
61
- }
62
65
  }
63
- export const ListFolderLevelPermissionsTargetsUseCase = UseCaseAbstraction.createImplementation({
64
- implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,
65
- dependencies: [ListUsersUseCase, ListTeamsUseCase]
66
+ const ListFolderLevelPermissionsTargetsUseCase_ListFolderLevelPermissionsTargetsUseCase = ListFolderLevelPermissionsTargetsUseCase.createImplementation({
67
+ implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,
68
+ dependencies: [
69
+ ListUsersUseCase,
70
+ ListTeamsUseCase
71
+ ]
66
72
  });
73
+ export { ListFolderLevelPermissionsTargetsUseCase_ListFolderLevelPermissionsTargetsUseCase as ListFolderLevelPermissionsTargetsUseCase };
67
74
 
68
75
  //# sourceMappingURL=ListFolderLevelPermissionsTargetsUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","ListFolderLevelPermissionsTargetsUseCase","UseCaseAbstraction","validation","ListUsersUseCase","ListTeamsUseCase","ListFolderLevelPermissionsTargetsUseCaseImpl","constructor","listAdminUsers","listTeams","execute","adminUsersResult","teamsResult","isFail","ok","totalCount","adminUsers","value","teams","teamTargets","map","team","id","type","target","slug","name","meta","adminUserTargets","user","displayName","firstName","lastName","filter","Boolean","join","email","validateSync","image","avatar","src","results","length","createImplementation","implementation","dependencies"],"sources":["ListFolderLevelPermissionsTargetsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { validation } from \"@webiny/validation\";\nimport { ListUsersUseCase } from \"@webiny/api-core/features/users/ListUsers/index.js\";\nimport { ListTeamsUseCase } from \"@webiny/api-core/features/security/teams/ListTeams/index.js\";\n\nclass ListFolderLevelPermissionsTargetsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private listAdminUsers: ListUsersUseCase.Interface,\n private listTeams: ListTeamsUseCase.Interface\n ) {}\n\n public async execute(): UseCaseAbstraction.Return {\n const adminUsersResult = await this.listAdminUsers.execute();\n const teamsResult = await this.listTeams.execute();\n\n if (adminUsersResult.isFail() || teamsResult.isFail()) {\n return Result.ok([[], { totalCount: 0 }]);\n }\n\n const adminUsers = adminUsersResult.value;\n const teams = teamsResult.value;\n\n const teamTargets = teams.map(team => ({\n id: team.id,\n type: \"team\",\n target: `team:${team.slug}`,\n name: team.name || \"\",\n meta: {}\n }));\n\n const adminUserTargets = adminUsers.map(user => {\n let name = user.displayName;\n if (!name) {\n // For backwards compatibility, we also want to try concatenating first and last name.\n name = [user.firstName, user.lastName].filter(Boolean).join(\" \");\n }\n\n // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email\n // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,\n // let's not assign anything to the `email` field.\n let email: string | null = user.email;\n try {\n validation.validateSync(email, \"email\");\n } catch {\n email = null;\n }\n\n const image = user.avatar?.src || null;\n\n return {\n id: user.id,\n type: \"admin\",\n target: `admin:${user.id}`,\n name,\n meta: {\n email,\n image\n }\n };\n });\n\n const results = [...teamTargets, ...adminUserTargets];\n const meta = { totalCount: results.length };\n\n return Result.ok([results, meta]);\n }\n}\n\nexport const ListFolderLevelPermissionsTargetsUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,\n dependencies: [ListUsersUseCase, ListTeamsUseCase]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,wCAAwC,IAAIC,kBAAkB;AACvE,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,gBAAgB,QAAQ,oDAAoD;AACrF,SAASC,gBAAgB,QAAQ,6DAA6D;AAE9F,MAAMC,4CAA4C,CAAyC;EACvFC,WAAWA,CACCC,cAA0C,EAC1CC,SAAqC,EAC/C;IAAA,KAFUD,cAA0C,GAA1CA,cAA0C;IAAA,KAC1CC,SAAqC,GAArCA,SAAqC;EAC9C;EAEH,MAAaC,OAAOA,CAAA,EAA8B;IAC9C,MAAMC,gBAAgB,GAAG,MAAM,IAAI,CAACH,cAAc,CAACE,OAAO,CAAC,CAAC;IAC5D,MAAME,WAAW,GAAG,MAAM,IAAI,CAACH,SAAS,CAACC,OAAO,CAAC,CAAC;IAElD,IAAIC,gBAAgB,CAACE,MAAM,CAAC,CAAC,IAAID,WAAW,CAACC,MAAM,CAAC,CAAC,EAAE;MACnD,OAAOb,MAAM,CAACc,EAAE,CAAC,CAAC,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAC,CAAC,CAAC;IAC7C;IAEA,MAAMC,UAAU,GAAGL,gBAAgB,CAACM,KAAK;IACzC,MAAMC,KAAK,GAAGN,WAAW,CAACK,KAAK;IAE/B,MAAME,WAAW,GAAGD,KAAK,CAACE,GAAG,CAACC,IAAI,KAAK;MACnCC,EAAE,EAAED,IAAI,CAACC,EAAE;MACXC,IAAI,EAAE,MAAM;MACZC,MAAM,EAAE,QAAQH,IAAI,CAACI,IAAI,EAAE;MAC3BC,IAAI,EAAEL,IAAI,CAACK,IAAI,IAAI,EAAE;MACrBC,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAMC,gBAAgB,GAAGZ,UAAU,CAACI,GAAG,CAACS,IAAI,IAAI;MAC5C,IAAIH,IAAI,GAAGG,IAAI,CAACC,WAAW;MAC3B,IAAI,CAACJ,IAAI,EAAE;QACP;QACAA,IAAI,GAAG,CAACG,IAAI,CAACE,SAAS,EAAEF,IAAI,CAACG,QAAQ,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;MACpE;;MAEA;MACA;MACA;MACA,IAAIC,KAAoB,GAAGP,IAAI,CAACO,KAAK;MACrC,IAAI;QACAjC,UAAU,CAACkC,YAAY,CAACD,KAAK,EAAE,OAAO,CAAC;MAC3C,CAAC,CAAC,MAAM;QACJA,KAAK,GAAG,IAAI;MAChB;MAEA,MAAME,KAAK,GAAGT,IAAI,CAACU,MAAM,EAAEC,GAAG,IAAI,IAAI;MAEtC,OAAO;QACHlB,EAAE,EAAEO,IAAI,CAACP,EAAE;QACXC,IAAI,EAAE,OAAO;QACbC,MAAM,EAAE,SAASK,IAAI,CAACP,EAAE,EAAE;QAC1BI,IAAI;QACJC,IAAI,EAAE;UACFS,KAAK;UACLE;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,MAAMG,OAAO,GAAG,CAAC,GAAGtB,WAAW,EAAE,GAAGS,gBAAgB,CAAC;IACrD,MAAMD,IAAI,GAAG;MAAEZ,UAAU,EAAE0B,OAAO,CAACC;IAAO,CAAC;IAE3C,OAAO1C,MAAM,CAACc,EAAE,CAAC,CAAC2B,OAAO,EAAEd,IAAI,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAM1B,wCAAwC,GAAGC,kBAAkB,CAACyC,oBAAoB,CAAC;EAC5FC,cAAc,EAAEtC,4CAA4C;EAC5DuC,YAAY,EAAE,CAACzC,gBAAgB,EAAEC,gBAAgB;AACrD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { validation } from \"@webiny/validation\";\nimport { ListUsersUseCase } from \"@webiny/api-core/features/users/ListUsers/index.js\";\nimport { ListTeamsUseCase } from \"@webiny/api-core/features/security/teams/ListTeams/index.js\";\n\nclass ListFolderLevelPermissionsTargetsUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(\n private listAdminUsers: ListUsersUseCase.Interface,\n private listTeams: ListTeamsUseCase.Interface\n ) {}\n\n public async execute(): UseCaseAbstraction.Return {\n const adminUsersResult = await this.listAdminUsers.execute();\n const teamsResult = await this.listTeams.execute();\n\n if (adminUsersResult.isFail() || teamsResult.isFail()) {\n return Result.ok([[], { totalCount: 0 }]);\n }\n\n const adminUsers = adminUsersResult.value;\n const teams = teamsResult.value;\n\n const teamTargets = teams.map(team => ({\n id: team.id,\n type: \"team\",\n target: `team:${team.slug}`,\n name: team.name || \"\",\n meta: {}\n }));\n\n const adminUserTargets = adminUsers.map(user => {\n let name = user.displayName;\n if (!name) {\n // For backwards compatibility, we also want to try concatenating first and last name.\n name = [user.firstName, user.lastName].filter(Boolean).join(\" \");\n }\n\n // We're doing the validation because, with non-Cognito IdPs (Okta, Auth0), the email\n // field might actually contain a non-email value: `id:${IdP_Identity_ID}`. In that case,\n // let's not assign anything to the `email` field.\n let email: string | null = user.email;\n try {\n validation.validateSync(email, \"email\");\n } catch {\n email = null;\n }\n\n const image = user.avatar?.src || null;\n\n return {\n id: user.id,\n type: \"admin\",\n target: `admin:${user.id}`,\n name,\n meta: {\n email,\n image\n }\n };\n });\n\n const results = [...teamTargets, ...adminUserTargets];\n const meta = { totalCount: results.length };\n\n return Result.ok([results, meta]);\n }\n}\n\nexport const ListFolderLevelPermissionsTargetsUseCase = UseCaseAbstraction.createImplementation({\n implementation: ListFolderLevelPermissionsTargetsUseCaseImpl,\n dependencies: [ListUsersUseCase, ListTeamsUseCase]\n});\n"],"names":["ListFolderLevelPermissionsTargetsUseCaseImpl","listAdminUsers","listTeams","adminUsersResult","teamsResult","Result","adminUsers","teams","teamTargets","team","adminUserTargets","user","name","Boolean","email","validation","image","results","meta","ListFolderLevelPermissionsTargetsUseCase","UseCaseAbstraction","ListUsersUseCase","ListTeamsUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,cAA0C,EAC1CC,SAAqC,CAC/C;aAFUD,cAAc,GAAdA;aACAC,SAAS,GAATA;IACT;IAEH,MAAa,UAAqC;QAC9C,MAAMC,mBAAmB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO;QAC1D,MAAMC,cAAc,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO;QAEhD,IAAID,iBAAiB,MAAM,MAAMC,YAAY,MAAM,IAC/C,OAAOC,OAAO,EAAE,CAAC;YAAC,EAAE;YAAE;gBAAE,YAAY;YAAE;SAAE;QAG5C,MAAMC,aAAaH,iBAAiB,KAAK;QACzC,MAAMI,QAAQH,YAAY,KAAK;QAE/B,MAAMI,cAAcD,MAAM,GAAG,CAACE,CAAAA,OAAS;gBACnC,IAAIA,KAAK,EAAE;gBACX,MAAM;gBACN,QAAQ,CAAC,KAAK,EAAEA,KAAK,IAAI,EAAE;gBAC3B,MAAMA,KAAK,IAAI,IAAI;gBACnB,MAAM,CAAC;YACX;QAEA,MAAMC,mBAAmBJ,WAAW,GAAG,CAACK,CAAAA;YACpC,IAAIC,OAAOD,KAAK,WAAW;YAC3B,IAAI,CAACC,MAEDA,OAAO;gBAACD,KAAK,SAAS;gBAAEA,KAAK,QAAQ;aAAC,CAAC,MAAM,CAACE,SAAS,IAAI,CAAC;YAMhE,IAAIC,QAAuBH,KAAK,KAAK;YACrC,IAAI;gBACAI,WAAW,YAAY,CAACD,OAAO;YACnC,EAAE,OAAM;gBACJA,QAAQ;YACZ;YAEA,MAAME,QAAQL,KAAK,MAAM,EAAE,OAAO;YAElC,OAAO;gBACH,IAAIA,KAAK,EAAE;gBACX,MAAM;gBACN,QAAQ,CAAC,MAAM,EAAEA,KAAK,EAAE,EAAE;gBAC1BC;gBACA,MAAM;oBACFE;oBACAE;gBACJ;YACJ;QACJ;QAEA,MAAMC,UAAU;eAAIT;eAAgBE;SAAiB;QACrD,MAAMQ,OAAO;YAAE,YAAYD,QAAQ,MAAM;QAAC;QAE1C,OAAOZ,OAAO,EAAE,CAAC;YAACY;YAASC;SAAK;IACpC;AACJ;AAEO,MAAMC,oFAA2CC,yCAAAA,oBAAuC,CAAC;IAC5F,gBAAgBpB;IAChB,cAAc;QAACqB;QAAkBC;KAAiB;AACtD"}
@@ -1,8 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // Use Case Abstraction
4
-
5
- /** List targets for folder-level permissions. */
6
- export const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
2
+ const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
3
+ export { ListFolderLevelPermissionsTargetsUseCase };
7
4
 
8
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListFolderLevelPermissionsTargetsUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IListFolderLevelPermissionsTargetsUseCase {\n execute: () => Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n\n/** List targets for folder-level permissions. */\nexport const ListFolderLevelPermissionsTargetsUseCase =\n createAbstraction<IListFolderLevelPermissionsTargetsUseCase>(\n \"ListFolderLevelPermissionsTargetsUseCase\"\n );\n\nexport namespace ListFolderLevelPermissionsTargetsUseCase {\n export type Interface = IListFolderLevelPermissionsTargetsUseCase;\n export type Return = Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAgB,qBAAqB;;AAM/D;;AAOA;AACA,OAAO,MAAMC,wCAAwC,GACjDD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/abstractions.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/abstractions.ts"],"sourcesContent":["import { createAbstraction, Result } from \"@webiny/feature/api\";\nimport type {\n FolderLevelPermissionsTarget,\n FolderLevelPermissionsTargetListMeta\n} from \"~/folder/folder.types.js\";\n\n// Use Case Abstraction\nexport interface IListFolderLevelPermissionsTargetsUseCase {\n execute: () => Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n\n/** List targets for folder-level permissions. */\nexport const ListFolderLevelPermissionsTargetsUseCase =\n createAbstraction<IListFolderLevelPermissionsTargetsUseCase>(\n \"ListFolderLevelPermissionsTargetsUseCase\"\n );\n\nexport namespace ListFolderLevelPermissionsTargetsUseCase {\n export type Interface = IListFolderLevelPermissionsTargetsUseCase;\n export type Return = Promise<\n Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>\n >;\n}\n"],"names":["ListFolderLevelPermissionsTargetsUseCase","createAbstraction"],"mappings":";AAcO,MAAMA,2CACTC,kBACI"}
@@ -1,10 +1,11 @@
1
1
  import { createFeature } from "@webiny/feature/api";
2
2
  import { ListFolderLevelPermissionsTargetsUseCase } from "./ListFolderLevelPermissionsTargetsUseCase.js";
3
- export const ListFolderLevelPermissionsTargetsFeature = createFeature({
4
- name: "ListFolderLevelPermissionsTargets",
5
- register(container) {
6
- container.register(ListFolderLevelPermissionsTargetsUseCase);
7
- }
3
+ const ListFolderLevelPermissionsTargetsFeature = createFeature({
4
+ name: "ListFolderLevelPermissionsTargets",
5
+ register (container) {
6
+ container.register(ListFolderLevelPermissionsTargetsUseCase);
7
+ }
8
8
  });
9
+ export { ListFolderLevelPermissionsTargetsFeature };
9
10
 
10
11
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","ListFolderLevelPermissionsTargetsUseCase","ListFolderLevelPermissionsTargetsFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase } from \"./ListFolderLevelPermissionsTargetsUseCase.js\";\n\nexport const ListFolderLevelPermissionsTargetsFeature = createFeature({\n name: \"ListFolderLevelPermissionsTargets\",\n register(container) {\n container.register(ListFolderLevelPermissionsTargetsUseCase);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,wCAAwC;AAEjD,OAAO,MAAMC,wCAAwC,GAAGF,aAAa,CAAC;EAClEG,IAAI,EAAE,mCAAmC;EACzCC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,wCAAwC,CAAC;EAChE;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/ListFolderLevelPermissionsTargets/feature.js","sources":["../../../../src/features/folder/ListFolderLevelPermissionsTargets/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListFolderLevelPermissionsTargetsUseCase } from \"./ListFolderLevelPermissionsTargetsUseCase.js\";\n\nexport const ListFolderLevelPermissionsTargetsFeature = createFeature({\n name: \"ListFolderLevelPermissionsTargets\",\n register(container) {\n container.register(ListFolderLevelPermissionsTargetsUseCase);\n }\n});\n"],"names":["ListFolderLevelPermissionsTargetsFeature","createFeature","container","ListFolderLevelPermissionsTargetsUseCase"],"mappings":";;AAGO,MAAMA,2CAA2CC,cAAc;IAClE,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
@@ -1,3 +1 @@
1
1
  export { ListFolderLevelPermissionsTargetsUseCase } from "./abstractions.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,14 +1,14 @@
1
1
  import { type IListFoldersRepository, ListFoldersRepository as RepositoryAbstraction } from "./abstractions.js";
2
2
  import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
3
- import { FolderModel } from "../../../domain/folder/abstractions.js";
3
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
4
4
  import type { ListFoldersParams } from "../../../folder/folder.types.js";
5
5
  import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
6
6
  declare class ListFoldersRepositoryImpl implements IListFoldersRepository {
7
7
  private listLatestEntries;
8
- private folderModel;
8
+ private folderModelProvider;
9
9
  private cmsWhereMapper;
10
10
  private cmsSortMapper;
11
- constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, folderModel: FolderModel.Interface, cmsWhereMapper: CmsWhereMapper.Interface, cmsSortMapper: CmsSortMapper.Interface);
11
+ constructor(listLatestEntries: ListLatestEntriesUseCase.Interface, folderModelProvider: FolderModelProvider.Interface, cmsWhereMapper: CmsWhereMapper.Interface, cmsSortMapper: CmsSortMapper.Interface);
12
12
  execute(params: ListFoldersParams): RepositoryAbstraction.Return;
13
13
  }
14
14
  export declare const ListFoldersRepository: typeof ListFoldersRepositoryImpl & {
@@ -1,54 +1,53 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { ListFoldersRepository as RepositoryAbstraction } from "./abstractions.js";
2
+ import { ListFoldersRepository } from "./abstractions.js";
3
3
  import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
4
- import { FolderModel } from "../../../domain/folder/abstractions.js";
4
+ import { FolderModelProvider } from "../../../domain/folder/abstractions.js";
5
5
  import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
6
6
  import { FolderPersistenceError } from "../../../domain/folder/errors.js";
7
7
  import { createListSort } from "../../../utils/createListSort.js";
8
8
  import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
9
9
  class ListFoldersRepositoryImpl {
10
- constructor(listLatestEntries, folderModel, cmsWhereMapper, cmsSortMapper) {
11
- this.listLatestEntries = listLatestEntries;
12
- this.folderModel = folderModel;
13
- this.cmsWhereMapper = cmsWhereMapper;
14
- this.cmsSortMapper = cmsSortMapper;
15
- }
16
- async execute(params) {
17
- const {
18
- sort,
19
- where
20
- } = params;
21
- const listSort = sort || {
22
- values_title: "ASC"
23
- };
24
- const result = await this.listLatestEntries.execute(this.folderModel, {
25
- ...params,
26
- sort: this.cmsSortMapper.map({
27
- input: createListSort(listSort),
28
- fields: this.folderModel.fields
29
- }),
30
- where: this.cmsWhereMapper.map({
31
- input: where,
32
- fields: this.folderModel.fields
33
- })
34
- });
35
- if (result.isFail()) {
36
- return Result.fail(new FolderPersistenceError(result.error));
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
+ });
37
40
  }
38
- const {
39
- entries,
40
- meta
41
- } = result.value;
42
- const folders = entries.map(entry => EntryToFolderMapper.toFolder(entry));
43
- return Result.ok({
44
- folders,
45
- meta
46
- });
47
- }
48
41
  }
49
- export const ListFoldersRepository = RepositoryAbstraction.createImplementation({
50
- implementation: ListFoldersRepositoryImpl,
51
- dependencies: [ListLatestEntriesUseCase, FolderModel, CmsWhereMapper, CmsSortMapper]
42
+ const ListFoldersRepository_ListFoldersRepository = ListFoldersRepository.createImplementation({
43
+ implementation: ListFoldersRepositoryImpl,
44
+ dependencies: [
45
+ ListLatestEntriesUseCase,
46
+ FolderModelProvider,
47
+ CmsWhereMapper,
48
+ CmsSortMapper
49
+ ]
52
50
  });
51
+ export { ListFoldersRepository_ListFoldersRepository as ListFoldersRepository };
53
52
 
54
53
  //# sourceMappingURL=ListFoldersRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Result","ListFoldersRepository","RepositoryAbstraction","ListLatestEntriesUseCase","FolderModel","EntryToFolderMapper","FolderPersistenceError","createListSort","CmsSortMapper","CmsWhereMapper","ListFoldersRepositoryImpl","constructor","listLatestEntries","folderModel","cmsWhereMapper","cmsSortMapper","execute","params","sort","where","listSort","values_title","result","map","input","fields","isFail","fail","error","entries","meta","value","folders","entry","toFolder","ok","createImplementation","implementation","dependencies"],"sources":["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 { FolderModel } 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 folderModel: FolderModel.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface,\n private cmsSortMapper: CmsSortMapper.Interface\n ) {}\n\n async execute(params: ListFoldersParams): RepositoryAbstraction.Return {\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>(this.folderModel, {\n ...params,\n sort: this.cmsSortMapper.map({\n input: createListSort(listSort),\n fields: this.folderModel.fields\n }),\n where: this.cmsWhereMapper.map({\n input: where,\n fields: this.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, FolderModel, CmsWhereMapper, CmsSortMapper]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAEIC,qBAAqB,IAAIC,qBAAqB;AAElD,SAASC,wBAAwB,QAAQ,4DAA4D;AACrG,SAASC,WAAW;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAC/B,SAASC,cAAc;AAEvB,SAASC,aAAa,EAAEC,cAAc,QAAQ,0BAA0B;AAExE,MAAMC,yBAAyB,CAAmC;EAC9DC,WAAWA,CACCC,iBAAqD,EACrDC,WAAkC,EAClCC,cAAwC,EACxCC,aAAsC,EAChD;IAAA,KAJUH,iBAAqD,GAArDA,iBAAqD;IAAA,KACrDC,WAAkC,GAAlCA,WAAkC;IAAA,KAClCC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,aAAsC,GAAtCA,aAAsC;EAC/C;EAEH,MAAMC,OAAOA,CAACC,MAAyB,EAAgC;IACnE,MAAM;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAGF,MAAM;IAE9B,MAAMG,QAAQ,GACVF,IAAI,IACH;MACGG,YAAY,EAAE;IAClB,CAAyB;IAE7B,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACV,iBAAiB,CAACI,OAAO,CAAiB,IAAI,CAACH,WAAW,EAAE;MAClF,GAAGI,MAAM;MACTC,IAAI,EAAE,IAAI,CAACH,aAAa,CAACQ,GAAG,CAAC;QACzBC,KAAK,EAAEjB,cAAc,CAACa,QAAQ,CAAC;QAC/BK,MAAM,EAAE,IAAI,CAACZ,WAAW,CAACY;MAC7B,CAAC,CAAC;MACFN,KAAK,EAAE,IAAI,CAACL,cAAc,CAACS,GAAG,CAAC;QAC3BC,KAAK,EAAEL,KAAK;QACZM,MAAM,EAAE,IAAI,CAACZ,WAAW,CAACY;MAC7B,CAAC;IACL,CAAC,CAAC;IAEF,IAAIH,MAAM,CAACI,MAAM,CAAC,CAAC,EAAE;MACjB,OAAO1B,MAAM,CAAC2B,IAAI,CAAC,IAAIrB,sBAAsB,CAACgB,MAAM,CAACM,KAAK,CAAC,CAAC;IAChE;IAEA,MAAM;MAAEC,OAAO;MAAEC;IAAK,CAAC,GAAGR,MAAM,CAACS,KAAK;IACtC,MAAMC,OAAO,GAAGH,OAAO,CAACN,GAAG,CAACU,KAAK,IAAI5B,mBAAmB,CAAC6B,QAAQ,CAACD,KAAK,CAAC,CAAC;IACzE,OAAOjC,MAAM,CAACmC,EAAE,CAAC;MAAEH,OAAO;MAAEF;IAAK,CAAC,CAAC;EACvC;AACJ;AAEA,OAAO,MAAM7B,qBAAqB,GAAGC,qBAAqB,CAACkC,oBAAoB,CAAC;EAC5EC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACnC,wBAAwB,EAAEC,WAAW,EAAEK,cAAc,EAAED,aAAa;AACvF,CAAC,CAAC","ignoreList":[]}
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"}