@webiny/api-aco 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9

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 (412) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/createAcoContext.d.ts +1 -1
  4. package/createAcoContext.js +75 -107
  5. package/createAcoContext.js.map +1 -1
  6. package/createAcoGraphQL.js +43 -44
  7. package/createAcoGraphQL.js.map +1 -1
  8. package/createAcoStorageOperations.js +5 -6
  9. package/createAcoStorageOperations.js.map +1 -1
  10. package/createAcoTasks.js +7 -8
  11. package/createAcoTasks.js.map +1 -1
  12. package/domain/folder/abstractions.js +2 -5
  13. package/domain/folder/abstractions.js.map +1 -1
  14. package/domain/folder/errors.js +42 -47
  15. package/domain/folder/errors.js.map +1 -1
  16. package/domain/folder/folder.model.js +52 -33
  17. package/domain/folder/folder.model.js.map +1 -1
  18. package/exports/api/aco/flp.d.ts +6 -0
  19. package/exports/api/aco/flp.js +6 -0
  20. package/exports/api/aco/folder.d.ts +10 -0
  21. package/exports/api/aco/folder.js +10 -0
  22. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  23. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  24. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  25. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  26. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  27. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  28. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  29. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  30. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  31. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  32. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  33. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  34. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  35. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  36. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  37. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  38. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +27 -28
  39. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  40. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +27 -27
  41. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  42. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +27 -28
  43. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  44. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +27 -28
  45. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  46. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  47. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  48. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  49. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  50. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  51. package/features/cms/feature.d.ts +4 -1
  52. package/features/cms/feature.js +19 -25
  53. package/features/cms/feature.js.map +1 -1
  54. package/features/cms/index.js +0 -2
  55. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  56. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  57. package/features/flp/CreateFlp/abstractions.d.ts +1 -0
  58. package/features/flp/CreateFlp/abstractions.js +2 -4
  59. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  60. package/features/flp/CreateFlp/feature.d.ts +5 -1
  61. package/features/flp/CreateFlp/feature.js +7 -8
  62. package/features/flp/CreateFlp/feature.js.map +1 -1
  63. package/features/flp/CreateFlp/index.js +0 -2
  64. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +3 -3
  65. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +28 -28
  66. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  67. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -1
  68. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  69. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  70. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  71. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  72. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  73. package/features/flp/DeleteFlp/abstractions.d.ts +1 -0
  74. package/features/flp/DeleteFlp/abstractions.js +2 -4
  75. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  76. package/features/flp/DeleteFlp/feature.d.ts +5 -1
  77. package/features/flp/DeleteFlp/feature.js +7 -8
  78. package/features/flp/DeleteFlp/feature.js.map +1 -1
  79. package/features/flp/DeleteFlp/index.js +0 -2
  80. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +3 -3
  81. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +28 -28
  82. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  83. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -1
  84. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  85. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  86. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  87. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  88. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +90 -111
  89. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  90. package/features/flp/FolderLevelPermissions/abstractions.d.ts +1 -0
  91. package/features/flp/FolderLevelPermissions/abstractions.js +2 -1
  92. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  93. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -1
  94. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  95. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  96. package/features/flp/FolderLevelPermissions/index.js +0 -2
  97. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +1 -1
  98. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  99. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  100. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  101. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  102. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +1 -1
  103. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  104. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  105. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  106. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  107. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  108. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  109. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  110. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  111. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  112. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  113. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  114. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  115. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  116. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  117. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +1 -1
  118. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  119. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  120. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +2 -2
  121. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  122. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  123. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  124. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  125. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  126. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  127. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  128. package/features/flp/GetFlp/abstractions.d.ts +1 -0
  129. package/features/flp/GetFlp/abstractions.js +2 -1
  130. package/features/flp/GetFlp/abstractions.js.map +1 -1
  131. package/features/flp/GetFlp/feature.d.ts +4 -1
  132. package/features/flp/GetFlp/feature.js +7 -8
  133. package/features/flp/GetFlp/feature.js.map +1 -1
  134. package/features/flp/GetFlp/index.js +0 -2
  135. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  136. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  137. package/features/flp/ListFlps/abstractions.d.ts +1 -0
  138. package/features/flp/ListFlps/abstractions.js +2 -1
  139. package/features/flp/ListFlps/abstractions.js.map +1 -1
  140. package/features/flp/ListFlps/feature.d.ts +4 -1
  141. package/features/flp/ListFlps/feature.js +7 -8
  142. package/features/flp/ListFlps/feature.js.map +1 -1
  143. package/features/flp/ListFlps/index.js +0 -2
  144. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +133 -184
  145. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  146. package/features/flp/UpdateFlp/abstractions.d.ts +1 -0
  147. package/features/flp/UpdateFlp/abstractions.js +2 -4
  148. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  149. package/features/flp/UpdateFlp/feature.d.ts +5 -1
  150. package/features/flp/UpdateFlp/feature.js +7 -8
  151. package/features/flp/UpdateFlp/feature.js.map +1 -1
  152. package/features/flp/UpdateFlp/index.js +0 -2
  153. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +3 -3
  154. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +30 -30
  155. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  156. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -1
  157. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  158. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  159. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  160. package/features/folder/CreateFolder/CreateFolderRepository.js +67 -90
  161. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  162. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +1 -1
  163. package/features/folder/CreateFolder/CreateFolderUseCase.js +28 -31
  164. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  165. package/features/folder/CreateFolder/abstractions.d.ts +9 -5
  166. package/features/folder/CreateFolder/abstractions.js +5 -18
  167. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  168. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +29 -34
  169. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  170. package/features/folder/CreateFolder/events.d.ts +3 -3
  171. package/features/folder/CreateFolder/events.js +17 -15
  172. package/features/folder/CreateFolder/events.js.map +1 -1
  173. package/features/folder/CreateFolder/feature.d.ts +5 -1
  174. package/features/folder/CreateFolder/feature.js +8 -7
  175. package/features/folder/CreateFolder/feature.js.map +1 -1
  176. package/features/folder/CreateFolder/index.d.ts +1 -1
  177. package/features/folder/CreateFolder/index.js +1 -3
  178. package/features/folder/DeleteFolder/DeleteFolderRepository.js +22 -20
  179. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  180. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +1 -1
  181. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +36 -44
  182. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  183. package/features/folder/DeleteFolder/abstractions.d.ts +9 -5
  184. package/features/folder/DeleteFolder/abstractions.js +5 -18
  185. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  186. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  187. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  188. package/features/folder/DeleteFolder/events.d.ts +3 -3
  189. package/features/folder/DeleteFolder/events.js +17 -15
  190. package/features/folder/DeleteFolder/events.js.map +1 -1
  191. package/features/folder/DeleteFolder/feature.d.ts +5 -1
  192. package/features/folder/DeleteFolder/feature.js +8 -7
  193. package/features/folder/DeleteFolder/feature.js.map +1 -1
  194. package/features/folder/DeleteFolder/index.d.ts +1 -1
  195. package/features/folder/DeleteFolder/index.js +1 -3
  196. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +43 -44
  197. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  198. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +1 -0
  199. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -1
  200. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  201. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -1
  202. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  203. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  204. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  205. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +3 -3
  206. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +17 -21
  207. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  208. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +4 -1
  209. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  210. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  211. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  212. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +3 -3
  213. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +37 -45
  214. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  215. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -1
  216. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  217. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  218. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  219. package/features/folder/GetAncestors/GetAncestorsRepository.js +45 -75
  220. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  221. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  222. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  223. package/features/folder/GetAncestors/abstractions.d.ts +2 -0
  224. package/features/folder/GetAncestors/abstractions.js +3 -12
  225. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  226. package/features/folder/GetAncestors/feature.d.ts +5 -1
  227. package/features/folder/GetAncestors/feature.js +7 -6
  228. package/features/folder/GetAncestors/feature.js.map +1 -1
  229. package/features/folder/GetAncestors/index.js +0 -2
  230. package/features/folder/GetFolder/GetFolderRepository.js +21 -19
  231. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  232. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  233. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  234. package/features/folder/GetFolder/abstractions.d.ts +8 -5
  235. package/features/folder/GetFolder/abstractions.js +5 -18
  236. package/features/folder/GetFolder/abstractions.js.map +1 -1
  237. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  238. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  239. package/features/folder/GetFolder/feature.d.ts +5 -1
  240. package/features/folder/GetFolder/feature.js +8 -7
  241. package/features/folder/GetFolder/feature.js.map +1 -1
  242. package/features/folder/GetFolder/index.d.ts +1 -1
  243. package/features/folder/GetFolder/index.js +1 -3
  244. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +67 -86
  245. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  246. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  247. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  248. package/features/folder/GetFolderHierarchy/abstractions.d.ts +2 -0
  249. package/features/folder/GetFolderHierarchy/abstractions.js +3 -12
  250. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  251. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  252. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  253. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -1
  254. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  255. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  256. package/features/folder/GetFolderHierarchy/index.js +0 -2
  257. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +2 -2
  258. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +67 -60
  259. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  260. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +1 -0
  261. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -4
  262. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  263. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -1
  264. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  265. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  266. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  267. package/features/folder/ListFolders/ListFoldersRepository.js +39 -41
  268. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  269. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  270. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  271. package/features/folder/ListFolders/abstractions.d.ts +2 -0
  272. package/features/folder/ListFolders/abstractions.js +3 -12
  273. package/features/folder/ListFolders/abstractions.js.map +1 -1
  274. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  275. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  276. package/features/folder/ListFolders/feature.d.ts +5 -1
  277. package/features/folder/ListFolders/feature.js +8 -7
  278. package/features/folder/ListFolders/feature.js.map +1 -1
  279. package/features/folder/ListFolders/index.js +0 -2
  280. package/features/folder/UpdateFolder/UpdateFolderRepository.js +66 -92
  281. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  282. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +1 -1
  283. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +39 -46
  284. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  285. package/features/folder/UpdateFolder/abstractions.d.ts +9 -5
  286. package/features/folder/UpdateFolder/abstractions.js +5 -18
  287. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  288. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +45 -64
  289. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  290. package/features/folder/UpdateFolder/events.d.ts +3 -3
  291. package/features/folder/UpdateFolder/events.js +17 -15
  292. package/features/folder/UpdateFolder/events.js.map +1 -1
  293. package/features/folder/UpdateFolder/feature.d.ts +5 -1
  294. package/features/folder/UpdateFolder/feature.js +8 -7
  295. package/features/folder/UpdateFolder/feature.js.map +1 -1
  296. package/features/folder/UpdateFolder/index.d.ts +1 -1
  297. package/features/folder/UpdateFolder/index.js +1 -3
  298. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  299. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  300. package/features/folder/shared/abstractions.d.ts +1 -0
  301. package/features/folder/shared/abstractions.js +2 -1
  302. package/features/folder/shared/abstractions.js.map +1 -1
  303. package/filter/filter.crud.js +28 -31
  304. package/filter/filter.crud.js.map +1 -1
  305. package/filter/filter.gql.js +32 -48
  306. package/filter/filter.gql.js.map +1 -1
  307. package/filter/filter.model.js +44 -32
  308. package/filter/filter.model.js.map +1 -1
  309. package/filter/filter.so.js +73 -93
  310. package/filter/filter.so.js.map +1 -1
  311. package/filter/filter.types.js +5 -4
  312. package/filter/filter.types.js.map +1 -1
  313. package/flp/flp.crud.js +69 -86
  314. package/flp/flp.crud.js.map +1 -1
  315. package/flp/flp.so.js +162 -199
  316. package/flp/flp.so.js.map +1 -1
  317. package/flp/flp.types.js +0 -3
  318. package/flp/index.js +0 -2
  319. package/flp/tasks/createFlp.task.d.ts +6 -4
  320. package/flp/tasks/createFlp.task.js +27 -26
  321. package/flp/tasks/createFlp.task.js.map +1 -1
  322. package/flp/tasks/deleteFlp.task.d.ts +6 -4
  323. package/flp/tasks/deleteFlp.task.js +27 -26
  324. package/flp/tasks/deleteFlp.task.js.map +1 -1
  325. package/flp/tasks/index.js +13 -12
  326. package/flp/tasks/index.js.map +1 -1
  327. package/flp/tasks/syncFlp.task.d.ts +6 -4
  328. package/flp/tasks/syncFlp.task.js +84 -111
  329. package/flp/tasks/syncFlp.task.js.map +1 -1
  330. package/flp/tasks/updateFlp.task.d.ts +6 -4
  331. package/flp/tasks/updateFlp.task.js +34 -31
  332. package/flp/tasks/updateFlp.task.js.map +1 -1
  333. package/folder/createFolderModelModifier.js +50 -50
  334. package/folder/createFolderModelModifier.js.map +1 -1
  335. package/folder/createFolderTypeDefs.d.ts +3 -2
  336. package/folder/createFolderTypeDefs.js +39 -50
  337. package/folder/createFolderTypeDefs.js.map +1 -1
  338. package/folder/folder.gql.js +100 -133
  339. package/folder/folder.gql.js.map +1 -1
  340. package/folder/folder.types.js +0 -3
  341. package/index.d.ts +1 -1
  342. package/index.js +7 -4
  343. package/index.js.map +1 -1
  344. package/package.json +31 -41
  345. package/types.js +5 -4
  346. package/types.js.map +1 -1
  347. package/utils/FoldersCacheFactory.js +20 -19
  348. package/utils/FoldersCacheFactory.js.map +1 -1
  349. package/utils/ListCache.js +20 -19
  350. package/utils/ListCache.js.map +1 -1
  351. package/utils/Path.js +5 -6
  352. package/utils/Path.js.map +1 -1
  353. package/utils/compress.js +8 -7
  354. package/utils/compress.js.map +1 -1
  355. package/utils/createListSort.js +4 -7
  356. package/utils/createListSort.js.map +1 -1
  357. package/utils/createOperationsWrapper.js +12 -19
  358. package/utils/createOperationsWrapper.js.map +1 -1
  359. package/utils/decorators/CmsEntriesCrudDecorators.js +165 -196
  360. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  361. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  362. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  363. package/utils/decorators/ListEntriesFactory.js +65 -98
  364. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  365. package/utils/decorators/hasRootFolderId.js +6 -12
  366. package/utils/decorators/hasRootFolderId.js.map +1 -1
  367. package/utils/decorators/isPageModel.js +5 -10
  368. package/utils/decorators/isPageModel.js.map +1 -1
  369. package/utils/ensureAuthentication.js +6 -7
  370. package/utils/ensureAuthentication.js.map +1 -1
  371. package/utils/pickEntryFieldValues.js +24 -18
  372. package/utils/pickEntryFieldValues.js.map +1 -1
  373. package/utils/resolve.js +7 -6
  374. package/utils/resolve.js.map +1 -1
  375. package/features/cms/index.js.map +0 -1
  376. package/features/flp/CreateFlp/index.js.map +0 -1
  377. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  378. package/features/flp/DeleteFlp/index.js.map +0 -1
  379. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  380. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  381. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  382. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  383. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  384. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  385. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  386. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  387. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  388. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  389. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  390. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  391. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  392. package/features/flp/GetFlp/index.js.map +0 -1
  393. package/features/flp/ListFlps/index.js.map +0 -1
  394. package/features/flp/UpdateFlp/index.js.map +0 -1
  395. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  396. package/features/folder/CreateFolder/index.js.map +0 -1
  397. package/features/folder/DeleteFolder/index.js.map +0 -1
  398. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  399. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  400. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  401. package/features/folder/GetAncestors/index.js.map +0 -1
  402. package/features/folder/GetFolder/index.js.map +0 -1
  403. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  404. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  405. package/features/folder/ListFolders/index.js.map +0 -1
  406. package/features/folder/UpdateFolder/index.js.map +0 -1
  407. package/flp/flp.types.js.map +0 -1
  408. package/flp/index.js.map +0 -1
  409. package/folder/folder.types.js.map +0 -1
  410. package/utils/acoRecordId.d.ts +0 -6
  411. package/utils/acoRecordId.js +0 -27
  412. package/utils/acoRecordId.js.map +0 -1
@@ -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
- import { ListUsersUseCase } from "@webiny/api-core/features/ListUsers";
5
- import { ListTeamsUseCase } from "@webiny/api-core/features/ListTeams";
4
+ import { ListUsersUseCase } from "@webiny/api-core/features/users/ListUsers/index.js";
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.id}`,
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","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/ListUsers\";\nimport { ListTeamsUseCase } from \"@webiny/api-core/features/ListTeams\";\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.id}`,\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,qCAAqC;AACtE,SAASC,gBAAgB,QAAQ,qCAAqC;AAEtE,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,CAACC,EAAE,EAAE;MACzBG,IAAI,EAAEJ,IAAI,CAACI,IAAI,IAAI,EAAE;MACrBC,IAAI,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IAEH,MAAMC,gBAAgB,GAAGX,UAAU,CAACI,GAAG,CAACQ,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;QACAhC,UAAU,CAACiC,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;QACHjB,EAAE,EAAEM,IAAI,CAACN,EAAE;QACXC,IAAI,EAAE,OAAO;QACbC,MAAM,EAAE,SAASI,IAAI,CAACN,EAAE,EAAE;QAC1BG,IAAI;QACJC,IAAI,EAAE;UACFS,KAAK;UACLE;QACJ;MACJ,CAAC;IACL,CAAC,CAAC;IAEF,MAAMG,OAAO,GAAG,CAAC,GAAGrB,WAAW,EAAE,GAAGQ,gBAAgB,CAAC;IACrD,MAAMD,IAAI,GAAG;MAAEX,UAAU,EAAEyB,OAAO,CAACC;IAAO,CAAC;IAE3C,OAAOzC,MAAM,CAACc,EAAE,CAAC,CAAC0B,OAAO,EAAEd,IAAI,CAAC,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMzB,wCAAwC,GAAGC,kBAAkB,CAACwC,oBAAoB,CAAC;EAC5FC,cAAc,EAAErC,4CAA4C;EAC5DsC,YAAY,EAAE,CAACxC,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"}
@@ -3,6 +3,7 @@ import type { FolderLevelPermissionsTarget, FolderLevelPermissionsTargetListMeta
3
3
  export interface IListFolderLevelPermissionsTargetsUseCase {
4
4
  execute: () => Promise<Result<[FolderLevelPermissionsTarget[], FolderLevelPermissionsTargetListMeta]>>;
5
5
  }
6
+ /** List targets for folder-level permissions. */
6
7
  export declare const ListFolderLevelPermissionsTargetsUseCase: import("@webiny/di").Abstraction<IListFolderLevelPermissionsTargetsUseCase>;
7
8
  export declare namespace ListFolderLevelPermissionsTargetsUseCase {
8
9
  type Interface = IListFolderLevelPermissionsTargetsUseCase;
@@ -1,7 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- // Use Case Abstraction
4
-
5
- export const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
2
+ const ListFolderLevelPermissionsTargetsUseCase = createAbstraction("ListFolderLevelPermissionsTargetsUseCase");
3
+ export { ListFolderLevelPermissionsTargetsUseCase };
6
4
 
7
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\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,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 +1,4 @@
1
- export declare const ListFolderLevelPermissionsTargetsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ListFolderLevelPermissionsTargetsFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -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,5 +1,5 @@
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
4
  import { FolderModel } from "../../../domain/folder/abstractions.js";
5
5
  import { EntryToFolderMapper } from "../shared/EntryToFolderMapper.js";
@@ -7,48 +7,46 @@ 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, 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 { sort, where } = params;
18
+ const listSort = sort || {
19
+ values_title: "ASC"
20
+ };
21
+ const result = await this.listLatestEntries.execute(this.folderModel, {
22
+ ...params,
23
+ sort: this.cmsSortMapper.map({
24
+ input: createListSort(listSort),
25
+ fields: this.folderModel.fields
26
+ }),
27
+ where: this.cmsWhereMapper.map({
28
+ input: where,
29
+ fields: this.folderModel.fields
30
+ })
31
+ });
32
+ if (result.isFail()) return Result.fail(new FolderPersistenceError(result.error));
33
+ const { entries, meta } = result.value;
34
+ const folders = entries.map((entry)=>EntryToFolderMapper.toFolder(entry));
35
+ return Result.ok({
36
+ folders,
37
+ meta
38
+ });
37
39
  }
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
40
  }
49
- export const ListFoldersRepository = RepositoryAbstraction.createImplementation({
50
- implementation: ListFoldersRepositoryImpl,
51
- dependencies: [ListLatestEntriesUseCase, FolderModel, CmsWhereMapper, CmsSortMapper]
41
+ const ListFoldersRepository_ListFoldersRepository = ListFoldersRepository.createImplementation({
42
+ implementation: ListFoldersRepositoryImpl,
43
+ dependencies: [
44
+ ListLatestEntriesUseCase,
45
+ FolderModel,
46
+ CmsWhereMapper,
47
+ CmsSortMapper
48
+ ]
52
49
  });
50
+ export { ListFoldersRepository_ListFoldersRepository as ListFoldersRepository };
53
51
 
54
52
  //# 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 { 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"],"names":["ListFoldersRepositoryImpl","listLatestEntries","folderModel","cmsWhereMapper","cmsSortMapper","params","sort","where","listSort","result","createListSort","Result","FolderPersistenceError","entries","meta","folders","entry","EntryToFolderMapper","ListFoldersRepository","RepositoryAbstraction","ListLatestEntriesUseCase","FolderModel","CmsWhereMapper","CmsSortMapper"],"mappings":";;;;;;;;AAcA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,WAAkC,EAClCC,cAAwC,EACxCC,aAAsC,CAChD;aAJUH,iBAAiB,GAAjBA;aACAC,WAAW,GAAXA;aACAC,cAAc,GAAdA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,MAAyB,EAAgC;QACnE,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGF;QAExB,MAAMG,WACFF,QACC;YACG,cAAc;QAClB;QAEJ,MAAMG,SAAS,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAiB,IAAI,CAAC,WAAW,EAAE;YAClF,GAAGJ,MAAM;YACT,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACzB,OAAOK,eAAeF;gBACtB,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM;YACnC;YACA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC3B,OAAOD;gBACP,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM;YACnC;QACJ;QAEA,IAAIE,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,gBAAgBnB;IAChB,cAAc;QAACoB;QAA0BC;QAAaC;QAAgBC;KAAc;AACxF"}
@@ -1,17 +1,20 @@
1
1
  import { createImplementation } from "@webiny/feature/api";
2
- import { ListFoldersUseCase as UseCaseAbstraction, ListFoldersRepository } from "./abstractions.js";
2
+ import { ListFoldersRepository, ListFoldersUseCase } from "./abstractions.js";
3
3
  class ListFoldersUseCaseImpl {
4
- constructor(repository) {
5
- this.repository = repository;
6
- }
7
- async execute(params) {
8
- return await this.repository.execute(params);
9
- }
4
+ constructor(repository){
5
+ this.repository = repository;
6
+ }
7
+ async execute(params) {
8
+ return await this.repository.execute(params);
9
+ }
10
10
  }
11
- export const ListFoldersUseCase = createImplementation({
12
- abstraction: UseCaseAbstraction,
13
- implementation: ListFoldersUseCaseImpl,
14
- dependencies: [ListFoldersRepository]
11
+ const ListFoldersUseCase_ListFoldersUseCase = createImplementation({
12
+ abstraction: ListFoldersUseCase,
13
+ implementation: ListFoldersUseCaseImpl,
14
+ dependencies: [
15
+ ListFoldersRepository
16
+ ]
15
17
  });
18
+ export { ListFoldersUseCase_ListFoldersUseCase as ListFoldersUseCase };
16
19
 
17
20
  //# sourceMappingURL=ListFoldersUseCase.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createImplementation","ListFoldersUseCase","UseCaseAbstraction","ListFoldersRepository","ListFoldersUseCaseImpl","constructor","repository","execute","params","abstraction","implementation","dependencies"],"sources":["ListFoldersUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListFoldersUseCase as UseCaseAbstraction, ListFoldersRepository } from \"./abstractions.js\";\nimport type { ListFoldersParams } from \"~/folder/folder.types.js\";\n\nclass ListFoldersUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListFoldersRepository.Interface) {}\n\n async execute(params: ListFoldersParams): UseCaseAbstraction.Return {\n return await this.repository.execute(params);\n }\n}\n\nexport const ListFoldersUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListFoldersUseCaseImpl,\n dependencies: [ListFoldersRepository]\n});\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,qBAAqB;AAC1D,SAASC,kBAAkB,IAAIC,kBAAkB,EAAEC,qBAAqB;AAGxE,MAAMC,sBAAsB,CAAyC;EACjEC,WAAWA,CAASC,UAA2C,EAAE;IAAA,KAA7CA,UAA2C,GAA3CA,UAA2C;EAAG;EAElE,MAAMC,OAAOA,CAACC,MAAyB,EAA6B;IAChE,OAAO,MAAM,IAAI,CAACF,UAAU,CAACC,OAAO,CAACC,MAAM,CAAC;EAChD;AACJ;AAEA,OAAO,MAAMP,kBAAkB,GAAGD,oBAAoB,CAAC;EACnDS,WAAW,EAAEP,kBAAkB;EAC/BQ,cAAc,EAAEN,sBAAsB;EACtCO,YAAY,EAAE,CAACR,qBAAqB;AACxC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/ListFolders/ListFoldersUseCase.js","sources":["../../../../src/features/folder/ListFolders/ListFoldersUseCase.ts"],"sourcesContent":["import { createImplementation } from \"@webiny/feature/api\";\nimport { ListFoldersUseCase as UseCaseAbstraction, ListFoldersRepository } from \"./abstractions.js\";\nimport type { ListFoldersParams } from \"~/folder/folder.types.js\";\n\nclass ListFoldersUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: ListFoldersRepository.Interface) {}\n\n async execute(params: ListFoldersParams): UseCaseAbstraction.Return {\n return await this.repository.execute(params);\n }\n}\n\nexport const ListFoldersUseCase = createImplementation({\n abstraction: UseCaseAbstraction,\n implementation: ListFoldersUseCaseImpl,\n dependencies: [ListFoldersRepository]\n});\n"],"names":["ListFoldersUseCaseImpl","repository","params","ListFoldersUseCase","createImplementation","UseCaseAbstraction","ListFoldersRepository"],"mappings":";;AAIA,MAAMA;IACF,YAAoBC,UAA2C,CAAE;aAA7CA,UAAU,GAAVA;IAA8C;IAElE,MAAM,QAAQC,MAAyB,EAA6B;QAChE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACA;IACzC;AACJ;AAEO,MAAMC,wCAAqBC,qBAAqB;IACnD,aAAaC;IACb,gBAAgBL;IAChB,cAAc;QAACM;KAAsB;AACzC"}
@@ -16,6 +16,7 @@ export interface IListFoldersRepositoryErrors {
16
16
  persistence: FolderPersistenceError;
17
17
  }
18
18
  type RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];
19
+ /** Fetch folders from storage. */
19
20
  export declare const ListFoldersRepository: import("@webiny/di").Abstraction<IListFoldersRepository>;
20
21
  export declare namespace ListFoldersRepository {
21
22
  type Interface = IListFoldersRepository;
@@ -33,6 +34,7 @@ export interface IListFoldersUseCaseErrors {
33
34
  persistence: FolderPersistenceError;
34
35
  }
35
36
  type UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];
37
+ /** List folders with filtering. */
36
38
  export declare const ListFoldersUseCase: import("@webiny/di").Abstraction<IListFoldersUseCase>;
37
39
  export declare namespace ListFoldersUseCase {
38
40
  type Interface = IListFoldersUseCase;
@@ -1,15 +1,6 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
-
3
- /**
4
- * ListFolders repository interface
5
- */
6
-
7
- export const ListFoldersRepository = createAbstraction("ListFoldersRepository");
8
-
9
- /**
10
- * ListFolders use case interface
11
- */
12
-
13
- export const ListFoldersUseCase = createAbstraction("ListFoldersUseCase");
2
+ const ListFoldersRepository = createAbstraction("ListFoldersRepository");
3
+ const ListFoldersUseCase = createAbstraction("ListFoldersUseCase");
4
+ export { ListFoldersRepository, ListFoldersUseCase };
14
5
 
15
6
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","ListFoldersRepository","ListFoldersUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport type { ListMeta } from \"~/types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\ninterface IListFoldersResult {\n folders: Folder[];\n meta: ListMeta;\n}\n\n/**\n * ListFolders repository interface\n */\nexport interface IListFoldersRepository {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;\n}\n\nexport interface IListFoldersRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];\n\nexport const ListFoldersRepository =\n createAbstraction<IListFoldersRepository>(\"ListFoldersRepository\");\n\nexport namespace ListFoldersRepository {\n export type Interface = IListFoldersRepository;\n export type Return = Promise<Result<IListFoldersResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFolders use case interface\n */\nexport interface IListFoldersUseCase {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;\n}\n\nexport interface IListFoldersUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];\n\nexport const ListFoldersUseCase = createAbstraction<IListFoldersUseCase>(\"ListFoldersUseCase\");\n\nexport namespace ListFoldersUseCase {\n export type Interface = IListFoldersUseCase;\n export type Return = Promise<Result<IListFoldersResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAWvD;AACA;AACA;;AAWA,OAAO,MAAMC,qBAAqB,GAC9BD,iBAAiB,CAAyB,uBAAuB,CAAC;;AAQtE;AACA;AACA;;AAYA,OAAO,MAAME,kBAAkB,GAAGF,iBAAiB,CAAsB,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/ListFolders/abstractions.js","sources":["../../../../src/features/folder/ListFolders/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { Result } from \"@webiny/feature/api\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types.js\";\nimport type { ListMeta } from \"~/types.js\";\nimport type { FolderNotAuthorizedError, FolderPersistenceError } from \"~/domain/folder/errors.js\";\n\ninterface IListFoldersResult {\n folders: Folder[];\n meta: ListMeta;\n}\n\n/**\n * ListFolders repository interface\n */\nexport interface IListFoldersRepository {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, RepositoryError>>;\n}\n\nexport interface IListFoldersRepositoryErrors {\n persistence: FolderPersistenceError;\n}\n\ntype RepositoryError = IListFoldersRepositoryErrors[keyof IListFoldersRepositoryErrors];\n\n/** Fetch folders from storage. */\nexport const ListFoldersRepository =\n createAbstraction<IListFoldersRepository>(\"ListFoldersRepository\");\n\nexport namespace ListFoldersRepository {\n export type Interface = IListFoldersRepository;\n export type Return = Promise<Result<IListFoldersResult, RepositoryError>>;\n export type Error = RepositoryError;\n}\n\n/**\n * ListFolders use case interface\n */\nexport interface IListFoldersUseCase {\n execute(params: ListFoldersParams): Promise<Result<IListFoldersResult, UseCaseError>>;\n}\n\nexport interface IListFoldersUseCaseErrors {\n notAuthorized: FolderNotAuthorizedError;\n persistence: FolderPersistenceError;\n}\n\ntype UseCaseError = IListFoldersUseCaseErrors[keyof IListFoldersUseCaseErrors];\n\n/** List folders with filtering. */\nexport const ListFoldersUseCase = createAbstraction<IListFoldersUseCase>(\"ListFoldersUseCase\");\n\nexport namespace ListFoldersUseCase {\n export type Interface = IListFoldersUseCase;\n export type Return = Promise<Result<IListFoldersResult, UseCaseError>>;\n export type Error = UseCaseError;\n}\n"],"names":["ListFoldersRepository","createAbstraction","ListFoldersUseCase"],"mappings":";AAyBO,MAAMA,wBACTC,kBAA0C;AAuBvC,MAAMC,qBAAqBD,kBAAuC"}
@@ -3,75 +3,63 @@ import { ListFoldersUseCase } from "../abstractions.js";
3
3
  import { FolderLevelPermissions } from "../../../flp/FolderLevelPermissions/index.js";
4
4
  import { ROOT_FOLDER } from "../../../../constants.js";
5
5
  class ListFoldersWithFolderLevelPermissionsImpl {
6
- flpCatalog = new Map();
7
- constructor(folderLevelPermissions, decoratee) {
8
- this.folderLevelPermissions = folderLevelPermissions;
9
- this.decoratee = decoratee;
10
- }
11
- async execute(params) {
12
- const result = await this.decoratee.execute(params);
13
- if (result.isFail()) {
14
- return Result.fail(result.error);
6
+ constructor(folderLevelPermissions, decoratee){
7
+ this.folderLevelPermissions = folderLevelPermissions;
8
+ this.decoratee = decoratee;
9
+ this.flpCatalog = new Map();
10
+ }
11
+ async execute(params) {
12
+ const result = await this.decoratee.execute(params);
13
+ if (result.isFail()) return Result.fail(result.error);
14
+ const { folders, meta } = result.value;
15
+ const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({
16
+ where: {
17
+ type: params.where.type,
18
+ parentId: ROOT_FOLDER
19
+ }
20
+ });
21
+ rootFlps.forEach((flp)=>this.setFlp(flp.id, flp.permissions));
22
+ await Promise.all(folders.map(async (folder)=>{
23
+ if (!this.hasFlp(folder.id)) {
24
+ const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
25
+ this.setFlp(folder.id, permissions);
26
+ }
27
+ }));
28
+ const foldersWithPermissions = await Promise.all(folders.map(async (folder)=>{
29
+ const permissions = this.getFlp(folder.id);
30
+ if (!permissions) return null;
31
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
32
+ permissions,
33
+ rwd: "r"
34
+ });
35
+ if (!canAccessFolder) return null;
36
+ const folderWithFlp = {
37
+ ...folder,
38
+ permissions
39
+ };
40
+ return canAccessFolder ? folderWithFlp : null;
41
+ }));
42
+ return Result.ok({
43
+ folders: foldersWithPermissions.filter(Boolean),
44
+ meta
45
+ });
46
+ }
47
+ hasFlp(id) {
48
+ return this.flpCatalog.has(id);
49
+ }
50
+ getFlp(id) {
51
+ return this.flpCatalog.get(id);
52
+ }
53
+ setFlp(id, permissions) {
54
+ this.flpCatalog.set(id, permissions);
15
55
  }
16
- const {
17
- folders,
18
- meta
19
- } = result.value;
20
-
21
- // Fetch FLP records for ROOT folders and populate the catalog.
22
- const rootFlps = await this.folderLevelPermissions.listFolderLevelPermissions({
23
- where: {
24
- type: params.where.type,
25
- parentId: ROOT_FOLDER
26
- }
27
- });
28
- rootFlps.forEach(flp => this.setFlp(flp.id, flp.permissions));
29
-
30
- // Fetch FLP for folders not already in the catalog.
31
- await Promise.all(folders.map(async folder => {
32
- if (!this.hasFlp(folder.id)) {
33
- const permissions = await this.folderLevelPermissions.getFolderLevelPermissions(folder.id);
34
- this.setFlp(folder.id, permissions);
35
- }
36
- }));
37
-
38
- // Filter folders based on permissions.
39
- const foldersWithPermissions = await Promise.all(folders.map(async folder => {
40
- const permissions = this.getFlp(folder.id);
41
- if (!permissions) {
42
- return null;
43
- }
44
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
45
- permissions,
46
- rwd: "r"
47
- });
48
- if (!canAccessFolder) {
49
- return null;
50
- }
51
- const folderWithFlp = {
52
- ...folder,
53
- permissions
54
- };
55
- return canAccessFolder ? folderWithFlp : null;
56
- }));
57
- return Result.ok({
58
- folders: foldersWithPermissions.filter(Boolean),
59
- meta
60
- });
61
- }
62
- hasFlp(id) {
63
- return this.flpCatalog.has(id);
64
- }
65
- getFlp(id) {
66
- return this.flpCatalog.get(id);
67
- }
68
- setFlp(id, permissions) {
69
- this.flpCatalog.set(id, permissions);
70
- }
71
56
  }
72
- export const ListFoldersWithFolderLevelPermissions = ListFoldersUseCase.createDecorator({
73
- decorator: ListFoldersWithFolderLevelPermissionsImpl,
74
- dependencies: [FolderLevelPermissions]
57
+ const ListFoldersWithFolderLevelPermissions = ListFoldersUseCase.createDecorator({
58
+ decorator: ListFoldersWithFolderLevelPermissionsImpl,
59
+ dependencies: [
60
+ FolderLevelPermissions
61
+ ]
75
62
  });
63
+ export { ListFoldersWithFolderLevelPermissions };
76
64
 
77
65
  //# sourceMappingURL=ListFoldersWithFolderLevelPermissions.js.map