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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +132 -0
  3. package/AcoFeature.js.map +1 -0
  4. package/AcoFolderSchemaFactory.d.ts +32 -0
  5. package/AcoFolderSchemaFactory.js +82 -0
  6. package/AcoFolderSchemaFactory.js.map +1 -0
  7. package/constants.js +2 -1
  8. package/constants.js.map +1 -1
  9. package/createAcoGraphQL.d.ts +8 -4
  10. package/createAcoGraphQL.js +56 -97
  11. package/createAcoGraphQL.js.map +1 -1
  12. package/domain/folder/abstractions.d.ts +12 -5
  13. package/domain/folder/abstractions.js +2 -5
  14. package/domain/folder/abstractions.js.map +1 -1
  15. package/domain/folder/errors.js +42 -47
  16. package/domain/folder/errors.js.map +1 -1
  17. package/domain/folder/folder.model.js +53 -36
  18. package/domain/folder/folder.model.js.map +1 -1
  19. package/exports/api/aco/flp.d.ts +1 -0
  20. package/exports/api/aco/flp.js +1 -2
  21. package/exports/api/aco/folder.d.ts +2 -1
  22. package/exports/api/aco/folder.js +5 -7
  23. package/features/ai/CreateFolderTool.d.ts +51 -0
  24. package/features/ai/CreateFolderTool.js +65 -0
  25. package/features/ai/CreateFolderTool.js.map +1 -0
  26. package/features/ai/CreateTeamTool.d.ts +48 -0
  27. package/features/ai/CreateTeamTool.js +56 -0
  28. package/features/ai/CreateTeamTool.js.map +1 -0
  29. package/features/ai/DeleteFolderTool.d.ts +50 -0
  30. package/features/ai/DeleteFolderTool.js +62 -0
  31. package/features/ai/DeleteFolderTool.js.map +1 -0
  32. package/features/ai/GrantFolderAccessTool.d.ts +79 -0
  33. package/features/ai/GrantFolderAccessTool.js +87 -0
  34. package/features/ai/GrantFolderAccessTool.js.map +1 -0
  35. package/features/ai/ListFoldersTool.d.ts +47 -0
  36. package/features/ai/ListFoldersTool.js +57 -0
  37. package/features/ai/ListFoldersTool.js.map +1 -0
  38. package/features/ai/ListRolesTool.d.ts +39 -0
  39. package/features/ai/ListRolesTool.js +48 -0
  40. package/features/ai/ListRolesTool.js.map +1 -0
  41. package/features/ai/ListTeamsTool.d.ts +39 -0
  42. package/features/ai/ListTeamsTool.js +48 -0
  43. package/features/ai/ListTeamsTool.js.map +1 -0
  44. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
  45. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js +37 -0
  46. package/features/ai/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
  47. package/features/ai/NotifyFolderChange/abstractions.d.ts +20 -0
  48. package/features/ai/NotifyFolderChange/abstractions.js +8 -0
  49. package/features/ai/NotifyFolderChange/abstractions.js.map +1 -0
  50. package/features/ai/NotifyFolderChange/index.d.ts +1 -0
  51. package/features/ai/NotifyFolderChange/index.js +1 -0
  52. package/features/ai/RevokeFolderAccessTool.d.ts +65 -0
  53. package/features/ai/RevokeFolderAccessTool.js +76 -0
  54. package/features/ai/RevokeFolderAccessTool.js.map +1 -0
  55. package/features/ai/assertTargetIsUsable.d.ts +10 -0
  56. package/features/ai/assertTargetIsUsable.js +14 -0
  57. package/features/ai/assertTargetIsUsable.js.map +1 -0
  58. package/features/ai/feature.d.ts +12 -0
  59. package/features/ai/feature.js +27 -0
  60. package/features/ai/feature.js.map +1 -0
  61. package/features/ai/index.d.ts +9 -0
  62. package/features/ai/index.js +9 -0
  63. package/features/ai/loadFolderPermissions.d.ts +16 -0
  64. package/features/ai/loadFolderPermissions.js +14 -0
  65. package/features/ai/loadFolderPermissions.js.map +1 -0
  66. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  67. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  68. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  69. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  70. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  71. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  72. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  73. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  74. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  75. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  76. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  77. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  78. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  79. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  80. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  81. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  82. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +28 -28
  83. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  84. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +28 -27
  85. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  86. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +28 -28
  87. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  88. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +28 -28
  89. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  90. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +1 -1
  91. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  92. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  93. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  94. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  95. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  96. package/features/cms/feature.js +19 -25
  97. package/features/cms/feature.js.map +1 -1
  98. package/features/cms/index.js +0 -2
  99. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +3 -3
  100. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  101. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  102. package/features/flp/CreateFlp/abstractions.js +2 -5
  103. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  104. package/features/flp/CreateFlp/feature.d.ts +1 -6
  105. package/features/flp/CreateFlp/feature.js +8 -8
  106. package/features/flp/CreateFlp/feature.js.map +1 -1
  107. package/features/flp/CreateFlp/index.js +0 -2
  108. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +27 -27
  109. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  110. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  111. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  112. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  113. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +3 -3
  114. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  115. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  116. package/features/flp/DeleteFlp/abstractions.js +2 -5
  117. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  118. package/features/flp/DeleteFlp/feature.d.ts +1 -6
  119. package/features/flp/DeleteFlp/feature.js +8 -8
  120. package/features/flp/DeleteFlp/feature.js.map +1 -1
  121. package/features/flp/DeleteFlp/index.js +0 -2
  122. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +27 -27
  123. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  124. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  125. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  126. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  127. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  128. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +88 -109
  129. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  130. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  131. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  132. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  133. package/features/flp/FolderLevelPermissions/abstractions.js +2 -2
  134. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  135. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  136. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  137. package/features/flp/FolderLevelPermissions/index.d.ts +1 -0
  138. package/features/flp/FolderLevelPermissions/index.js +1 -2
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  140. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  141. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  142. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  143. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  144. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  145. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  146. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  147. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  148. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  149. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  150. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  151. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  152. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  153. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  154. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  155. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  156. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  157. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  158. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  159. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  160. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  161. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  162. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  163. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  164. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  165. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  166. package/features/flp/GetFlp/abstractions.js +2 -2
  167. package/features/flp/GetFlp/abstractions.js.map +1 -1
  168. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
  169. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
  170. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
  171. package/features/flp/GetFlp/feature.d.ts +1 -1
  172. package/features/flp/GetFlp/feature.js +8 -8
  173. package/features/flp/GetFlp/feature.js.map +1 -1
  174. package/features/flp/GetFlp/index.js +0 -2
  175. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  176. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  177. package/features/flp/ListFlps/abstractions.js +2 -2
  178. package/features/flp/ListFlps/abstractions.js.map +1 -1
  179. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
  180. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
  181. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
  182. package/features/flp/ListFlps/feature.d.ts +1 -1
  183. package/features/flp/ListFlps/feature.js +8 -8
  184. package/features/flp/ListFlps/feature.js.map +1 -1
  185. package/features/flp/ListFlps/index.js +0 -2
  186. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +15 -8
  187. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +130 -186
  188. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  189. package/features/flp/UpdateFlp/abstractions.d.ts +6 -2
  190. package/features/flp/UpdateFlp/abstractions.js +2 -5
  191. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  192. package/features/flp/UpdateFlp/feature.d.ts +1 -6
  193. package/features/flp/UpdateFlp/feature.js +12 -8
  194. package/features/flp/UpdateFlp/feature.js.map +1 -1
  195. package/features/flp/UpdateFlp/index.js +0 -2
  196. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +29 -29
  197. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  198. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  199. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  200. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  201. package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
  202. package/features/flp/shared/CodeFlpMerger.js +20 -0
  203. package/features/flp/shared/CodeFlpMerger.js.map +1 -0
  204. package/features/flp/shared/CodeFlpPath.d.ts +15 -0
  205. package/features/flp/shared/CodeFlpPath.js +29 -0
  206. package/features/flp/shared/CodeFlpPath.js.map +1 -0
  207. package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
  208. package/features/flp/shared/CodeFlpTarget.js +26 -0
  209. package/features/flp/shared/CodeFlpTarget.js.map +1 -0
  210. package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
  211. package/features/flp/shared/CodeFlpsProvider.js +33 -0
  212. package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
  213. package/features/flp/shared/abstractions.d.ts +77 -0
  214. package/features/flp/shared/abstractions.js +19 -0
  215. package/features/flp/shared/abstractions.js.map +1 -0
  216. package/features/flp/shared/feature.d.ts +5 -0
  217. package/features/flp/shared/feature.js +17 -0
  218. package/features/flp/shared/feature.js.map +1 -0
  219. package/features/flp/shared/index.d.ts +4 -0
  220. package/features/flp/shared/index.js +4 -0
  221. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +3 -3
  222. package/features/folder/CreateFolder/CreateFolderRepository.js +71 -91
  223. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  224. package/features/folder/CreateFolder/CreateFolderUseCase.js +27 -30
  225. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  226. package/features/folder/CreateFolder/abstractions.js +5 -22
  227. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  228. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +9 -1
  229. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +45 -33
  230. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  231. package/features/folder/CreateFolder/events.js +16 -14
  232. package/features/folder/CreateFolder/events.js.map +1 -1
  233. package/features/folder/CreateFolder/feature.js +8 -7
  234. package/features/folder/CreateFolder/feature.js.map +1 -1
  235. package/features/folder/CreateFolder/index.js +1 -3
  236. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +3 -3
  237. package/features/folder/DeleteFolder/DeleteFolderRepository.js +24 -21
  238. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  239. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +35 -43
  240. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  241. package/features/folder/DeleteFolder/abstractions.js +5 -22
  242. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  243. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +1 -1
  244. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  245. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  246. package/features/folder/DeleteFolder/events.js +16 -14
  247. package/features/folder/DeleteFolder/events.js.map +1 -1
  248. package/features/folder/DeleteFolder/feature.js +8 -7
  249. package/features/folder/DeleteFolder/feature.js.map +1 -1
  250. package/features/folder/DeleteFolder/index.js +1 -3
  251. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +47 -44
  252. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  253. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -2
  254. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  255. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  256. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  257. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  258. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +16 -20
  259. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  260. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  261. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  262. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  263. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +40 -44
  264. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  265. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  266. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  267. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  268. package/features/folder/FolderModelProvider.d.ts +26 -0
  269. package/features/folder/FolderModelProvider.js +22 -0
  270. package/features/folder/FolderModelProvider.js.map +1 -0
  271. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +3 -3
  272. package/features/folder/GetAncestors/GetAncestorsRepository.js +47 -76
  273. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  274. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  275. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  276. package/features/folder/GetAncestors/abstractions.js +3 -14
  277. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  278. package/features/folder/GetAncestors/feature.js +7 -6
  279. package/features/folder/GetAncestors/feature.js.map +1 -1
  280. package/features/folder/GetAncestors/index.js +0 -2
  281. package/features/folder/GetFolder/GetFolderRepository.d.ts +3 -3
  282. package/features/folder/GetFolder/GetFolderRepository.js +23 -20
  283. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  284. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  285. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  286. package/features/folder/GetFolder/abstractions.js +5 -21
  287. package/features/folder/GetFolder/abstractions.js.map +1 -1
  288. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +8 -8
  289. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  290. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  291. package/features/folder/GetFolder/feature.js +8 -7
  292. package/features/folder/GetFolder/feature.js.map +1 -1
  293. package/features/folder/GetFolder/index.js +0 -2
  294. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
  295. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +70 -87
  296. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  297. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  298. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  299. package/features/folder/GetFolderHierarchy/abstractions.js +3 -14
  300. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  301. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  302. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  303. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  304. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  305. package/features/folder/GetFolderHierarchy/index.js +0 -2
  306. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +65 -58
  307. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  308. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -5
  309. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  310. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  311. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  312. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  313. package/features/folder/ListFolders/ListFoldersRepository.d.ts +3 -3
  314. package/features/folder/ListFolders/ListFoldersRepository.js +41 -42
  315. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  316. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  317. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  318. package/features/folder/ListFolders/abstractions.js +3 -14
  319. package/features/folder/ListFolders/abstractions.js.map +1 -1
  320. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  321. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  322. package/features/folder/ListFolders/feature.js +8 -7
  323. package/features/folder/ListFolders/feature.js.map +1 -1
  324. package/features/folder/ListFolders/index.js +0 -2
  325. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +3 -3
  326. package/features/folder/UpdateFolder/UpdateFolderRepository.js +70 -93
  327. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  328. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +38 -45
  329. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  330. package/features/folder/UpdateFolder/abstractions.js +5 -22
  331. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  332. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +14 -1
  333. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +91 -62
  334. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  335. package/features/folder/UpdateFolder/events.js +16 -14
  336. package/features/folder/UpdateFolder/events.js.map +1 -1
  337. package/features/folder/UpdateFolder/feature.js +8 -7
  338. package/features/folder/UpdateFolder/feature.js.map +1 -1
  339. package/features/folder/UpdateFolder/index.js +0 -2
  340. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  341. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  342. package/features/folder/shared/abstractions.d.ts +14 -0
  343. package/features/folder/shared/abstractions.js +5 -2
  344. package/features/folder/shared/abstractions.js.map +1 -1
  345. package/filter/filter.crud.js +28 -31
  346. package/filter/filter.crud.js.map +1 -1
  347. package/filter/filter.gql.d.ts +2 -3
  348. package/filter/filter.gql.js +72 -54
  349. package/filter/filter.gql.js.map +1 -1
  350. package/filter/filter.model.js +45 -35
  351. package/filter/filter.model.js.map +1 -1
  352. package/filter/filter.so.d.ts +8 -2
  353. package/filter/filter.so.js +85 -93
  354. package/filter/filter.so.js.map +1 -1
  355. package/filter/filter.types.js +5 -4
  356. package/filter/filter.types.js.map +1 -1
  357. package/flp/flp.crud.js +69 -86
  358. package/flp/flp.crud.js.map +1 -1
  359. package/flp/flp.types.d.ts +2 -1
  360. package/flp/flp.types.js +0 -3
  361. package/flp/index.d.ts +0 -1
  362. package/flp/index.js +0 -3
  363. package/flp/tasks/createFlp.task.d.ts +14 -8
  364. package/flp/tasks/createFlp.task.js +37 -28
  365. package/flp/tasks/createFlp.task.js.map +1 -1
  366. package/flp/tasks/deleteFlp.task.d.ts +14 -8
  367. package/flp/tasks/deleteFlp.task.js +37 -28
  368. package/flp/tasks/deleteFlp.task.js.map +1 -1
  369. package/flp/tasks/index.d.ts +0 -1
  370. package/flp/tasks/index.js +5 -17
  371. package/flp/tasks/index.js.map +1 -1
  372. package/flp/tasks/syncFlp.task.d.ts +14 -8
  373. package/flp/tasks/syncFlp.task.js +107 -114
  374. package/flp/tasks/syncFlp.task.js.map +1 -1
  375. package/flp/tasks/updateFlp.task.d.ts +14 -8
  376. package/flp/tasks/updateFlp.task.js +48 -33
  377. package/flp/tasks/updateFlp.task.js.map +1 -1
  378. package/folder/createFolderModelModifier.js +50 -50
  379. package/folder/createFolderModelModifier.js.map +1 -1
  380. package/folder/createFolderTypeDefs.js +43 -51
  381. package/folder/createFolderTypeDefs.js.map +1 -1
  382. package/folder/folder.gql.d.ts +1 -1
  383. package/folder/folder.gql.js +109 -136
  384. package/folder/folder.gql.js.map +1 -1
  385. package/folder/folder.types.js +0 -3
  386. package/index.d.ts +1 -6
  387. package/index.js +2 -9
  388. package/package.json +30 -29
  389. package/types.d.ts +1 -1
  390. package/types.js +5 -4
  391. package/types.js.map +1 -1
  392. package/utils/FoldersCacheFactory.js +20 -19
  393. package/utils/FoldersCacheFactory.js.map +1 -1
  394. package/utils/ListCache.js +20 -19
  395. package/utils/ListCache.js.map +1 -1
  396. package/utils/Path.js +5 -6
  397. package/utils/Path.js.map +1 -1
  398. package/utils/compress.js +8 -7
  399. package/utils/compress.js.map +1 -1
  400. package/utils/createListSort.js +4 -7
  401. package/utils/createListSort.js.map +1 -1
  402. package/utils/createOperationsWrapper.d.ts +5 -2
  403. package/utils/createOperationsWrapper.js +12 -19
  404. package/utils/createOperationsWrapper.js.map +1 -1
  405. package/utils/decorators/CmsEntriesCrudDecorators.js +169 -196
  406. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  407. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  408. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  409. package/utils/decorators/ListEntriesFactory.js +65 -98
  410. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  411. package/utils/decorators/hasRootFolderId.js +6 -12
  412. package/utils/decorators/hasRootFolderId.js.map +1 -1
  413. package/utils/decorators/isPageModel.js +5 -10
  414. package/utils/decorators/isPageModel.js.map +1 -1
  415. package/utils/ensureAuthentication.js +6 -7
  416. package/utils/ensureAuthentication.js.map +1 -1
  417. package/utils/pickEntryFieldValues.js +24 -18
  418. package/utils/pickEntryFieldValues.js.map +1 -1
  419. package/utils/resolve.d.ts +2 -2
  420. package/utils/resolve.js +8 -7
  421. package/utils/resolve.js.map +1 -1
  422. package/createAcoContext.d.ts +0 -9
  423. package/createAcoContext.js +0 -137
  424. package/createAcoContext.js.map +0 -1
  425. package/createAcoStorageOperations.d.ts +0 -12
  426. package/createAcoStorageOperations.js +0 -10
  427. package/createAcoStorageOperations.js.map +0 -1
  428. package/createAcoTasks.d.ts +0 -1
  429. package/createAcoTasks.js +0 -15
  430. package/createAcoTasks.js.map +0 -1
  431. package/exports/api/aco/flp.js.map +0 -1
  432. package/exports/api/aco/folder.js.map +0 -1
  433. package/features/cms/index.js.map +0 -1
  434. package/features/flp/CreateFlp/index.js.map +0 -1
  435. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  436. package/features/flp/DeleteFlp/index.js.map +0 -1
  437. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  438. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  439. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  440. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  441. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  442. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  443. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  444. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  445. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  446. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  447. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  448. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  449. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  450. package/features/flp/GetFlp/index.js.map +0 -1
  451. package/features/flp/ListFlps/index.js.map +0 -1
  452. package/features/flp/UpdateFlp/index.js.map +0 -1
  453. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  454. package/features/folder/CreateFolder/index.js.map +0 -1
  455. package/features/folder/DeleteFolder/index.js.map +0 -1
  456. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  457. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  458. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  459. package/features/folder/GetAncestors/index.js.map +0 -1
  460. package/features/folder/GetFolder/index.js.map +0 -1
  461. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  462. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  463. package/features/folder/ListFolders/index.js.map +0 -1
  464. package/features/folder/UpdateFolder/index.js.map +0 -1
  465. package/flp/flp.so.d.ts +0 -20
  466. package/flp/flp.so.js +0 -220
  467. package/flp/flp.so.js.map +0 -1
  468. package/flp/flp.types.js.map +0 -1
  469. package/flp/index.js.map +0 -1
  470. package/folder/folder.types.js.map +0 -1
  471. package/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","FilterStorageOperations"],"sources":["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"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAGvD;AACA,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\";\nimport type { AcoFilterCrud as IAcoFilterCrud } from \"~/filter/filter.types.js\";\nimport type { AcoFolderLevelPermissionsCrud } from \"~/flp/flp.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\nexport const FlpStorageOperations =\n createAbstraction<IAcoStorageOperations[\"flp\"]>(\"FlpStorageOperations\");\n\nexport namespace FlpStorageOperations {\n export type Interface = IAcoStorageOperations[\"flp\"];\n}\n\nexport const AcoFlpCrud = createAbstraction<AcoFolderLevelPermissionsCrud>(\"AcoFlpCrud\");\n\nexport namespace AcoFlpCrud {\n export type Interface = AcoFolderLevelPermissionsCrud;\n}\n\nexport const AcoFilterCrud = createAbstraction<IAcoFilterCrud>(\"AcoFilterCrud\");\n\nexport namespace AcoFilterCrud {\n export type Interface = IAcoFilterCrud;\n}\n"],"names":["FilterStorageOperations","createAbstraction","FlpStorageOperations","AcoFlpCrud","AcoFilterCrud"],"mappings":";AAMO,MAAMA,0BACTC,kBAAmD;AAMhD,MAAMC,uBACTD,kBAAgD;AAM7C,MAAME,aAAaF,kBAAiD;AAMpE,MAAMG,gBAAgBH,kBAAkC"}
@@ -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"}
@@ -1,3 +1,2 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js";
2
- import type { AcoContext } from "../types.js";
3
- export declare const filterSchema: GraphQLSchemaPlugin<AcoContext>;
1
+ import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
2
+ export declare const addFilterSchema: (builder: IGraphQLSchemaBuilder) => void;
@@ -1,9 +1,9 @@
1
- import { ErrorResponse, ListResponse } from "@webiny/handler-graphql/responses.js";
2
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin.js";
1
+ import { ErrorResponse, ListResponse } from "@webiny/api-graphql/responses.js";
3
2
  import { ensureAuthentication } from "../utils/ensureAuthentication.js";
4
3
  import { resolve } from "../utils/resolve.js";
5
- export const filterSchema = new GraphQLSchemaPlugin({
6
- typeDefs: /* GraphQL */`
4
+ import { AcoFilterCrud } from "../features/folder/shared/abstractions.js";
5
+ const addFilterSchema = (builder)=>{
6
+ builder.addTypeDefs(`
7
7
  enum OperationEnum {
8
8
  AND
9
9
  OR
@@ -92,55 +92,73 @@ export const filterSchema = new GraphQLSchemaPlugin({
92
92
  updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse
93
93
  deleteFilter(id: ID!): AcoBooleanResponse
94
94
  }
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);
113
- }
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
- }
143
- }
144
- });
95
+ `);
96
+ builder.addResolver({
97
+ path: "AcoQuery.getFilter",
98
+ dependencies: [
99
+ AcoFilterCrud
100
+ ],
101
+ resolver (filterCrud) {
102
+ return ({ args, context })=>resolve(()=>{
103
+ ensureAuthentication(context);
104
+ return filterCrud.get(args.id);
105
+ });
106
+ }
107
+ });
108
+ builder.addResolver({
109
+ path: "AcoQuery.listFilters",
110
+ dependencies: [
111
+ AcoFilterCrud
112
+ ],
113
+ resolver (filterCrud) {
114
+ return async ({ args, context })=>{
115
+ try {
116
+ ensureAuthentication(context);
117
+ const [entries, meta] = await filterCrud.list(args);
118
+ return new ListResponse(entries, meta);
119
+ } catch (e) {
120
+ return new ErrorResponse(e);
121
+ }
122
+ };
123
+ }
124
+ });
125
+ builder.addResolver({
126
+ path: "AcoMutation.createFilter",
127
+ dependencies: [
128
+ AcoFilterCrud
129
+ ],
130
+ resolver (filterCrud) {
131
+ return ({ args, context })=>resolve(()=>{
132
+ ensureAuthentication(context);
133
+ return filterCrud.create(args.data);
134
+ });
135
+ }
136
+ });
137
+ builder.addResolver({
138
+ path: "AcoMutation.updateFilter",
139
+ dependencies: [
140
+ AcoFilterCrud
141
+ ],
142
+ resolver (filterCrud) {
143
+ return ({ args, context })=>resolve(()=>{
144
+ ensureAuthentication(context);
145
+ return filterCrud.update(args.id, args.data);
146
+ });
147
+ }
148
+ });
149
+ builder.addResolver({
150
+ path: "AcoMutation.deleteFilter",
151
+ dependencies: [
152
+ AcoFilterCrud
153
+ ],
154
+ resolver (filterCrud) {
155
+ return ({ args, context })=>resolve(()=>{
156
+ ensureAuthentication(context);
157
+ return filterCrud.delete(args.id);
158
+ });
159
+ }
160
+ });
161
+ };
162
+ export { addFilterSchema };
145
163
 
146
164
  //# 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/api-graphql/responses.js\";\nimport type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication.js\";\nimport { resolve } from \"~/utils/resolve.js\";\nimport { AcoFilterCrud } from \"~/features/folder/shared/abstractions.js\";\n\nexport const addFilterSchema = (builder: IGraphQLSchemaBuilder): void => {\n builder.addTypeDefs(/* 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\n builder.addResolver({\n path: \"AcoQuery.getFilter\",\n dependencies: [AcoFilterCrud],\n resolver(filterCrud) {\n return ({ args, context }) =>\n resolve(() => {\n ensureAuthentication(context);\n return filterCrud.get(args.id);\n });\n }\n });\n\n builder.addResolver({\n path: \"AcoQuery.listFilters\",\n dependencies: [AcoFilterCrud],\n resolver(filterCrud) {\n return async ({ args, context }) => {\n try {\n ensureAuthentication(context);\n const [entries, meta] = await filterCrud.list(args);\n return new ListResponse(entries, meta);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n }\n });\n\n builder.addResolver({\n path: \"AcoMutation.createFilter\",\n dependencies: [AcoFilterCrud],\n resolver(filterCrud) {\n return ({ args, context }) =>\n resolve(() => {\n ensureAuthentication(context);\n return filterCrud.create(args.data);\n });\n }\n });\n\n builder.addResolver({\n path: \"AcoMutation.updateFilter\",\n dependencies: [AcoFilterCrud],\n resolver(filterCrud) {\n return ({ args, context }) =>\n resolve(() => {\n ensureAuthentication(context);\n return filterCrud.update(args.id, args.data);\n });\n }\n });\n\n builder.addResolver({\n path: \"AcoMutation.deleteFilter\",\n dependencies: [AcoFilterCrud],\n resolver(filterCrud) {\n return ({ args, context }) =>\n resolve(() => {\n ensureAuthentication(context);\n return filterCrud.delete(args.id);\n });\n }\n });\n};\n"],"names":["addFilterSchema","builder","AcoFilterCrud","filterCrud","args","context","resolve","ensureAuthentication","entries","meta","ListResponse","e","ErrorResponse"],"mappings":";;;;AAMO,MAAMA,kBAAkB,CAACC;IAC5BA,QAAQ,WAAW,CAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyFnC,CAAC;IAEDA,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAAc;QAC7B,UAASC,UAAU;YACf,OAAO,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE,GACrBC,QAAQ;oBACJC,qBAAqBF;oBACrB,OAAOF,WAAW,GAAG,CAACC,KAAK,EAAE;gBACjC;QACR;IACJ;IAEAH,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAAc;QAC7B,UAASC,UAAU;YACf,OAAO,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAE;gBAC3B,IAAI;oBACAE,qBAAqBF;oBACrB,MAAM,CAACG,SAASC,KAAK,GAAG,MAAMN,WAAW,IAAI,CAACC;oBAC9C,OAAO,IAAIM,aAAaF,SAASC;gBACrC,EAAE,OAAOE,GAAG;oBACR,OAAO,IAAIC,cAAcD;gBAC7B;YACJ;QACJ;IACJ;IAEAV,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAAc;QAC7B,UAASC,UAAU;YACf,OAAO,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE,GACrBC,QAAQ;oBACJC,qBAAqBF;oBACrB,OAAOF,WAAW,MAAM,CAACC,KAAK,IAAI;gBACtC;QACR;IACJ;IAEAH,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAAc;QAC7B,UAASC,UAAU;YACf,OAAO,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE,GACrBC,QAAQ;oBACJC,qBAAqBF;oBACrB,OAAOF,WAAW,MAAM,CAACC,KAAK,EAAE,EAAEA,KAAK,IAAI;gBAC/C;QACR;IACJ;IAEAH,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAAc;QAC7B,UAASC,UAAU;YACf,OAAO,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE,GACrBC,QAAQ;oBACJC,qBAAqBF;oBACrB,OAAOF,WAAW,MAAM,CAACC,KAAK,EAAE;gBACpC;QACR;IACJ;AACJ"}
@@ -1,41 +1,51 @@
1
1
  import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
- export const FILTER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "acoFilter" : "wbyAcoFilter";
2
+ const FILTER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "acoFilter" : "wbyAcoFilter";
3
3
  class FilterPrivateModelImpl {
4
- async execute(builder) {
5
- return [builder.private({
6
- modelId: FILTER_MODEL_ID,
7
- name: "ACO - Filter"
8
- }).fields(fields => ({
9
- name: fields.text().label("Name").required(),
10
- description: fields.text().label("Description"),
11
- namespace: fields.text().label("Model Id").required(),
12
- operation: fields.text().label("Operation").required().predefinedValues([{
13
- label: "AND",
14
- value: "AND"
15
- }, {
16
- label: "OR",
17
- value: "OR"
18
- }]),
19
- groups: fields.object().label("Groups").list().listMinLength(1, "At least one group is required.").fields(fields => ({
20
- operation: fields.text().label("Operation").required().predefinedValues([{
21
- label: "AND",
22
- value: "AND"
23
- }, {
24
- label: "OR",
25
- value: "OR"
26
- }]),
27
- filters: fields.object().label("Filters").list().listMinLength(1, "At least one filter is required.").fields(filterFields => ({
28
- field: filterFields.text().label("Field").required(),
29
- condition: filterFields.text().label("Condition").required(),
30
- value: filterFields.text().label("Value").required()
31
- }))
32
- }))
33
- }))];
34
- }
4
+ async execute(builder) {
5
+ return [
6
+ builder.private({
7
+ modelId: FILTER_MODEL_ID,
8
+ name: "ACO - Filter",
9
+ lifecycleEvents: false
10
+ }).fields((fields)=>({
11
+ name: fields.text().label("Name").required(),
12
+ description: fields.text().label("Description"),
13
+ namespace: fields.text().label("Model Id").required(),
14
+ operation: fields.text().label("Operation").required().predefinedValues([
15
+ {
16
+ label: "AND",
17
+ value: "AND"
18
+ },
19
+ {
20
+ label: "OR",
21
+ value: "OR"
22
+ }
23
+ ]),
24
+ groups: fields.object().label("Groups").list().listMinLength(1, "At least one group is required.").fields((fields)=>({
25
+ operation: fields.text().label("Operation").required().predefinedValues([
26
+ {
27
+ label: "AND",
28
+ value: "AND"
29
+ },
30
+ {
31
+ label: "OR",
32
+ value: "OR"
33
+ }
34
+ ]),
35
+ filters: fields.object().label("Filters").list().listMinLength(1, "At least one filter is required.").fields((filterFields)=>({
36
+ field: filterFields.text().label("Field").required(),
37
+ condition: filterFields.text().label("Condition").required(),
38
+ value: filterFields.text().label("Value").required()
39
+ }))
40
+ }))
41
+ }))
42
+ ];
43
+ }
35
44
  }
36
- export const FilterPrivateModel = ModelFactory.createImplementation({
37
- implementation: FilterPrivateModelImpl,
38
- dependencies: []
45
+ const FilterPrivateModel = ModelFactory.createImplementation({
46
+ implementation: FilterPrivateModelImpl,
47
+ dependencies: []
39
48
  });
49
+ export { FILTER_MODEL_ID, FilterPrivateModel };
40
50
 
41
51
  //# sourceMappingURL=filter.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ModelFactory","FILTER_MODEL_ID","process","env","WEBINY_API_LEGACY_MODELS","FilterPrivateModelImpl","execute","builder","private","modelId","name","fields","text","label","required","description","namespace","operation","predefinedValues","value","groups","object","list","listMinLength","filters","filterFields","field","condition","FilterPrivateModel","createImplementation","implementation","dependencies"],"sources":["filter.model.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\n\nexport const FILTER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? \"acoFilter\" : \"wbyAcoFilter\";\n\nclass FilterPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: FILTER_MODEL_ID,\n name: \"ACO - Filter\"\n })\n .fields(fields => ({\n name: fields.text().label(\"Name\").required(),\n description: fields.text().label(\"Description\"),\n namespace: fields.text().label(\"Model Id\").required(),\n operation: fields\n .text()\n .label(\"Operation\")\n .required()\n .predefinedValues([\n {\n label: \"AND\",\n value: \"AND\"\n },\n {\n label: \"OR\",\n value: \"OR\"\n }\n ]),\n groups: fields\n .object()\n .label(\"Groups\")\n .list()\n .listMinLength(1, \"At least one group is required.\")\n .fields(fields => ({\n operation: fields\n .text()\n .label(\"Operation\")\n .required()\n .predefinedValues([\n {\n label: \"AND\",\n value: \"AND\"\n },\n {\n label: \"OR\",\n value: \"OR\"\n }\n ]),\n filters: fields\n .object()\n .label(\"Filters\")\n .list()\n .listMinLength(1, \"At least one filter is required.\")\n .fields(filterFields => ({\n field: filterFields.text().label(\"Field\").required(),\n condition: filterFields.text().label(\"Condition\").required(),\n value: filterFields.text().label(\"Value\").required()\n }))\n }))\n }))\n ];\n }\n}\n\nexport const FilterPrivateModel = ModelFactory.createImplementation({\n implementation: FilterPrivateModelImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,yDAAyD;AAEtF,OAAO,MAAMC,eAAe,GAAGC,OAAO,CAACC,GAAG,CAACC,wBAAwB,GAAG,WAAW,GAAG,cAAc;AAElG,MAAMC,sBAAsB,CAAmC;EAC3D,MAAaC,OAAOA,CAACC,OAA6B,EAAE;IAChD,OAAO,CACHA,OAAO,CACFC,OAAO,CAAC;MACLC,OAAO,EAAER,eAAe;MACxBS,IAAI,EAAE;IACV,CAAC,CAAC,CACDC,MAAM,CAACA,MAAM,KAAK;MACfD,IAAI,EAAEC,MAAM,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAACC,QAAQ,CAAC,CAAC;MAC5CC,WAAW,EAAEJ,MAAM,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,aAAa,CAAC;MAC/CG,SAAS,EAAEL,MAAM,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,UAAU,CAAC,CAACC,QAAQ,CAAC,CAAC;MACrDG,SAAS,EAAEN,MAAM,CACZC,IAAI,CAAC,CAAC,CACNC,KAAK,CAAC,WAAW,CAAC,CAClBC,QAAQ,CAAC,CAAC,CACVI,gBAAgB,CAAC,CACd;QACIL,KAAK,EAAE,KAAK;QACZM,KAAK,EAAE;MACX,CAAC,EACD;QACIN,KAAK,EAAE,IAAI;QACXM,KAAK,EAAE;MACX,CAAC,CACJ,CAAC;MACNC,MAAM,EAAET,MAAM,CACTU,MAAM,CAAC,CAAC,CACRR,KAAK,CAAC,QAAQ,CAAC,CACfS,IAAI,CAAC,CAAC,CACNC,aAAa,CAAC,CAAC,EAAE,iCAAiC,CAAC,CACnDZ,MAAM,CAACA,MAAM,KAAK;QACfM,SAAS,EAAEN,MAAM,CACZC,IAAI,CAAC,CAAC,CACNC,KAAK,CAAC,WAAW,CAAC,CAClBC,QAAQ,CAAC,CAAC,CACVI,gBAAgB,CAAC,CACd;UACIL,KAAK,EAAE,KAAK;UACZM,KAAK,EAAE;QACX,CAAC,EACD;UACIN,KAAK,EAAE,IAAI;UACXM,KAAK,EAAE;QACX,CAAC,CACJ,CAAC;QACNK,OAAO,EAAEb,MAAM,CACVU,MAAM,CAAC,CAAC,CACRR,KAAK,CAAC,SAAS,CAAC,CAChBS,IAAI,CAAC,CAAC,CACNC,aAAa,CAAC,CAAC,EAAE,kCAAkC,CAAC,CACpDZ,MAAM,CAACc,YAAY,KAAK;UACrBC,KAAK,EAAED,YAAY,CAACb,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC,CAAC;UACpDa,SAAS,EAAEF,YAAY,CAACb,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,WAAW,CAAC,CAACC,QAAQ,CAAC,CAAC;UAC5DK,KAAK,EAAEM,YAAY,CAACb,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,OAAO,CAAC,CAACC,QAAQ,CAAC;QACvD,CAAC,CAAC;MACV,CAAC,CAAC;IACV,CAAC,CAAC,CAAC,CACV;EACL;AACJ;AAEA,OAAO,MAAMc,kBAAkB,GAAG5B,YAAY,CAAC6B,oBAAoB,CAAC;EAChEC,cAAc,EAAEzB,sBAAsB;EACtC0B,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"filter/filter.model.js","sources":["../../src/filter/filter.model.ts"],"sourcesContent":["import { ModelFactory } from \"@webiny/api-headless-cms/features/modelBuilder/index.js\";\n\nexport const FILTER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? \"acoFilter\" : \"wbyAcoFilter\";\n\nclass FilterPrivateModelImpl implements ModelFactory.Interface {\n public async execute(builder: ModelFactory.Builder) {\n return [\n builder\n .private({\n modelId: FILTER_MODEL_ID,\n name: \"ACO - Filter\",\n lifecycleEvents: false\n })\n .fields(fields => ({\n name: fields.text().label(\"Name\").required(),\n description: fields.text().label(\"Description\"),\n namespace: fields.text().label(\"Model Id\").required(),\n operation: fields\n .text()\n .label(\"Operation\")\n .required()\n .predefinedValues([\n {\n label: \"AND\",\n value: \"AND\"\n },\n {\n label: \"OR\",\n value: \"OR\"\n }\n ]),\n groups: fields\n .object()\n .label(\"Groups\")\n .list()\n .listMinLength(1, \"At least one group is required.\")\n .fields(fields => ({\n operation: fields\n .text()\n .label(\"Operation\")\n .required()\n .predefinedValues([\n {\n label: \"AND\",\n value: \"AND\"\n },\n {\n label: \"OR\",\n value: \"OR\"\n }\n ]),\n filters: fields\n .object()\n .label(\"Filters\")\n .list()\n .listMinLength(1, \"At least one filter is required.\")\n .fields(filterFields => ({\n field: filterFields.text().label(\"Field\").required(),\n condition: filterFields.text().label(\"Condition\").required(),\n value: filterFields.text().label(\"Value\").required()\n }))\n }))\n }))\n ];\n }\n}\n\nexport const FilterPrivateModel = ModelFactory.createImplementation({\n implementation: FilterPrivateModelImpl,\n dependencies: []\n});\n"],"names":["FILTER_MODEL_ID","process","FilterPrivateModelImpl","builder","fields","filterFields","FilterPrivateModel","ModelFactory"],"mappings":";AAEO,MAAMA,kBAAkBC,QAAQ,GAAG,CAAC,wBAAwB,GAAG,cAAc;AAEpF,MAAMC;IACF,MAAa,QAAQC,OAA6B,EAAE;QAChD,OAAO;YACHA,QACK,OAAO,CAAC;gBACL,SAASH;gBACT,MAAM;gBACN,iBAAiB;YACrB,GACC,MAAM,CAACI,CAAAA,SAAW;oBACf,MAAMA,OAAO,IAAI,GAAG,KAAK,CAAC,QAAQ,QAAQ;oBAC1C,aAAaA,OAAO,IAAI,GAAG,KAAK,CAAC;oBACjC,WAAWA,OAAO,IAAI,GAAG,KAAK,CAAC,YAAY,QAAQ;oBACnD,WAAWA,OACN,IAAI,GACJ,KAAK,CAAC,aACN,QAAQ,GACR,gBAAgB,CAAC;wBACd;4BACI,OAAO;4BACP,OAAO;wBACX;wBACA;4BACI,OAAO;4BACP,OAAO;wBACX;qBACH;oBACL,QAAQA,OACH,MAAM,GACN,KAAK,CAAC,UACN,IAAI,GACJ,aAAa,CAAC,GAAG,mCACjB,MAAM,CAACA,CAAAA,SAAW;4BACf,WAAWA,OACN,IAAI,GACJ,KAAK,CAAC,aACN,QAAQ,GACR,gBAAgB,CAAC;gCACd;oCACI,OAAO;oCACP,OAAO;gCACX;gCACA;oCACI,OAAO;oCACP,OAAO;gCACX;6BACH;4BACL,SAASA,OACJ,MAAM,GACN,KAAK,CAAC,WACN,IAAI,GACJ,aAAa,CAAC,GAAG,oCACjB,MAAM,CAACC,CAAAA,eAAiB;oCACrB,OAAOA,aAAa,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ;oCAClD,WAAWA,aAAa,IAAI,GAAG,KAAK,CAAC,aAAa,QAAQ;oCAC1D,OAAOA,aAAa,IAAI,GAAG,KAAK,CAAC,SAAS,QAAQ;gCACtD;wBACR;gBACR;SACP;IACL;AACJ;AAEO,MAAMC,qBAAqBC,aAAa,oBAAoB,CAAC;IAChE,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
@@ -1,3 +1,9 @@
1
- import type { CreateAcoStorageOperationsParams } from "../createAcoStorageOperations.js";
1
+ import type { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
2
+ import type { Container } from "@webiny/di";
3
+ interface CreateFilterOperationsParams {
4
+ identityContext: IdentityContext.Interface;
5
+ container: Container;
6
+ }
2
7
  import type { AcoFilterStorageOperations } from "./filter.types.js";
3
- export declare const createFilterOperations: (params: CreateAcoStorageOperationsParams) => AcoFilterStorageOperations;
8
+ export declare const createFilterOperations: (params: CreateFilterOperationsParams) => AcoFilterStorageOperations;
9
+ export {};
@@ -1,104 +1,96 @@
1
1
  import omit from "lodash/omit.js";
2
- import WebinyError from "@webiny/error";
2
+ import error from "@webiny/error";
3
3
  import { FILTER_MODEL_ID } from "./filter.model.js";
4
4
  import { createListSort } from "../utils/createListSort.js";
5
5
  import { createOperationsWrapper } from "../utils/createOperationsWrapper.js";
6
6
  import { pickEntryFieldValues } from "../utils/pickEntryFieldValues.js";
7
7
  import { ENTRY_META_FIELDS } from "@webiny/api-headless-cms/constants.js";
8
8
  import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
9
- export const createFilterOperations = params => {
10
- const {
11
- cms,
12
- security,
13
- container
14
- } = params;
15
- const {
16
- withModel
17
- } = createOperationsWrapper({
18
- ...params,
19
- modelName: FILTER_MODEL_ID
20
- });
21
- const cmsWhereMapper = container.resolve(CmsWhereMapper);
22
- const cmsSortMapper = container.resolve(CmsSortMapper);
23
- return {
24
- getFilter({
25
- id
26
- }) {
27
- return withModel(async model => {
28
- const entry = await cms.getEntryById(model, id);
29
- if (!entry) {
30
- throw new WebinyError("Could not load filter.", "GET_FILTER_ERROR", {
31
- id
32
- });
9
+ import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
10
+ import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js";
11
+ import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
12
+ import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
13
+ import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js";
14
+ const unwrap = (result)=>{
15
+ if (result.isFail()) throw result.error;
16
+ return result.value;
17
+ };
18
+ const createFilterOperations = (params)=>{
19
+ const { identityContext, container } = params;
20
+ const { withModel } = createOperationsWrapper({
21
+ identityContext,
22
+ container,
23
+ modelName: FILTER_MODEL_ID
24
+ });
25
+ const cmsWhereMapper = container.resolve(CmsWhereMapper);
26
+ const cmsSortMapper = container.resolve(CmsSortMapper);
27
+ return {
28
+ getFilter ({ id }) {
29
+ return withModel(async (model)=>{
30
+ const entry = unwrap(await container.resolve(GetEntryByIdUseCase).execute(model, id));
31
+ if (!entry) throw new error("Could not load filter.", "GET_FILTER_ERROR", {
32
+ id
33
+ });
34
+ return pickEntryFieldValues(entry);
35
+ });
36
+ },
37
+ listFilters (params) {
38
+ return withModel(async (model)=>{
39
+ const { sort, where } = params;
40
+ const createdBy = identityContext.getIdentity().id;
41
+ const result = await container.resolve(ListLatestEntriesUseCase).execute(model, {
42
+ ...params,
43
+ sort: cmsSortMapper.map({
44
+ input: createListSort(sort),
45
+ fields: model.fields
46
+ }),
47
+ where: cmsWhereMapper.map({
48
+ input: {
49
+ ...where,
50
+ createdBy
51
+ },
52
+ fields: model.fields
53
+ })
54
+ });
55
+ const { entries, meta } = unwrap(result);
56
+ return [
57
+ entries.map(pickEntryFieldValues),
58
+ meta
59
+ ];
60
+ });
61
+ },
62
+ createFilter ({ data }) {
63
+ return withModel(async (model)=>{
64
+ const result = await container.resolve(CreateEntryUseCase).execute(model, {
65
+ id: data.id,
66
+ values: data
67
+ });
68
+ const entry = unwrap(result);
69
+ return pickEntryFieldValues(entry);
70
+ });
71
+ },
72
+ updateFilter ({ id, data }) {
73
+ return withModel(async (model)=>{
74
+ const original = unwrap(await container.resolve(GetEntryByIdUseCase).execute(model, id));
75
+ const input = {
76
+ ...omit(original, ENTRY_META_FIELDS),
77
+ values: {
78
+ ...original.values,
79
+ ...data
80
+ }
81
+ };
82
+ const entry = unwrap(await container.resolve(UpdateEntryUseCase).execute(model, original.id, input));
83
+ return pickEntryFieldValues(entry);
84
+ });
85
+ },
86
+ deleteFilter ({ id }) {
87
+ return withModel(async (model)=>{
88
+ unwrap(await container.resolve(DeleteEntryUseCase).execute(model, id));
89
+ return true;
90
+ });
33
91
  }
34
- return pickEntryFieldValues(entry);
35
- });
36
- },
37
- listFilters(params) {
38
- return withModel(async model => {
39
- const {
40
- sort,
41
- where
42
- } = params;
43
- const createdBy = security.getIdentity().id;
44
- const [entries, meta] = await cms.listLatestEntries(model, {
45
- ...params,
46
- sort: cmsSortMapper.map({
47
- input: createListSort(sort),
48
- fields: model.fields
49
- }),
50
- where: cmsWhereMapper.map({
51
- input: {
52
- ...where,
53
- createdBy
54
- },
55
- fields: model.fields
56
- })
57
- });
58
- return [entries.map(pickEntryFieldValues), meta];
59
- });
60
- },
61
- createFilter({
62
- data
63
- }) {
64
- return withModel(async model => {
65
- const entry = await cms.createEntry(model, {
66
- id: data.id,
67
- values: data
68
- });
69
- return pickEntryFieldValues(entry);
70
- });
71
- },
72
- updateFilter({
73
- id,
74
- data
75
- }) {
76
- return withModel(async model => {
77
- const original = await cms.getEntryById(model, id);
78
- const input = {
79
- /**
80
- * We are omitting the standard entry meta fields:
81
- * we don't want to override them with the ones coming from the `original` entry.
82
- */
83
- ...omit(original, ENTRY_META_FIELDS),
84
- values: {
85
- ...original.values,
86
- ...data
87
- }
88
- };
89
- const entry = await cms.updateEntry(model, original.id, input);
90
- return pickEntryFieldValues(entry);
91
- });
92
- },
93
- deleteFilter({
94
- id
95
- }) {
96
- return withModel(async model => {
97
- await cms.deleteEntry(model, id);
98
- return true;
99
- });
100
- }
101
- };
92
+ };
102
93
  };
94
+ export { createFilterOperations };
103
95
 
104
96
  //# sourceMappingURL=filter.so.js.map