@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,77 +1,58 @@
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 { UpdateFolderUseCase } from "../abstractions.js";
4
4
  import { GetFolderUseCase } from "../../GetFolder/index.js";
5
5
  import { FolderCannotMoveToNewParent, FolderValidationError } from "../../../../domain/folder/errors.js";
6
6
  class UpdateFolderWithFolderLevelPermissionsImpl {
7
- constructor(getFolder, folderLevelPermissions, decoretee) {
8
- this.getFolder = getFolder;
9
- this.folderLevelPermissions = folderLevelPermissions;
10
- this.decoretee = decoretee;
11
- }
12
- async execute(id, params) {
13
- const originalResult = await this.getFolder.execute(id);
14
- if (originalResult.isFail()) {
15
- return Result.fail(originalResult.error);
7
+ constructor(getFolder, folderLevelPermissions, decoretee){
8
+ this.getFolder = getFolder;
9
+ this.folderLevelPermissions = folderLevelPermissions;
10
+ this.decoretee = decoretee;
16
11
  }
17
- const original = originalResult.value;
18
- const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);
19
-
20
- // Let's ensure current identity's permission allows the update operation.
21
- await this.folderLevelPermissions.ensureCanAccessFolder({
22
- permissions: originalPermissions,
23
- rwd: "w"
24
- });
25
- const permissions = await this.folderLevelPermissions.getDefaultPermissions(params.permissions ?? []);
26
-
27
- // Check if the user still has access to the folder with the provided permissions.
28
- const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({
29
- permissions,
30
- rwd: "w"
31
- });
32
- if (!stillHasAccess) {
33
- return Result.fail(new FolderValidationError(`Cannot continue because you would loose access to this folder.`));
34
- }
35
-
36
- // Validate data.
37
- if (Array.isArray(params.permissions)) {
38
- for (const permission of params.permissions) {
39
- const targetIsValid = permission.target.startsWith("admin:") || permission.target.startsWith("team:");
40
- if (!targetIsValid) {
41
- return Result.fail(new FolderValidationError(`Permission target "${permission.target}" is not valid.`));
12
+ async execute(id, params) {
13
+ const originalResult = await this.getFolder.execute(id);
14
+ if (originalResult.isFail()) return Result.fail(originalResult.error);
15
+ const original = originalResult.value;
16
+ const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);
17
+ await this.folderLevelPermissions.ensureCanAccessFolder({
18
+ permissions: originalPermissions,
19
+ rwd: "w"
20
+ });
21
+ const permissions = await this.folderLevelPermissions.getDefaultPermissions(params.permissions ?? []);
22
+ const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({
23
+ permissions,
24
+ rwd: "w"
25
+ });
26
+ if (!stillHasAccess) return Result.fail(new FolderValidationError("Cannot continue because you would loose access to this folder."));
27
+ if (Array.isArray(params.permissions)) for (const permission of params.permissions){
28
+ const targetIsValid = permission.target.startsWith("admin:") || permission.target.startsWith("team:");
29
+ if (!targetIsValid) return Result.fail(new FolderValidationError(`Permission target "${permission.target}" is not valid.`));
30
+ if (permission.inheritedFrom) return Result.fail(new FolderValidationError('Permission "inheritedFrom" cannot be set manually.'));
42
31
  }
43
- if (permission.inheritedFrom) {
44
- return Result.fail(new FolderValidationError(`Permission "inheritedFrom" cannot be set manually.`));
32
+ if (params.parentId && params.parentId !== original.parentId) {
33
+ const parentPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
34
+ const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
35
+ permissions: parentPermissions,
36
+ rwd: "w"
37
+ });
38
+ if (!canAccessFolder) return Result.fail(new FolderCannotMoveToNewParent());
45
39
  }
46
- }
47
- }
48
-
49
- // Parent change is not allowed if the user doesn't have access to the new parent.
50
- if (params.parentId && params.parentId !== original.parentId) {
51
- // Getting the parent folder permissions will throw an error if the user doesn't have access.
52
- const parentPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(params.parentId);
53
- const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({
54
- permissions: parentPermissions,
55
- rwd: "w"
56
- });
57
- if (!canAccessFolder) {
58
- return Result.fail(new FolderCannotMoveToNewParent());
59
- }
60
- }
61
- const result = await this.decoretee.execute(id, params);
62
- if (result.isFail()) {
63
- return Result.fail(result.error);
40
+ const result = await this.decoretee.execute(id, params);
41
+ if (result.isFail()) return Result.fail(result.error);
42
+ return Result.ok({
43
+ ...result.value,
44
+ permissions
45
+ });
64
46
  }
65
- return Result.ok({
66
- ...result.value,
67
- permissions
68
- });
69
- }
70
47
  }
71
- export const UpdateFolderWithFolderLevelPermissions = createDecorator({
72
- abstraction: UpdateFolderUseCase,
73
- decorator: UpdateFolderWithFolderLevelPermissionsImpl,
74
- dependencies: [GetFolderUseCase, FolderLevelPermissions]
48
+ const UpdateFolderWithFolderLevelPermissions = createDecorator({
49
+ abstraction: UpdateFolderUseCase,
50
+ decorator: UpdateFolderWithFolderLevelPermissionsImpl,
51
+ dependencies: [
52
+ GetFolderUseCase,
53
+ FolderLevelPermissions
54
+ ]
75
55
  });
56
+ export { UpdateFolderWithFolderLevelPermissions };
76
57
 
77
58
  //# sourceMappingURL=UpdateFolderWithFolderLevelPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDecorator","Result","FolderLevelPermissions","UpdateFolderUseCase","GetFolderUseCase","FolderCannotMoveToNewParent","FolderValidationError","UpdateFolderWithFolderLevelPermissionsImpl","constructor","getFolder","folderLevelPermissions","decoretee","execute","id","params","originalResult","isFail","fail","error","original","value","originalPermissions","getFolderLevelPermissions","ensureCanAccessFolder","permissions","rwd","getDefaultPermissions","stillHasAccess","canAccessFolder","Array","isArray","permission","targetIsValid","target","startsWith","inheritedFrom","parentId","parentPermissions","result","ok","UpdateFolderWithFolderLevelPermissions","abstraction","decorator","dependencies"],"sources":["UpdateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport type { UpdateFolderParams } from \"~/folder/folder.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { UpdateFolderUseCase } from \"../abstractions.js\";\nimport { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport { FolderCannotMoveToNewParent, FolderValidationError } from \"~/domain/folder/errors.js\";\n\nclass UpdateFolderWithFolderLevelPermissionsImpl implements UpdateFolderUseCase.Interface {\n private folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly decoretee: UpdateFolderUseCase.Interface;\n\n constructor(\n private getFolder: GetFolderUseCase.Interface,\n folderLevelPermissions: FolderLevelPermissions.Interface,\n decoretee: UpdateFolderUseCase.Interface\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(id: string, params: UpdateFolderParams): UpdateFolderUseCase.Return {\n const originalResult = await this.getFolder.execute(id);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const original = originalResult.value;\n\n const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);\n\n // Let's ensure current identity's permission allows the update operation.\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions: originalPermissions,\n rwd: \"w\"\n });\n\n const permissions = await this.folderLevelPermissions.getDefaultPermissions(\n params.permissions ?? []\n );\n\n // Check if the user still has access to the folder with the provided permissions.\n const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n\n if (!stillHasAccess) {\n return Result.fail(\n new FolderValidationError(\n `Cannot continue because you would loose access to this folder.`\n )\n );\n }\n\n // Validate data.\n if (Array.isArray(params.permissions)) {\n for (const permission of params.permissions) {\n const targetIsValid =\n permission.target.startsWith(\"admin:\") || permission.target.startsWith(\"team:\");\n if (!targetIsValid) {\n return Result.fail(\n new FolderValidationError(\n `Permission target \"${permission.target}\" is not valid.`\n )\n );\n }\n\n if (permission.inheritedFrom) {\n return Result.fail(\n new FolderValidationError(\n `Permission \"inheritedFrom\" cannot be set manually.`\n )\n );\n }\n }\n }\n\n // Parent change is not allowed if the user doesn't have access to the new parent.\n if (params.parentId && params.parentId !== original.parentId) {\n // Getting the parent folder permissions will throw an error if the user doesn't have access.\n const parentPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n params.parentId\n );\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions: parentPermissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new FolderCannotMoveToNewParent());\n }\n }\n\n const result = await this.decoretee.execute(id, params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok({\n ...result.value,\n permissions\n });\n }\n}\n\nexport const UpdateFolderWithFolderLevelPermissions = createDecorator({\n abstraction: UpdateFolderUseCase,\n decorator: UpdateFolderWithFolderLevelPermissionsImpl,\n dependencies: [GetFolderUseCase, FolderLevelPermissions]\n});\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,qBAAqB;AAE7D,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,gBAAgB;AACzB,SAASC,2BAA2B,EAAEC,qBAAqB;AAE3D,MAAMC,0CAA0C,CAA0C;EAItFC,WAAWA,CACCC,SAAqC,EAC7CC,sBAAwD,EACxDC,SAAwC,EAC1C;IAAA,KAHUF,SAAqC,GAArCA,SAAqC;IAI7C,IAAI,CAACC,sBAAsB,GAAGA,sBAAsB;IACpD,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC9B;EAEA,MAAMC,OAAOA,CAACC,EAAU,EAAEC,MAA0B,EAA8B;IAC9E,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACN,SAAS,CAACG,OAAO,CAACC,EAAE,CAAC;IAEvD,IAAIE,cAAc,CAACC,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOf,MAAM,CAACgB,IAAI,CAACF,cAAc,CAACG,KAAK,CAAC;IAC5C;IAEA,MAAMC,QAAQ,GAAGJ,cAAc,CAACK,KAAK;IAErC,MAAMC,mBAAmB,GAAG,MAAM,IAAI,CAACX,sBAAsB,CAACY,yBAAyB,CAACT,EAAE,CAAC;;IAE3F;IACA,MAAM,IAAI,CAACH,sBAAsB,CAACa,qBAAqB,CAAC;MACpDC,WAAW,EAAEH,mBAAmB;MAChCI,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,MAAMD,WAAW,GAAG,MAAM,IAAI,CAACd,sBAAsB,CAACgB,qBAAqB,CACvEZ,MAAM,CAACU,WAAW,IAAI,EAC1B,CAAC;;IAED;IACA,MAAMG,cAAc,GAAG,MAAM,IAAI,CAACjB,sBAAsB,CAACkB,eAAe,CAAC;MACrEJ,WAAW;MACXC,GAAG,EAAE;IACT,CAAC,CAAC;IAEF,IAAI,CAACE,cAAc,EAAE;MACjB,OAAO1B,MAAM,CAACgB,IAAI,CACd,IAAIX,qBAAqB,CACrB,gEACJ,CACJ,CAAC;IACL;;IAEA;IACA,IAAIuB,KAAK,CAACC,OAAO,CAAChB,MAAM,CAACU,WAAW,CAAC,EAAE;MACnC,KAAK,MAAMO,UAAU,IAAIjB,MAAM,CAACU,WAAW,EAAE;QACzC,MAAMQ,aAAa,GACfD,UAAU,CAACE,MAAM,CAACC,UAAU,CAAC,QAAQ,CAAC,IAAIH,UAAU,CAACE,MAAM,CAACC,UAAU,CAAC,OAAO,CAAC;QACnF,IAAI,CAACF,aAAa,EAAE;UAChB,OAAO/B,MAAM,CAACgB,IAAI,CACd,IAAIX,qBAAqB,CACrB,sBAAsByB,UAAU,CAACE,MAAM,iBAC3C,CACJ,CAAC;QACL;QAEA,IAAIF,UAAU,CAACI,aAAa,EAAE;UAC1B,OAAOlC,MAAM,CAACgB,IAAI,CACd,IAAIX,qBAAqB,CACrB,oDACJ,CACJ,CAAC;QACL;MACJ;IACJ;;IAEA;IACA,IAAIQ,MAAM,CAACsB,QAAQ,IAAItB,MAAM,CAACsB,QAAQ,KAAKjB,QAAQ,CAACiB,QAAQ,EAAE;MAC1D;MACA,MAAMC,iBAAiB,GAAG,MAAM,IAAI,CAAC3B,sBAAsB,CAACY,yBAAyB,CACjFR,MAAM,CAACsB,QACX,CAAC;MAED,MAAMR,eAAe,GAAG,MAAM,IAAI,CAAClB,sBAAsB,CAACkB,eAAe,CAAC;QACtEJ,WAAW,EAAEa,iBAAiB;QAC9BZ,GAAG,EAAE;MACT,CAAC,CAAC;MAEF,IAAI,CAACG,eAAe,EAAE;QAClB,OAAO3B,MAAM,CAACgB,IAAI,CAAC,IAAIZ,2BAA2B,CAAC,CAAC,CAAC;MACzD;IACJ;IAEA,MAAMiC,MAAM,GAAG,MAAM,IAAI,CAAC3B,SAAS,CAACC,OAAO,CAACC,EAAE,EAAEC,MAAM,CAAC;IAEvD,IAAIwB,MAAM,CAACtB,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOf,MAAM,CAACgB,IAAI,CAACqB,MAAM,CAACpB,KAAK,CAAC;IACpC;IAEA,OAAOjB,MAAM,CAACsC,EAAE,CAAC;MACb,GAAGD,MAAM,CAAClB,KAAK;MACfI;IACJ,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMgB,sCAAsC,GAAGxC,eAAe,CAAC;EAClEyC,WAAW,EAAEtC,mBAAmB;EAChCuC,SAAS,EAAEnC,0CAA0C;EACrDoC,YAAY,EAAE,CAACvC,gBAAgB,EAAEF,sBAAsB;AAC3D,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js","sources":["../../../../../src/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.ts"],"sourcesContent":["import { createDecorator, Result } from \"@webiny/feature/api\";\nimport type { UpdateFolderParams } from \"~/folder/folder.types.js\";\nimport { FolderLevelPermissions } from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { UpdateFolderUseCase } from \"../abstractions.js\";\nimport { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport { FolderCannotMoveToNewParent, FolderValidationError } from \"~/domain/folder/errors.js\";\n\nclass UpdateFolderWithFolderLevelPermissionsImpl implements UpdateFolderUseCase.Interface {\n private folderLevelPermissions: FolderLevelPermissions.Interface;\n private readonly decoretee: UpdateFolderUseCase.Interface;\n\n constructor(\n private getFolder: GetFolderUseCase.Interface,\n folderLevelPermissions: FolderLevelPermissions.Interface,\n decoretee: UpdateFolderUseCase.Interface\n ) {\n this.folderLevelPermissions = folderLevelPermissions;\n this.decoretee = decoretee;\n }\n\n async execute(id: string, params: UpdateFolderParams): UpdateFolderUseCase.Return {\n const originalResult = await this.getFolder.execute(id);\n\n if (originalResult.isFail()) {\n return Result.fail(originalResult.error);\n }\n\n const original = originalResult.value;\n\n const originalPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(id);\n\n // Let's ensure current identity's permission allows the update operation.\n await this.folderLevelPermissions.ensureCanAccessFolder({\n permissions: originalPermissions,\n rwd: \"w\"\n });\n\n const permissions = await this.folderLevelPermissions.getDefaultPermissions(\n params.permissions ?? []\n );\n\n // Check if the user still has access to the folder with the provided permissions.\n const stillHasAccess = await this.folderLevelPermissions.canAccessFolder({\n permissions,\n rwd: \"w\"\n });\n\n if (!stillHasAccess) {\n return Result.fail(\n new FolderValidationError(\n `Cannot continue because you would loose access to this folder.`\n )\n );\n }\n\n // Validate data.\n if (Array.isArray(params.permissions)) {\n for (const permission of params.permissions) {\n const targetIsValid =\n permission.target.startsWith(\"admin:\") || permission.target.startsWith(\"team:\");\n if (!targetIsValid) {\n return Result.fail(\n new FolderValidationError(\n `Permission target \"${permission.target}\" is not valid.`\n )\n );\n }\n\n if (permission.inheritedFrom) {\n return Result.fail(\n new FolderValidationError(\n `Permission \"inheritedFrom\" cannot be set manually.`\n )\n );\n }\n }\n }\n\n // Parent change is not allowed if the user doesn't have access to the new parent.\n if (params.parentId && params.parentId !== original.parentId) {\n // Getting the parent folder permissions will throw an error if the user doesn't have access.\n const parentPermissions = await this.folderLevelPermissions.getFolderLevelPermissions(\n params.parentId\n );\n\n const canAccessFolder = await this.folderLevelPermissions.canAccessFolder({\n permissions: parentPermissions,\n rwd: \"w\"\n });\n\n if (!canAccessFolder) {\n return Result.fail(new FolderCannotMoveToNewParent());\n }\n }\n\n const result = await this.decoretee.execute(id, params);\n\n if (result.isFail()) {\n return Result.fail(result.error);\n }\n\n return Result.ok({\n ...result.value,\n permissions\n });\n }\n}\n\nexport const UpdateFolderWithFolderLevelPermissions = createDecorator({\n abstraction: UpdateFolderUseCase,\n decorator: UpdateFolderWithFolderLevelPermissionsImpl,\n dependencies: [GetFolderUseCase, FolderLevelPermissions]\n});\n"],"names":["UpdateFolderWithFolderLevelPermissionsImpl","getFolder","folderLevelPermissions","decoretee","id","params","originalResult","Result","original","originalPermissions","permissions","stillHasAccess","FolderValidationError","Array","permission","targetIsValid","parentPermissions","canAccessFolder","FolderCannotMoveToNewParent","result","UpdateFolderWithFolderLevelPermissions","createDecorator","UpdateFolderUseCase","GetFolderUseCase","FolderLevelPermissions"],"mappings":";;;;;AAOA,MAAMA;IAIF,YACYC,SAAqC,EAC7CC,sBAAwD,EACxDC,SAAwC,CAC1C;aAHUF,SAAS,GAATA;QAIR,IAAI,CAAC,sBAAsB,GAAGC;QAC9B,IAAI,CAAC,SAAS,GAAGC;IACrB;IAEA,MAAM,QAAQC,EAAU,EAAEC,MAA0B,EAA8B;QAC9E,MAAMC,iBAAiB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF;QAEpD,IAAIE,eAAe,MAAM,IACrB,OAAOC,OAAO,IAAI,CAACD,eAAe,KAAK;QAG3C,MAAME,WAAWF,eAAe,KAAK;QAErC,MAAMG,sBAAsB,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CAACL;QAGxF,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;YACpD,aAAaK;YACb,KAAK;QACT;QAEA,MAAMC,cAAc,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CACvEL,OAAO,WAAW,IAAI,EAAE;QAI5B,MAAMM,iBAAiB,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;YACrED;YACA,KAAK;QACT;QAEA,IAAI,CAACC,gBACD,OAAOJ,OAAO,IAAI,CACd,IAAIK,sBACA;QAMZ,IAAIC,MAAM,OAAO,CAACR,OAAO,WAAW,GAChC,KAAK,MAAMS,cAAcT,OAAO,WAAW,CAAE;YACzC,MAAMU,gBACFD,WAAW,MAAM,CAAC,UAAU,CAAC,aAAaA,WAAW,MAAM,CAAC,UAAU,CAAC;YAC3E,IAAI,CAACC,eACD,OAAOR,OAAO,IAAI,CACd,IAAIK,sBACA,CAAC,mBAAmB,EAAEE,WAAW,MAAM,CAAC,eAAe,CAAC;YAKpE,IAAIA,WAAW,aAAa,EACxB,OAAOP,OAAO,IAAI,CACd,IAAIK,sBACA;QAIhB;QAIJ,IAAIP,OAAO,QAAQ,IAAIA,OAAO,QAAQ,KAAKG,SAAS,QAAQ,EAAE;YAE1D,MAAMQ,oBAAoB,MAAM,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CACjFX,OAAO,QAAQ;YAGnB,MAAMY,kBAAkB,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;gBACtE,aAAaD;gBACb,KAAK;YACT;YAEA,IAAI,CAACC,iBACD,OAAOV,OAAO,IAAI,CAAC,IAAIW;QAE/B;QAEA,MAAMC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACf,IAAIC;QAEhD,IAAIc,OAAO,MAAM,IACb,OAAOZ,OAAO,IAAI,CAACY,OAAO,KAAK;QAGnC,OAAOZ,OAAO,EAAE,CAAC;YACb,GAAGY,OAAO,KAAK;YACfT;QACJ;IACJ;AACJ;AAEO,MAAMU,yCAAyCC,gBAAgB;IAClE,aAAaC;IACb,WAAWtB;IACX,cAAc;QAACuB;QAAkBC;KAAuB;AAC5D"}
@@ -1,10 +1,10 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
2
  import type { FolderBeforeUpdatePayload, FolderAfterUpdatePayload } from "./abstractions.js";
3
3
  export declare class FolderBeforeUpdateEvent extends DomainEvent<FolderBeforeUpdatePayload> {
4
4
  eventType: "folder.beforeUpdate";
5
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>>;
5
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderBeforeUpdatePayload>>>;
6
6
  }
7
7
  export declare class FolderAfterUpdateEvent extends DomainEvent<FolderAfterUpdatePayload> {
8
8
  eventType: "folder.afterUpdate";
9
- getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/EventPublisher").IEventHandler<DomainEvent<FolderAfterUpdatePayload>>>;
9
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher/abstractions.js").IEventHandler<DomainEvent<FolderAfterUpdatePayload>>>;
10
10
  }
@@ -1,19 +1,21 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import { FolderBeforeUpdateHandler, FolderAfterUpdateHandler } from "./abstractions.js";
3
- // FolderBeforeUpdate Event
4
- export class FolderBeforeUpdateEvent extends DomainEvent {
5
- eventType = "folder.beforeUpdate";
6
- getHandlerAbstraction() {
7
- return FolderBeforeUpdateHandler;
8
- }
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler } from "./abstractions.js";
3
+ class FolderBeforeUpdateEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return FolderBeforeUpdateEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "folder.beforeUpdate";
9
+ }
9
10
  }
10
-
11
- // FolderAfterUpdate Event
12
- export class FolderAfterUpdateEvent extends DomainEvent {
13
- eventType = "folder.afterUpdate";
14
- getHandlerAbstraction() {
15
- return FolderAfterUpdateHandler;
16
- }
11
+ class FolderAfterUpdateEvent extends DomainEvent {
12
+ getHandlerAbstraction() {
13
+ return FolderAfterUpdateEventHandler;
14
+ }
15
+ constructor(...args){
16
+ super(...args), this.eventType = "folder.afterUpdate";
17
+ }
17
18
  }
19
+ export { FolderAfterUpdateEvent, FolderBeforeUpdateEvent };
18
20
 
19
21
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DomainEvent","FolderBeforeUpdateHandler","FolderAfterUpdateHandler","FolderBeforeUpdateEvent","eventType","getHandlerAbstraction","FolderAfterUpdateEvent"],"sources":["events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport { FolderBeforeUpdateHandler, FolderAfterUpdateHandler } from \"./abstractions.js\";\nimport type { FolderBeforeUpdatePayload, FolderAfterUpdatePayload } from \"./abstractions.js\";\n\n// FolderBeforeUpdate Event\nexport class FolderBeforeUpdateEvent extends DomainEvent<FolderBeforeUpdatePayload> {\n eventType = \"folder.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return FolderBeforeUpdateHandler;\n }\n}\n\n// FolderAfterUpdate Event\nexport class FolderAfterUpdateEvent extends DomainEvent<FolderAfterUpdatePayload> {\n eventType = \"folder.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterUpdateHandler;\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,0CAA0C;AACtE,SAASC,yBAAyB,EAAEC,wBAAwB;AAG5D;AACA,OAAO,MAAMC,uBAAuB,SAASH,WAAW,CAA4B;EAChFI,SAAS,GAAG,qBAAqB;EAEjCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOJ,yBAAyB;EACpC;AACJ;;AAEA;AACA,OAAO,MAAMK,sBAAsB,SAASN,WAAW,CAA2B;EAC9EI,SAAS,GAAG,oBAAoB;EAEhCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOH,wBAAwB;EACnC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/UpdateFolder/events.js","sources":["../../../../src/features/folder/UpdateFolder/events.ts"],"sourcesContent":["import { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { FolderBeforeUpdateEventHandler, FolderAfterUpdateEventHandler } from \"./abstractions.js\";\nimport type { FolderBeforeUpdatePayload, FolderAfterUpdatePayload } from \"./abstractions.js\";\n\n// FolderBeforeUpdate Event\nexport class FolderBeforeUpdateEvent extends DomainEvent<FolderBeforeUpdatePayload> {\n eventType = \"folder.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return FolderBeforeUpdateEventHandler;\n }\n}\n\n// FolderAfterUpdate Event\nexport class FolderAfterUpdateEvent extends DomainEvent<FolderAfterUpdatePayload> {\n eventType = \"folder.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return FolderAfterUpdateEventHandler;\n }\n}\n"],"names":["FolderBeforeUpdateEvent","DomainEvent","FolderBeforeUpdateEventHandler","FolderAfterUpdateEvent","FolderAfterUpdateEventHandler"],"mappings":";;AAKO,MAAMA,gCAAgCC;IAGzC,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAGO,MAAMC,+BAA+BF;IAGxC,wBAAwB;QACpB,OAAOG;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB"}
@@ -1 +1,5 @@
1
- export declare const UpdateFolderFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ import type { Container } from "@webiny/di";
2
+ export declare const UpdateFolderFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
@@ -2,13 +2,14 @@ import { createFeature } from "@webiny/feature/api";
2
2
  import { UpdateFolderRepository } from "./UpdateFolderRepository.js";
3
3
  import { UpdateFolderUseCase } from "./UpdateFolderUseCase.js";
4
4
  import { UpdateFolderWithFolderLevelPermissions } from "./decorators/UpdateFolderWithFolderLevelPermissions.js";
5
- export const UpdateFolderFeature = createFeature({
6
- name: "UpdateFolder",
7
- register(container) {
8
- container.register(UpdateFolderRepository).inSingletonScope();
9
- container.register(UpdateFolderUseCase);
10
- container.registerDecorator(UpdateFolderWithFolderLevelPermissions);
11
- }
5
+ const UpdateFolderFeature = createFeature({
6
+ name: "UpdateFolder",
7
+ register (container) {
8
+ container.register(UpdateFolderRepository).inSingletonScope();
9
+ container.register(UpdateFolderUseCase);
10
+ container.registerDecorator(UpdateFolderWithFolderLevelPermissions);
11
+ }
12
12
  });
13
+ export { UpdateFolderFeature };
13
14
 
14
15
  //# sourceMappingURL=feature.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFeature","UpdateFolderRepository","UpdateFolderUseCase","UpdateFolderWithFolderLevelPermissions","UpdateFolderFeature","name","register","container","inSingletonScope","registerDecorator"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { UpdateFolderRepository } from \"./UpdateFolderRepository.js\";\nimport { UpdateFolderUseCase } from \"./UpdateFolderUseCase.js\";\nimport { UpdateFolderWithFolderLevelPermissions } from \"./decorators/UpdateFolderWithFolderLevelPermissions.js\";\n\nexport const UpdateFolderFeature = createFeature({\n name: \"UpdateFolder\",\n register(container: Container) {\n container.register(UpdateFolderRepository).inSingletonScope();\n container.register(UpdateFolderUseCase);\n container.registerDecorator(UpdateFolderWithFolderLevelPermissions);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AAEnD,SAASC,sBAAsB;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,sCAAsC;AAE/C,OAAO,MAAMC,mBAAmB,GAAGJ,aAAa,CAAC;EAC7CK,IAAI,EAAE,cAAc;EACpBC,QAAQA,CAACC,SAAoB,EAAE;IAC3BA,SAAS,CAACD,QAAQ,CAACL,sBAAsB,CAAC,CAACO,gBAAgB,CAAC,CAAC;IAC7DD,SAAS,CAACD,QAAQ,CAACJ,mBAAmB,CAAC;IACvCK,SAAS,CAACE,iBAAiB,CAACN,sCAAsC,CAAC;EACvE;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/UpdateFolder/feature.js","sources":["../../../../src/features/folder/UpdateFolder/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport type { Container } from \"@webiny/di\";\nimport { UpdateFolderRepository } from \"./UpdateFolderRepository.js\";\nimport { UpdateFolderUseCase } from \"./UpdateFolderUseCase.js\";\nimport { UpdateFolderWithFolderLevelPermissions } from \"./decorators/UpdateFolderWithFolderLevelPermissions.js\";\n\nexport const UpdateFolderFeature = createFeature({\n name: \"UpdateFolder\",\n register(container: Container) {\n container.register(UpdateFolderRepository).inSingletonScope();\n container.register(UpdateFolderUseCase);\n container.registerDecorator(UpdateFolderWithFolderLevelPermissions);\n }\n});\n"],"names":["UpdateFolderFeature","createFeature","container","UpdateFolderRepository","UpdateFolderUseCase","UpdateFolderWithFolderLevelPermissions"],"mappings":";;;;AAMO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC,wBAAwB,gBAAgB;QAC3DD,UAAU,QAAQ,CAACE;QACnBF,UAAU,iBAAiB,CAACG;IAChC;AACJ"}
@@ -1,2 +1,2 @@
1
1
  export { UpdateFolderFeature } from "./feature.js";
2
- export { FolderAfterUpdateHandler, FolderBeforeUpdateHandler, UpdateFolderUseCase } from "./abstractions.js";
2
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderUseCase } from "./abstractions.js";
@@ -1,4 +1,2 @@
1
1
  export { UpdateFolderFeature } from "./feature.js";
2
- export { FolderAfterUpdateHandler, FolderBeforeUpdateHandler, UpdateFolderUseCase } from "./abstractions.js";
3
-
4
- //# sourceMappingURL=index.js.map
2
+ export { FolderAfterUpdateEventHandler, FolderBeforeUpdateEventHandler, UpdateFolderUseCase } from "./abstractions.js";
@@ -1,22 +1,23 @@
1
- export class EntryToFolderMapper {
2
- static toFolder(entry) {
3
- return {
4
- id: entry.entryId,
5
- createdOn: entry.createdOn,
6
- modifiedOn: entry.modifiedOn ?? null,
7
- savedOn: entry.savedOn,
8
- createdBy: entry.createdBy,
9
- modifiedBy: entry.modifiedBy ?? null,
10
- savedBy: entry.savedBy,
11
- title: entry.values.title,
12
- slug: entry.values.slug,
13
- permissions: entry.values.permissions,
14
- type: entry.values.type,
15
- parentId: entry.values.parentId ?? null,
16
- path: entry.values.path,
17
- extensions: entry.values.extensions
18
- };
19
- }
1
+ class EntryToFolderMapper {
2
+ static toFolder(entry) {
3
+ return {
4
+ id: entry.entryId,
5
+ createdOn: entry.createdOn,
6
+ modifiedOn: entry.modifiedOn ?? null,
7
+ savedOn: entry.savedOn,
8
+ createdBy: entry.createdBy,
9
+ modifiedBy: entry.modifiedBy ?? null,
10
+ savedBy: entry.savedBy,
11
+ title: entry.values.title,
12
+ slug: entry.values.slug,
13
+ permissions: entry.values.permissions,
14
+ type: entry.values.type,
15
+ parentId: entry.values.parentId ?? null,
16
+ path: entry.values.path,
17
+ extensions: entry.values.extensions
18
+ };
19
+ }
20
20
  }
21
+ export { EntryToFolderMapper };
21
22
 
22
23
  //# sourceMappingURL=EntryToFolderMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EntryToFolderMapper","toFolder","entry","id","entryId","createdOn","modifiedOn","savedOn","createdBy","modifiedBy","savedBy","title","values","slug","permissions","type","parentId","path","extensions"],"sources":["EntryToFolderMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { CmsEntryFolder, Folder } from \"~/folder/folder.types.js\";\n\nexport class EntryToFolderMapper {\n static toFolder(entry: CmsEntry<CmsEntryFolder>): Folder {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n modifiedOn: entry.modifiedOn ?? null,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n modifiedBy: entry.modifiedBy ?? null,\n savedBy: entry.savedBy,\n title: entry.values.title,\n slug: entry.values.slug,\n permissions: entry.values.permissions,\n type: entry.values.type,\n parentId: entry.values.parentId ?? null,\n path: entry.values.path,\n extensions: entry.values.extensions\n };\n }\n}\n"],"mappings":"AAGA,OAAO,MAAMA,mBAAmB,CAAC;EAC7B,OAAOC,QAAQA,CAACC,KAA+B,EAAU;IACrD,OAAO;MACHC,EAAE,EAAED,KAAK,CAACE,OAAO;MACjBC,SAAS,EAAEH,KAAK,CAACG,SAAS;MAC1BC,UAAU,EAAEJ,KAAK,CAACI,UAAU,IAAI,IAAI;MACpCC,OAAO,EAAEL,KAAK,CAACK,OAAO;MACtBC,SAAS,EAAEN,KAAK,CAACM,SAAS;MAC1BC,UAAU,EAAEP,KAAK,CAACO,UAAU,IAAI,IAAI;MACpCC,OAAO,EAAER,KAAK,CAACQ,OAAO;MACtBC,KAAK,EAAET,KAAK,CAACU,MAAM,CAACD,KAAK;MACzBE,IAAI,EAAEX,KAAK,CAACU,MAAM,CAACC,IAAI;MACvBC,WAAW,EAAEZ,KAAK,CAACU,MAAM,CAACE,WAAW;MACrCC,IAAI,EAAEb,KAAK,CAACU,MAAM,CAACG,IAAI;MACvBC,QAAQ,EAAEd,KAAK,CAACU,MAAM,CAACI,QAAQ,IAAI,IAAI;MACvCC,IAAI,EAAEf,KAAK,CAACU,MAAM,CAACK,IAAI;MACvBC,UAAU,EAAEhB,KAAK,CAACU,MAAM,CAACM;IAC7B,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/shared/EntryToFolderMapper.js","sources":["../../../../src/features/folder/shared/EntryToFolderMapper.ts"],"sourcesContent":["import type { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport type { CmsEntryFolder, Folder } from \"~/folder/folder.types.js\";\n\nexport class EntryToFolderMapper {\n static toFolder(entry: CmsEntry<CmsEntryFolder>): Folder {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n modifiedOn: entry.modifiedOn ?? null,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n modifiedBy: entry.modifiedBy ?? null,\n savedBy: entry.savedBy,\n title: entry.values.title,\n slug: entry.values.slug,\n permissions: entry.values.permissions,\n type: entry.values.type,\n parentId: entry.values.parentId ?? null,\n path: entry.values.path,\n extensions: entry.values.extensions\n };\n }\n}\n"],"names":["EntryToFolderMapper","entry"],"mappings":"AAGO,MAAMA;IACT,OAAO,SAASC,KAA+B,EAAU;QACrD,OAAO;YACH,IAAIA,MAAM,OAAO;YACjB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAI;YAChC,SAASA,MAAM,OAAO;YACtB,WAAWA,MAAM,SAAS;YAC1B,YAAYA,MAAM,UAAU,IAAI;YAChC,SAASA,MAAM,OAAO;YACtB,OAAOA,MAAM,MAAM,CAAC,KAAK;YACzB,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,aAAaA,MAAM,MAAM,CAAC,WAAW;YACrC,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,UAAUA,MAAM,MAAM,CAAC,QAAQ,IAAI;YACnC,MAAMA,MAAM,MAAM,CAAC,IAAI;YACvB,YAAYA,MAAM,MAAM,CAAC,UAAU;QACvC;IACJ;AACJ"}
@@ -1,4 +1,5 @@
1
1
  import type { AcoStorageOperations as IAcoStorageOperations } from "../../../types.js";
2
+ /** Storage operations for folder filtering. */
2
3
  export declare const FilterStorageOperations: import("@webiny/di").Abstraction<import("~/types.js").AcoFilterStorageOperations>;
3
4
  export declare namespace FilterStorageOperations {
4
5
  type Interface = IAcoStorageOperations["filter"];
@@ -1,4 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- export const FilterStorageOperations = createAbstraction("FilterStorageOperations");
2
+ const FilterStorageOperations = createAbstraction("FilterStorageOperations");
3
+ export { FilterStorageOperations };
3
4
 
4
5
  //# sourceMappingURL=abstractions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FilterStorageOperations"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { AcoStorageOperations as IAcoStorageOperations } from \"~/types.js\";\n\nexport const FilterStorageOperations =\n createAbstraction<IAcoStorageOperations[\"filter\"]>(\"FilterStorageOperations\");\n\nexport namespace FilterStorageOperations {\n export type Interface = IAcoStorageOperations[\"filter\"];\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD,OAAO,MAAMC,uBAAuB,GAChCD,iBAAiB,CAAkC,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"features/folder/shared/abstractions.js","sources":["../../../../src/features/folder/shared/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { AcoStorageOperations as IAcoStorageOperations } from \"~/types.js\";\n\n/** Storage operations for folder filtering. */\nexport const FilterStorageOperations =\n createAbstraction<IAcoStorageOperations[\"filter\"]>(\"FilterStorageOperations\");\n\nexport namespace FilterStorageOperations {\n export type Interface = IAcoStorageOperations[\"filter\"];\n}\n"],"names":["FilterStorageOperations","createAbstraction"],"mappings":";AAIO,MAAMA,0BACTC,kBAAmD"}
@@ -1,33 +1,30 @@
1
- export const createFilterCrudMethods = ({
2
- storageOperations
3
- }) => {
4
- return {
5
- async get(id) {
6
- return storageOperations.filter.getFilter({
7
- id
8
- });
9
- },
10
- async list(params) {
11
- return storageOperations.filter.listFilters(params);
12
- },
13
- async create(data) {
14
- return storageOperations.filter.createFilter({
15
- data
16
- });
17
- },
18
- async update(id, data) {
19
- return await storageOperations.filter.updateFilter({
20
- id,
21
- data
22
- });
23
- },
24
- async delete(id) {
25
- await storageOperations.filter.deleteFilter({
26
- id
27
- });
28
- return true;
29
- }
30
- };
31
- };
1
+ const createFilterCrudMethods = ({ storageOperations })=>({
2
+ async get (id) {
3
+ return storageOperations.filter.getFilter({
4
+ id
5
+ });
6
+ },
7
+ async list (params) {
8
+ return storageOperations.filter.listFilters(params);
9
+ },
10
+ async create (data) {
11
+ return storageOperations.filter.createFilter({
12
+ data
13
+ });
14
+ },
15
+ async update (id, data) {
16
+ return await storageOperations.filter.updateFilter({
17
+ id,
18
+ data
19
+ });
20
+ },
21
+ async delete (id) {
22
+ await storageOperations.filter.deleteFilter({
23
+ id
24
+ });
25
+ return true;
26
+ }
27
+ });
28
+ export { createFilterCrudMethods };
32
29
 
33
30
  //# sourceMappingURL=filter.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFilterCrudMethods","storageOperations","get","id","filter","getFilter","list","params","listFilters","create","data","createFilter","update","updateFilter","delete","deleteFilter"],"sources":["filter.crud.ts"],"sourcesContent":["import type { CreateAcoParams } from \"~/types.js\";\nimport type { AcoFilterCrud } from \"./filter.types.js\";\n\nexport const createFilterCrudMethods = ({ storageOperations }: CreateAcoParams): AcoFilterCrud => {\n return {\n async get(id) {\n return storageOperations.filter.getFilter({ id });\n },\n async list(params) {\n return storageOperations.filter.listFilters(params);\n },\n async create(data) {\n return storageOperations.filter.createFilter({ data });\n },\n async update(id, data) {\n return await storageOperations.filter.updateFilter({ id, data });\n },\n async delete(id: string) {\n await storageOperations.filter.deleteFilter({ id });\n return true;\n }\n };\n};\n"],"mappings":"AAGA,OAAO,MAAMA,uBAAuB,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAoB;EAC9F,OAAO;IACH,MAAMC,GAAGA,CAACC,EAAE,EAAE;MACV,OAAOF,iBAAiB,CAACG,MAAM,CAACC,SAAS,CAAC;QAAEF;MAAG,CAAC,CAAC;IACrD,CAAC;IACD,MAAMG,IAAIA,CAACC,MAAM,EAAE;MACf,OAAON,iBAAiB,CAACG,MAAM,CAACI,WAAW,CAACD,MAAM,CAAC;IACvD,CAAC;IACD,MAAME,MAAMA,CAACC,IAAI,EAAE;MACf,OAAOT,iBAAiB,CAACG,MAAM,CAACO,YAAY,CAAC;QAAED;MAAK,CAAC,CAAC;IAC1D,CAAC;IACD,MAAME,MAAMA,CAACT,EAAE,EAAEO,IAAI,EAAE;MACnB,OAAO,MAAMT,iBAAiB,CAACG,MAAM,CAACS,YAAY,CAAC;QAAEV,EAAE;QAAEO;MAAK,CAAC,CAAC;IACpE,CAAC;IACD,MAAMI,MAAMA,CAACX,EAAU,EAAE;MACrB,MAAMF,iBAAiB,CAACG,MAAM,CAACW,YAAY,CAAC;QAAEZ;MAAG,CAAC,CAAC;MACnD,OAAO,IAAI;IACf;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"filter/filter.crud.js","sources":["../../src/filter/filter.crud.ts"],"sourcesContent":["import type { CreateAcoParams } from \"~/types.js\";\nimport type { AcoFilterCrud } from \"./filter.types.js\";\n\nexport const createFilterCrudMethods = ({ storageOperations }: CreateAcoParams): AcoFilterCrud => {\n return {\n async get(id) {\n return storageOperations.filter.getFilter({ id });\n },\n async list(params) {\n return storageOperations.filter.listFilters(params);\n },\n async create(data) {\n return storageOperations.filter.createFilter({ data });\n },\n async update(id, data) {\n return await storageOperations.filter.updateFilter({ id, data });\n },\n async delete(id: string) {\n await storageOperations.filter.deleteFilter({ id });\n return true;\n }\n };\n};\n"],"names":["createFilterCrudMethods","storageOperations","id","params","data"],"mappings":"AAGO,MAAMA,0BAA0B,CAAC,EAAEC,iBAAiB,EAAmB,GACnE;QACH,MAAM,KAAIC,EAAE;YACR,OAAOD,kBAAkB,MAAM,CAAC,SAAS,CAAC;gBAAEC;YAAG;QACnD;QACA,MAAM,MAAKC,MAAM;YACb,OAAOF,kBAAkB,MAAM,CAAC,WAAW,CAACE;QAChD;QACA,MAAM,QAAOC,IAAI;YACb,OAAOH,kBAAkB,MAAM,CAAC,YAAY,CAAC;gBAAEG;YAAK;QACxD;QACA,MAAM,QAAOF,EAAE,EAAEE,IAAI;YACjB,OAAO,MAAMH,kBAAkB,MAAM,CAAC,YAAY,CAAC;gBAAEC;gBAAIE;YAAK;QAClE;QACA,MAAM,QAAOF,EAAU;YACnB,MAAMD,kBAAkB,MAAM,CAAC,YAAY,CAAC;gBAAEC;YAAG;YACjD,OAAO;QACX;IACJ"}
@@ -2,8 +2,8 @@ import { ErrorResponse, ListResponse } from "@webiny/handler-graphql/responses.j
2
2
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js";
3
3
  import { ensureAuthentication } from "../utils/ensureAuthentication.js";
4
4
  import { resolve } from "../utils/resolve.js";
5
- export const filterSchema = new GraphQLSchemaPlugin({
6
- typeDefs: /* GraphQL */`
5
+ const filterSchema = new GraphQLSchemaPlugin({
6
+ typeDefs: `
7
7
  enum OperationEnum {
8
8
  AND
9
9
  OR
@@ -93,54 +93,38 @@ export const filterSchema = new GraphQLSchemaPlugin({
93
93
  deleteFilter(id: ID!): AcoBooleanResponse
94
94
  }
95
95
  `,
96
- resolvers: {
97
- AcoQuery: {
98
- getFilter: async (_, {
99
- id
100
- }, context) => {
101
- return resolve(() => {
102
- ensureAuthentication(context);
103
- return context.aco.filter.get(id);
104
- });
105
- },
106
- listFilters: async (_, args, context) => {
107
- try {
108
- ensureAuthentication(context);
109
- const [entries, meta] = await context.aco.filter.list(args);
110
- return new ListResponse(entries, meta);
111
- } catch (e) {
112
- return new ErrorResponse(e);
96
+ resolvers: {
97
+ AcoQuery: {
98
+ getFilter: async (_, { id }, context)=>resolve(()=>{
99
+ ensureAuthentication(context);
100
+ return context.aco.filter.get(id);
101
+ }),
102
+ listFilters: async (_, args, context)=>{
103
+ try {
104
+ ensureAuthentication(context);
105
+ const [entries, meta] = await context.aco.filter.list(args);
106
+ return new ListResponse(entries, meta);
107
+ } catch (e) {
108
+ return new ErrorResponse(e);
109
+ }
110
+ }
111
+ },
112
+ AcoMutation: {
113
+ createFilter: async (_, { data }, context)=>resolve(()=>{
114
+ ensureAuthentication(context);
115
+ return context.aco.filter.create(data);
116
+ }),
117
+ updateFilter: async (_, { id, data }, context)=>resolve(()=>{
118
+ ensureAuthentication(context);
119
+ return context.aco.filter.update(id, data);
120
+ }),
121
+ deleteFilter: async (_, { id }, context)=>resolve(()=>{
122
+ ensureAuthentication(context);
123
+ return context.aco.filter.delete(id);
124
+ })
113
125
  }
114
- }
115
- },
116
- AcoMutation: {
117
- createFilter: async (_, {
118
- data
119
- }, context) => {
120
- return resolve(() => {
121
- ensureAuthentication(context);
122
- return context.aco.filter.create(data);
123
- });
124
- },
125
- updateFilter: async (_, {
126
- id,
127
- data
128
- }, context) => {
129
- return resolve(() => {
130
- ensureAuthentication(context);
131
- return context.aco.filter.update(id, data);
132
- });
133
- },
134
- deleteFilter: async (_, {
135
- id
136
- }, context) => {
137
- return resolve(() => {
138
- ensureAuthentication(context);
139
- return context.aco.filter.delete(id);
140
- });
141
- }
142
126
  }
143
- }
144
127
  });
128
+ export { filterSchema };
145
129
 
146
130
  //# sourceMappingURL=filter.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ErrorResponse","ListResponse","GraphQLSchemaPlugin","ensureAuthentication","resolve","filterSchema","typeDefs","resolvers","AcoQuery","getFilter","_","id","context","aco","filter","get","listFilters","args","entries","meta","list","e","AcoMutation","createFilter","data","create","updateFilter","update","deleteFilter","delete"],"sources":["filter.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\n\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication.js\";\nimport { resolve } from \"~/utils/resolve.js\";\n\nimport type { AcoContext } from \"~/types.js\";\n\nexport const filterSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n enum OperationEnum {\n AND\n OR\n }\n\n type GroupFilter {\n field: String!\n condition: String!\n value: String!\n }\n\n type Group {\n operation: OperationEnum!\n filters: [GroupFilter]!\n }\n\n type Filter {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [Group]!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: AcoUser\n modifiedBy: AcoUser\n savedBy: AcoUser\n }\n\n input GroupFilterInput {\n field: String!\n condition: String!\n value: String!\n }\n\n input GroupInput {\n operation: OperationEnum!\n filters: [GroupFilterInput]!\n }\n\n input FilterCreateInput {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [GroupInput]!\n }\n\n input FilterUpdateInput {\n name: String\n description: String\n namespace: String\n operation: OperationEnum\n groups: [GroupInput]\n }\n\n input FiltersListWhereInput {\n namespace: String\n }\n\n type FilterResponse {\n data: Filter\n error: AcoError\n }\n\n type FilterListResponse {\n data: [Filter]\n error: AcoError\n }\n\n extend type AcoQuery {\n getFilter(id: ID!): FilterResponse\n listFilters(\n where: FiltersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FilterListResponse\n }\n\n extend type AcoMutation {\n createFilter(data: FilterCreateInput!): FilterResponse\n updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse\n deleteFilter(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n AcoQuery: {\n getFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.get(id);\n });\n },\n listFilters: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.filter.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFilter: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.create(data);\n });\n },\n updateFilter: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.update(id, data);\n });\n },\n deleteFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.delete(id);\n });\n }\n }\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,YAAY,QAAQ,sCAAsC;AAClF,SAASC,mBAAmB,QAAQ,wDAAwD;AAE5F,SAASC,oBAAoB;AAC7B,SAASC,OAAO;AAIhB,OAAO,MAAMC,YAAY,GAAG,IAAIH,mBAAmB,CAAa;EAC5DI,QAAQ,EAAE,aAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,SAAS,EAAE,MAAAA,CAAOC,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACrC,OAAOR,OAAO,CAAC,MAAM;UACjBD,oBAAoB,CAACS,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACC,GAAG,CAACJ,EAAE,CAAC;QACrC,CAAC,CAAC;MACN,CAAC;MACDK,WAAW,EAAE,MAAAA,CAAON,CAAC,EAAEO,IAAS,EAAEL,OAAO,KAAK;QAC1C,IAAI;UACAT,oBAAoB,CAACS,OAAO,CAAC;UAC7B,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAMP,OAAO,CAACC,GAAG,CAACC,MAAM,CAACM,IAAI,CAACH,IAAI,CAAC;UAC3D,OAAO,IAAIhB,YAAY,CAACiB,OAAO,EAAEC,IAAI,CAAC;QAC1C,CAAC,CAAC,OAAOE,CAAC,EAAE;UACR,OAAO,IAAIrB,aAAa,CAACqB,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDC,WAAW,EAAE;MACTC,YAAY,EAAE,MAAAA,CAAOb,CAAC,EAAE;QAAEc;MAAK,CAAC,EAAEZ,OAAO,KAAK;QAC1C,OAAOR,OAAO,CAAC,MAAM;UACjBD,oBAAoB,CAACS,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACW,MAAM,CAACD,IAAI,CAAC;QAC1C,CAAC,CAAC;MACN,CAAC;MACDE,YAAY,EAAE,MAAAA,CAAOhB,CAAC,EAAE;QAAEC,EAAE;QAAEa;MAAK,CAAC,EAAEZ,OAAO,KAAK;QAC9C,OAAOR,OAAO,CAAC,MAAM;UACjBD,oBAAoB,CAACS,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACa,MAAM,CAAChB,EAAE,EAAEa,IAAI,CAAC;QAC9C,CAAC,CAAC;MACN,CAAC;MACDI,YAAY,EAAE,MAAAA,CAAOlB,CAAC,EAAE;QAAEC;MAAG,CAAC,EAAEC,OAAO,KAAK;QACxC,OAAOR,OAAO,CAAC,MAAM;UACjBD,oBAAoB,CAACS,OAAO,CAAC;UAC7B,OAAOA,OAAO,CAACC,GAAG,CAACC,MAAM,CAACe,MAAM,CAAClB,EAAE,CAAC;QACxC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"filter/filter.gql.js","sources":["../../src/filter/filter.gql.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses.js\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js\";\n\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication.js\";\nimport { resolve } from \"~/utils/resolve.js\";\n\nimport type { AcoContext } from \"~/types.js\";\n\nexport const filterSchema = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n enum OperationEnum {\n AND\n OR\n }\n\n type GroupFilter {\n field: String!\n condition: String!\n value: String!\n }\n\n type Group {\n operation: OperationEnum!\n filters: [GroupFilter]!\n }\n\n type Filter {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [Group]!\n createdOn: DateTime\n modifiedOn: DateTime\n savedOn: DateTime\n createdBy: AcoUser\n modifiedBy: AcoUser\n savedBy: AcoUser\n }\n\n input GroupFilterInput {\n field: String!\n condition: String!\n value: String!\n }\n\n input GroupInput {\n operation: OperationEnum!\n filters: [GroupFilterInput]!\n }\n\n input FilterCreateInput {\n id: ID!\n name: String!\n description: String\n namespace: String!\n operation: OperationEnum!\n groups: [GroupInput]!\n }\n\n input FilterUpdateInput {\n name: String\n description: String\n namespace: String\n operation: OperationEnum\n groups: [GroupInput]\n }\n\n input FiltersListWhereInput {\n namespace: String\n }\n\n type FilterResponse {\n data: Filter\n error: AcoError\n }\n\n type FilterListResponse {\n data: [Filter]\n error: AcoError\n }\n\n extend type AcoQuery {\n getFilter(id: ID!): FilterResponse\n listFilters(\n where: FiltersListWhereInput!\n limit: Int\n after: String\n sort: AcoSort\n ): FilterListResponse\n }\n\n extend type AcoMutation {\n createFilter(data: FilterCreateInput!): FilterResponse\n updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse\n deleteFilter(id: ID!): AcoBooleanResponse\n }\n `,\n resolvers: {\n AcoQuery: {\n getFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.get(id);\n });\n },\n listFilters: async (_, args: any, context) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await context.aco.filter.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n AcoMutation: {\n createFilter: async (_, { data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.create(data);\n });\n },\n updateFilter: async (_, { id, data }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.update(id, data);\n });\n },\n deleteFilter: async (_, { id }, context) => {\n return resolve(() => {\n ensureAuthentication(context);\n return context.aco.filter.delete(id);\n });\n }\n }\n }\n});\n"],"names":["filterSchema","GraphQLSchemaPlugin","_","id","context","resolve","ensureAuthentication","args","entries","meta","ListResponse","e","ErrorResponse","data"],"mappings":";;;;AAQO,MAAMA,eAAe,IAAIC,oBAAgC;IAC5D,UAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyFzB,CAAC;IACD,WAAW;QACP,UAAU;YACN,WAAW,OAAOC,GAAG,EAAEC,EAAE,EAAE,EAAEC,UAClBC,QAAQ;oBACXC,qBAAqBF;oBACrB,OAAOA,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,CAACD;gBAClC;YAEJ,aAAa,OAAOD,GAAGK,MAAWH;gBAC9B,IAAI;oBACAE,qBAAqBF;oBACrB,MAAM,CAACI,SAASC,KAAK,GAAG,MAAML,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAACG;oBACtD,OAAO,IAAIG,aAAaF,SAASC;gBACrC,EAAE,OAAOE,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;QACA,aAAa;YACT,cAAc,OAAOT,GAAG,EAAEW,IAAI,EAAE,EAAET,UACvBC,QAAQ;oBACXC,qBAAqBF;oBACrB,OAAOA,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAACS;gBACrC;YAEJ,cAAc,OAAOX,GAAG,EAAEC,EAAE,EAAEU,IAAI,EAAE,EAAET,UAC3BC,QAAQ;oBACXC,qBAAqBF;oBACrB,OAAOA,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAACD,IAAIU;gBACzC;YAEJ,cAAc,OAAOX,GAAG,EAAEC,EAAE,EAAE,EAAEC,UACrBC,QAAQ;oBACXC,qBAAqBF;oBACrB,OAAOA,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,CAACD;gBACrC;QAER;IACJ;AACJ"}