@webiny/api-aco 0.0.0-unstable.496cf268ac → 0.0.0-unstable.5387e5f7c8

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 (641) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +134 -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/README.md +6 -28
  8. package/constants.d.ts +2 -0
  9. package/constants.js +5 -0
  10. package/constants.js.map +1 -0
  11. package/createAcoGraphQL.d.ts +8 -3
  12. package/createAcoGraphQL.js +59 -81
  13. package/createAcoGraphQL.js.map +1 -1
  14. package/domain/folder/abstractions.d.ts +16 -0
  15. package/domain/folder/abstractions.js +5 -0
  16. package/domain/folder/abstractions.js.map +1 -0
  17. package/domain/folder/errors.d.ts +29 -0
  18. package/domain/folder/errors.js +51 -0
  19. package/domain/folder/errors.js.map +1 -0
  20. package/domain/folder/folder.model.d.ts +9 -0
  21. package/domain/folder/folder.model.js +59 -0
  22. package/domain/folder/folder.model.js.map +1 -0
  23. package/exports/api/aco/flp.d.ts +7 -0
  24. package/exports/api/aco/flp.js +7 -0
  25. package/exports/api/aco/folder.d.ts +11 -0
  26. package/exports/api/aco/folder.js +10 -0
  27. package/features/ai/CreateFolderTool.d.ts +49 -0
  28. package/features/ai/CreateFolderTool.js +58 -0
  29. package/features/ai/CreateFolderTool.js.map +1 -0
  30. package/features/ai/CreateTeamTool.d.ts +48 -0
  31. package/features/ai/CreateTeamTool.js +56 -0
  32. package/features/ai/CreateTeamTool.js.map +1 -0
  33. package/features/ai/DeleteFolderTool.d.ts +48 -0
  34. package/features/ai/DeleteFolderTool.js +55 -0
  35. package/features/ai/DeleteFolderTool.js.map +1 -0
  36. package/features/ai/GrantFolderAccessTool.d.ts +77 -0
  37. package/features/ai/GrantFolderAccessTool.js +80 -0
  38. package/features/ai/GrantFolderAccessTool.js.map +1 -0
  39. package/features/ai/ListFoldersTool.d.ts +47 -0
  40. package/features/ai/ListFoldersTool.js +57 -0
  41. package/features/ai/ListFoldersTool.js.map +1 -0
  42. package/features/ai/ListRolesTool.d.ts +39 -0
  43. package/features/ai/ListRolesTool.js +48 -0
  44. package/features/ai/ListRolesTool.js.map +1 -0
  45. package/features/ai/ListTeamsTool.d.ts +39 -0
  46. package/features/ai/ListTeamsTool.js +48 -0
  47. package/features/ai/ListTeamsTool.js.map +1 -0
  48. package/features/ai/RevokeFolderAccessTool.d.ts +63 -0
  49. package/features/ai/RevokeFolderAccessTool.js +69 -0
  50. package/features/ai/RevokeFolderAccessTool.js.map +1 -0
  51. package/features/ai/assertTargetIsUsable.d.ts +10 -0
  52. package/features/ai/assertTargetIsUsable.js +14 -0
  53. package/features/ai/assertTargetIsUsable.js.map +1 -0
  54. package/features/ai/feature.d.ts +12 -0
  55. package/features/ai/feature.js +25 -0
  56. package/features/ai/feature.js.map +1 -0
  57. package/features/ai/index.d.ts +9 -0
  58. package/features/ai/index.js +9 -0
  59. package/features/ai/loadFolderPermissions.d.ts +16 -0
  60. package/features/ai/loadFolderPermissions.js +14 -0
  61. package/features/ai/loadFolderPermissions.js.map +1 -0
  62. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  63. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +39 -0
  64. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  65. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  66. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +33 -0
  67. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  68. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  69. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +39 -0
  70. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  71. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  72. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +41 -0
  73. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  74. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  75. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +36 -0
  76. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  77. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  78. package/features/cms/decorators/GetEntryWithFlpDecorator.js +36 -0
  79. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  80. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  81. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +41 -0
  82. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  83. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  84. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +41 -0
  85. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  86. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  87. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  88. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  89. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  90. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +36 -0
  91. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  92. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  93. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  94. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  95. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  96. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  97. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  98. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  99. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +49 -0
  100. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  101. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +14 -0
  102. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +39 -0
  103. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  104. package/features/cms/feature.d.ts +4 -0
  105. package/features/cms/feature.js +37 -0
  106. package/features/cms/feature.js.map +1 -0
  107. package/features/cms/index.d.ts +1 -0
  108. package/features/cms/index.js +1 -0
  109. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  110. package/features/flp/CreateFlp/CreateFlpUseCase.js +34 -0
  111. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  112. package/features/flp/CreateFlp/abstractions.d.ts +9 -0
  113. package/features/flp/CreateFlp/abstractions.js +5 -0
  114. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  115. package/features/flp/CreateFlp/feature.d.ts +5 -0
  116. package/features/flp/CreateFlp/feature.js +13 -0
  117. package/features/flp/CreateFlp/feature.js.map +1 -0
  118. package/features/flp/CreateFlp/index.d.ts +2 -0
  119. package/features/flp/CreateFlp/index.js +2 -0
  120. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +17 -0
  121. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +44 -0
  122. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  123. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -0
  124. package/features/flp/CreateFlpOnFolderCreated/feature.js +11 -0
  125. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  126. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  127. package/features/flp/CreateFlpOnFolderCreated/index.js +1 -0
  128. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  129. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +22 -0
  130. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  131. package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
  132. package/features/flp/DeleteFlp/abstractions.js +5 -0
  133. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  134. package/features/flp/DeleteFlp/feature.d.ts +5 -0
  135. package/features/flp/DeleteFlp/feature.js +13 -0
  136. package/features/flp/DeleteFlp/feature.js.map +1 -0
  137. package/features/flp/DeleteFlp/index.d.ts +2 -0
  138. package/features/flp/DeleteFlp/index.js +2 -0
  139. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +15 -0
  140. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +40 -0
  141. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  142. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -0
  143. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +11 -0
  144. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  145. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  146. package/features/flp/DeleteFlpOnFolderDeleted/index.js +1 -0
  147. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  148. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +112 -0
  149. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  150. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  151. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  152. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  153. package/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
  154. package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
  155. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  156. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -0
  157. package/features/flp/FolderLevelPermissions/feature.js +11 -0
  158. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  159. package/features/flp/FolderLevelPermissions/index.d.ts +3 -0
  160. package/features/flp/FolderLevelPermissions/index.js +3 -0
  161. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  162. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +19 -0
  163. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  164. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  165. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -0
  166. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  167. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +1 -0
  168. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  169. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +17 -0
  170. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  171. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  172. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -0
  173. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  174. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +1 -0
  175. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  176. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +8 -0
  177. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  178. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  179. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -0
  180. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  181. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +1 -0
  182. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  183. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +8 -0
  184. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  185. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  186. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -0
  187. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  188. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +1 -0
  189. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  190. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +47 -0
  191. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  192. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  193. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +14 -0
  194. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  195. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  196. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +27 -0
  197. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  198. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  199. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -0
  200. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  201. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +2 -0
  202. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  203. package/features/flp/FolderLevelPermissions/useCases/index.js +5 -0
  204. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  205. package/features/flp/GetFlp/GetFlpUseCase.js +11 -0
  206. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  207. package/features/flp/GetFlp/abstractions.d.ts +9 -0
  208. package/features/flp/GetFlp/abstractions.js +5 -0
  209. package/features/flp/GetFlp/abstractions.js.map +1 -0
  210. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.d.ts +13 -0
  211. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js +26 -0
  212. package/features/flp/GetFlp/decorators/GetFlpWithCodeFlps.js.map +1 -0
  213. package/features/flp/GetFlp/feature.d.ts +4 -0
  214. package/features/flp/GetFlp/feature.js +13 -0
  215. package/features/flp/GetFlp/feature.js.map +1 -0
  216. package/features/flp/GetFlp/index.d.ts +1 -0
  217. package/features/flp/GetFlp/index.js +1 -0
  218. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  219. package/features/flp/ListFlps/ListFlpsUseCase.js +11 -0
  220. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  221. package/features/flp/ListFlps/abstractions.d.ts +17 -0
  222. package/features/flp/ListFlps/abstractions.js +5 -0
  223. package/features/flp/ListFlps/abstractions.js.map +1 -0
  224. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.d.ts +13 -0
  225. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js +27 -0
  226. package/features/flp/ListFlps/decorators/ListFlpsWithCodeFlps.js.map +1 -0
  227. package/features/flp/ListFlps/feature.d.ts +4 -0
  228. package/features/flp/ListFlps/feature.js +13 -0
  229. package/features/flp/ListFlps/feature.js.map +1 -0
  230. package/features/flp/ListFlps/index.d.ts +1 -0
  231. package/features/flp/ListFlps/index.js +1 -0
  232. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +26 -0
  233. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +147 -0
  234. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  235. package/features/flp/UpdateFlp/abstractions.d.ts +19 -0
  236. package/features/flp/UpdateFlp/abstractions.js +5 -0
  237. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  238. package/features/flp/UpdateFlp/feature.d.ts +5 -0
  239. package/features/flp/UpdateFlp/feature.js +17 -0
  240. package/features/flp/UpdateFlp/feature.js.map +1 -0
  241. package/features/flp/UpdateFlp/index.d.ts +2 -0
  242. package/features/flp/UpdateFlp/index.js +2 -0
  243. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +17 -0
  244. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +44 -0
  245. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  246. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -0
  247. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +11 -0
  248. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  249. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  250. package/features/flp/UpdateFlpOnFolderUpdated/index.js +1 -0
  251. package/features/flp/shared/CodeFlpMerger.d.ts +26 -0
  252. package/features/flp/shared/CodeFlpMerger.js +20 -0
  253. package/features/flp/shared/CodeFlpMerger.js.map +1 -0
  254. package/features/flp/shared/CodeFlpPath.d.ts +15 -0
  255. package/features/flp/shared/CodeFlpPath.js +29 -0
  256. package/features/flp/shared/CodeFlpPath.js.map +1 -0
  257. package/features/flp/shared/CodeFlpTarget.d.ts +10 -0
  258. package/features/flp/shared/CodeFlpTarget.js +26 -0
  259. package/features/flp/shared/CodeFlpTarget.js.map +1 -0
  260. package/features/flp/shared/CodeFlpsProvider.d.ts +14 -0
  261. package/features/flp/shared/CodeFlpsProvider.js +33 -0
  262. package/features/flp/shared/CodeFlpsProvider.js.map +1 -0
  263. package/features/flp/shared/abstractions.d.ts +77 -0
  264. package/features/flp/shared/abstractions.js +19 -0
  265. package/features/flp/shared/abstractions.js.map +1 -0
  266. package/features/flp/shared/feature.d.ts +5 -0
  267. package/features/flp/shared/feature.js +17 -0
  268. package/features/flp/shared/feature.js.map +1 -0
  269. package/features/flp/shared/index.d.ts +4 -0
  270. package/features/flp/shared/index.js +4 -0
  271. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  272. package/features/folder/CreateFolder/CreateFolderRepository.js +88 -0
  273. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  274. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  275. package/features/folder/CreateFolder/CreateFolderUseCase.js +36 -0
  276. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  277. package/features/folder/CreateFolder/abstractions.d.ts +59 -0
  278. package/features/folder/CreateFolder/abstractions.js +8 -0
  279. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  280. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +19 -0
  281. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +56 -0
  282. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  283. package/features/folder/CreateFolder/events.d.ts +10 -0
  284. package/features/folder/CreateFolder/events.js +21 -0
  285. package/features/folder/CreateFolder/events.js.map +1 -0
  286. package/features/folder/CreateFolder/feature.d.ts +5 -0
  287. package/features/folder/CreateFolder/feature.js +15 -0
  288. package/features/folder/CreateFolder/feature.js.map +1 -0
  289. package/features/folder/CreateFolder/index.d.ts +2 -0
  290. package/features/folder/CreateFolder/index.js +2 -0
  291. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  292. package/features/folder/DeleteFolder/DeleteFolderRepository.js +33 -0
  293. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  294. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  295. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +47 -0
  296. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  297. package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
  298. package/features/folder/DeleteFolder/abstractions.js +8 -0
  299. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  300. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  301. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +29 -0
  302. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  303. package/features/folder/DeleteFolder/events.d.ts +10 -0
  304. package/features/folder/DeleteFolder/events.js +21 -0
  305. package/features/folder/DeleteFolder/events.js.map +1 -0
  306. package/features/folder/DeleteFolder/feature.d.ts +5 -0
  307. package/features/folder/DeleteFolder/feature.js +15 -0
  308. package/features/folder/DeleteFolder/feature.js.map +1 -0
  309. package/features/folder/DeleteFolder/index.d.ts +2 -0
  310. package/features/folder/DeleteFolder/index.js +2 -0
  311. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  312. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +59 -0
  313. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  314. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
  315. package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
  316. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  317. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -0
  318. package/features/folder/EnsureFolderIsEmpty/feature.js +11 -0
  319. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  320. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  321. package/features/folder/EnsureFolderIsEmpty/index.js +1 -0
  322. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  323. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +25 -0
  324. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  325. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +10 -0
  326. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +11 -0
  327. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  328. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  329. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +1 -0
  330. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  331. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +52 -0
  332. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  333. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -0
  334. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +11 -0
  335. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  336. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  337. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +1 -0
  338. package/features/folder/FolderModelProvider.d.ts +26 -0
  339. package/features/folder/FolderModelProvider.js +22 -0
  340. package/features/folder/FolderModelProvider.js.map +1 -0
  341. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  342. package/features/folder/GetAncestors/GetAncestorsRepository.js +59 -0
  343. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  344. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  345. package/features/folder/GetAncestors/GetAncestorsUseCase.js +20 -0
  346. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  347. package/features/folder/GetAncestors/abstractions.d.ts +40 -0
  348. package/features/folder/GetAncestors/abstractions.js +6 -0
  349. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  350. package/features/folder/GetAncestors/feature.d.ts +5 -0
  351. package/features/folder/GetAncestors/feature.js +13 -0
  352. package/features/folder/GetAncestors/feature.js.map +1 -0
  353. package/features/folder/GetAncestors/index.d.ts +2 -0
  354. package/features/folder/GetAncestors/index.js +2 -0
  355. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  356. package/features/folder/GetFolder/GetFolderRepository.js +34 -0
  357. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  358. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  359. package/features/folder/GetFolder/GetFolderUseCase.js +20 -0
  360. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  361. package/features/folder/GetFolder/abstractions.d.ts +57 -0
  362. package/features/folder/GetFolder/abstractions.js +8 -0
  363. package/features/folder/GetFolder/abstractions.js.map +1 -0
  364. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  365. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +34 -0
  366. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  367. package/features/folder/GetFolder/feature.d.ts +5 -0
  368. package/features/folder/GetFolder/feature.js +15 -0
  369. package/features/folder/GetFolder/feature.js.map +1 -0
  370. package/features/folder/GetFolder/index.d.ts +2 -0
  371. package/features/folder/GetFolder/index.js +2 -0
  372. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  373. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +86 -0
  374. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  375. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  376. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +20 -0
  377. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  378. package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
  379. package/features/folder/GetFolderHierarchy/abstractions.js +6 -0
  380. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  381. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  382. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +63 -0
  383. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  384. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -0
  385. package/features/folder/GetFolderHierarchy/feature.js +15 -0
  386. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  387. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  388. package/features/folder/GetFolderHierarchy/index.js +2 -0
  389. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  390. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +75 -0
  391. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  392. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
  393. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +5 -0
  394. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  395. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -0
  396. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +11 -0
  397. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  398. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  399. package/features/folder/ListFolderLevelPermissionsTargets/index.js +1 -0
  400. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  401. package/features/folder/ListFolders/ListFoldersRepository.js +53 -0
  402. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  403. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  404. package/features/folder/ListFolders/ListFoldersUseCase.js +20 -0
  405. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  406. package/features/folder/ListFolders/abstractions.d.ts +44 -0
  407. package/features/folder/ListFolders/abstractions.js +6 -0
  408. package/features/folder/ListFolders/abstractions.js.map +1 -0
  409. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  410. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +65 -0
  411. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  412. package/features/folder/ListFolders/feature.d.ts +5 -0
  413. package/features/folder/ListFolders/feature.js +15 -0
  414. package/features/folder/ListFolders/feature.js.map +1 -0
  415. package/features/folder/ListFolders/index.d.ts +2 -0
  416. package/features/folder/ListFolders/index.js +2 -0
  417. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.d.ts +11 -0
  418. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js +38 -0
  419. package/features/folder/NotifyFolderChange/NotifyFolderChangeUseCase.js.map +1 -0
  420. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.d.ts +12 -0
  421. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js +24 -0
  422. package/features/folder/NotifyFolderChange/NotifyOnFolderDeletedHandler.js.map +1 -0
  423. package/features/folder/NotifyFolderChange/abstractions.d.ts +28 -0
  424. package/features/folder/NotifyFolderChange/abstractions.js +8 -0
  425. package/features/folder/NotifyFolderChange/abstractions.js.map +1 -0
  426. package/features/folder/NotifyFolderChange/feature.d.ts +9 -0
  427. package/features/folder/NotifyFolderChange/feature.js +13 -0
  428. package/features/folder/NotifyFolderChange/feature.js.map +1 -0
  429. package/features/folder/NotifyFolderChange/index.d.ts +2 -0
  430. package/features/folder/NotifyFolderChange/index.js +2 -0
  431. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  432. package/features/folder/UpdateFolder/UpdateFolderRepository.js +87 -0
  433. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  434. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  435. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +48 -0
  436. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  437. package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
  438. package/features/folder/UpdateFolder/abstractions.js +8 -0
  439. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  440. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  441. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +106 -0
  442. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  443. package/features/folder/UpdateFolder/events.d.ts +10 -0
  444. package/features/folder/UpdateFolder/events.js +21 -0
  445. package/features/folder/UpdateFolder/events.js.map +1 -0
  446. package/features/folder/UpdateFolder/feature.d.ts +5 -0
  447. package/features/folder/UpdateFolder/feature.js +15 -0
  448. package/features/folder/UpdateFolder/feature.js.map +1 -0
  449. package/features/folder/UpdateFolder/index.d.ts +2 -0
  450. package/features/folder/UpdateFolder/index.js +2 -0
  451. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  452. package/features/folder/shared/EntryToFolderMapper.js +23 -0
  453. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  454. package/features/folder/shared/abstractions.d.ts +20 -0
  455. package/features/folder/shared/abstractions.js +8 -0
  456. package/features/folder/shared/abstractions.js.map +1 -0
  457. package/filter/filter.crud.d.ts +3 -0
  458. package/filter/filter.crud.js +30 -0
  459. package/filter/filter.crud.js.map +1 -0
  460. package/filter/filter.gql.d.ts +2 -0
  461. package/filter/filter.gql.js +164 -0
  462. package/filter/filter.gql.js.map +1 -0
  463. package/filter/filter.model.d.ts +9 -0
  464. package/filter/filter.model.js +51 -0
  465. package/filter/filter.model.js.map +1 -0
  466. package/filter/filter.so.d.ts +9 -0
  467. package/filter/filter.so.js +96 -0
  468. package/filter/filter.so.js.map +1 -0
  469. package/filter/filter.types.d.ts +67 -0
  470. package/filter/filter.types.js +8 -0
  471. package/filter/filter.types.js.map +1 -0
  472. package/flp/flp.crud.d.ts +7 -0
  473. package/flp/flp.crud.js +74 -0
  474. package/flp/flp.crud.js.map +1 -0
  475. package/flp/flp.types.d.ts +98 -0
  476. package/flp/flp.types.js +0 -0
  477. package/flp/index.d.ts +2 -0
  478. package/flp/index.js +2 -0
  479. package/flp/tasks/createFlp.task.d.ts +25 -0
  480. package/flp/tasks/createFlp.task.js +53 -0
  481. package/flp/tasks/createFlp.task.js.map +1 -0
  482. package/flp/tasks/deleteFlp.task.d.ts +23 -0
  483. package/flp/tasks/deleteFlp.task.js +45 -0
  484. package/flp/tasks/deleteFlp.task.js.map +1 -0
  485. package/flp/tasks/index.d.ts +4 -0
  486. package/flp/tasks/index.js +7 -0
  487. package/flp/tasks/index.js.map +1 -0
  488. package/flp/tasks/syncFlp.task.d.ts +27 -0
  489. package/flp/tasks/syncFlp.task.js +121 -0
  490. package/flp/tasks/syncFlp.task.js.map +1 -0
  491. package/flp/tasks/updateFlp.task.d.ts +25 -0
  492. package/flp/tasks/updateFlp.task.js +64 -0
  493. package/flp/tasks/updateFlp.task.js.map +1 -0
  494. package/folder/createFolderModelModifier.d.ts +36 -0
  495. package/folder/createFolderModelModifier.js +61 -0
  496. package/folder/createFolderModelModifier.js.map +1 -0
  497. package/folder/createFolderTypeDefs.d.ts +8 -0
  498. package/folder/createFolderTypeDefs.js +178 -0
  499. package/folder/createFolderTypeDefs.js.map +1 -0
  500. package/folder/folder.gql.d.ts +4 -3
  501. package/folder/folder.gql.js +123 -101
  502. package/folder/folder.gql.js.map +1 -1
  503. package/folder/folder.types.d.ts +51 -58
  504. package/folder/folder.types.js +0 -5
  505. package/index.d.ts +3 -1
  506. package/index.js +3 -14
  507. package/package.json +36 -39
  508. package/types.d.ts +26 -16
  509. package/types.js +8 -11
  510. package/types.js.map +1 -1
  511. package/utils/FoldersCacheFactory.d.ts +10 -0
  512. package/utils/FoldersCacheFactory.js +25 -0
  513. package/utils/FoldersCacheFactory.js.map +1 -0
  514. package/utils/ListCache.d.ts +23 -0
  515. package/utils/ListCache.js +24 -0
  516. package/utils/ListCache.js.map +1 -0
  517. package/utils/Path.d.ts +3 -0
  518. package/utils/Path.js +10 -0
  519. package/utils/Path.js.map +1 -0
  520. package/utils/compress.d.ts +4 -0
  521. package/utils/compress.js +13 -0
  522. package/utils/compress.js.map +1 -0
  523. package/utils/createListSort.d.ts +3 -2
  524. package/utils/createListSort.js +6 -12
  525. package/utils/createListSort.js.map +1 -1
  526. package/utils/createOperationsWrapper.d.ts +6 -3
  527. package/utils/createOperationsWrapper.js +14 -28
  528. package/utils/createOperationsWrapper.js.map +1 -1
  529. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  530. package/utils/decorators/CmsEntriesCrudDecorators.js +179 -0
  531. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  532. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  533. package/utils/decorators/FilterEntriesByFolderFactory.js +22 -0
  534. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  535. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  536. package/utils/decorators/ListEntriesFactory.js +73 -0
  537. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  538. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  539. package/utils/decorators/hasRootFolderId.js +13 -0
  540. package/utils/decorators/hasRootFolderId.js.map +1 -0
  541. package/utils/decorators/isPageModel.d.ts +5 -0
  542. package/utils/decorators/isPageModel.js +8 -0
  543. package/utils/decorators/isPageModel.js.map +1 -0
  544. package/utils/ensureAuthentication.d.ts +2 -0
  545. package/utils/ensureAuthentication.js +11 -0
  546. package/utils/ensureAuthentication.js.map +1 -0
  547. package/utils/pickEntryFieldValues.d.ts +3 -0
  548. package/utils/pickEntryFieldValues.js +29 -0
  549. package/utils/pickEntryFieldValues.js.map +1 -0
  550. package/utils/resolve.d.ts +2 -2
  551. package/utils/resolve.js +10 -14
  552. package/utils/resolve.js.map +1 -1
  553. package/context/folders.d.ts +0 -2
  554. package/context/folders.js +0 -261
  555. package/context/folders.js.map +0 -1
  556. package/context/index.d.ts +0 -2
  557. package/context/index.js +0 -22
  558. package/context/index.js.map +0 -1
  559. package/context/links.d.ts +0 -2
  560. package/context/links.js +0 -270
  561. package/context/links.js.map +0 -1
  562. package/createAcoContext.d.ts +0 -3
  563. package/createAcoContext.js +0 -63
  564. package/createAcoContext.js.map +0 -1
  565. package/createAcoCrud.d.ts +0 -2
  566. package/createAcoCrud.js +0 -17
  567. package/createAcoCrud.js.map +0 -1
  568. package/createAcoFields.d.ts +0 -2
  569. package/createAcoFields.js +0 -40
  570. package/createAcoFields.js.map +0 -1
  571. package/createAcoHooks.d.ts +0 -2
  572. package/createAcoHooks.js +0 -11
  573. package/createAcoHooks.js.map +0 -1
  574. package/createAcoModels.d.ts +0 -2
  575. package/createAcoModels.js +0 -67
  576. package/createAcoModels.js.map +0 -1
  577. package/createAcoStorageOperations.d.ts +0 -10
  578. package/createAcoStorageOperations.js +0 -19
  579. package/createAcoStorageOperations.js.map +0 -1
  580. package/folder/folder.crud.d.ts +0 -3
  581. package/folder/folder.crud.js +0 -92
  582. package/folder/folder.crud.js.map +0 -1
  583. package/folder/folder.model.d.ts +0 -6
  584. package/folder/folder.model.js +0 -79
  585. package/folder/folder.model.js.map +0 -1
  586. package/folder/folder.so.d.ts +0 -3
  587. package/folder/folder.so.js +0 -151
  588. package/folder/folder.so.js.map +0 -1
  589. package/folder/folder.types.js.map +0 -1
  590. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  591. package/folder/onFolderBeforeDelete.hook.js +0 -53
  592. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  593. package/graphql/base.gql.d.ts +0 -3
  594. package/graphql/base.gql.js +0 -63
  595. package/graphql/base.gql.js.map +0 -1
  596. package/graphql/folders.gql.d.ts +0 -3
  597. package/graphql/folders.gql.js +0 -126
  598. package/graphql/folders.gql.js.map +0 -1
  599. package/graphql/index.d.ts +0 -1
  600. package/graphql/index.js +0 -15
  601. package/graphql/index.js.map +0 -1
  602. package/graphql/links.gql.d.ts +0 -3
  603. package/graphql/links.gql.js +0 -123
  604. package/graphql/links.gql.js.map +0 -1
  605. package/index.js.map +0 -1
  606. package/record/record.crud.d.ts +0 -3
  607. package/record/record.crud.js +0 -92
  608. package/record/record.crud.js.map +0 -1
  609. package/record/record.gql.d.ts +0 -3
  610. package/record/record.gql.js +0 -117
  611. package/record/record.gql.js.map +0 -1
  612. package/record/record.model.d.ts +0 -6
  613. package/record/record.model.js +0 -63
  614. package/record/record.model.js.map +0 -1
  615. package/record/record.so.d.ts +0 -3
  616. package/record/record.so.js +0 -98
  617. package/record/record.so.js.map +0 -1
  618. package/record/record.types.d.ts +0 -91
  619. package/record/record.types.js +0 -5
  620. package/record/record.types.js.map +0 -1
  621. package/subscriptions/afterFolderDelete.d.ts +0 -3
  622. package/subscriptions/afterFolderDelete.js +0 -62
  623. package/subscriptions/afterFolderDelete.js.map +0 -1
  624. package/subscriptions/index.d.ts +0 -3
  625. package/subscriptions/index.js +0 -14
  626. package/subscriptions/index.js.map +0 -1
  627. package/utils/createModelField.d.ts +0 -6
  628. package/utils/createModelField.js +0 -39
  629. package/utils/createModelField.js.map +0 -1
  630. package/utils/fieldResolver.d.ts +0 -16
  631. package/utils/fieldResolver.js +0 -44
  632. package/utils/fieldResolver.js.map +0 -1
  633. package/utils/getFieldValues.d.ts +0 -2
  634. package/utils/getFieldValues.js +0 -19
  635. package/utils/getFieldValues.js.map +0 -1
  636. package/utils/isInstallationPending.d.ts +0 -4
  637. package/utils/isInstallationPending.js +0 -21
  638. package/utils/isInstallationPending.js.map +0 -1
  639. package/utils/modelFactory.d.ts +0 -17
  640. package/utils/modelFactory.js +0 -23
  641. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1,164 @@
1
+ import { ErrorResponse, ListResponse } from "@webiny/api-graphql/responses.js";
2
+ import { ensureAuthentication } from "../utils/ensureAuthentication.js";
3
+ import { resolve } from "../utils/resolve.js";
4
+ import { AcoFilterCrud } from "../features/folder/shared/abstractions.js";
5
+ const addFilterSchema = (builder)=>{
6
+ builder.addTypeDefs(`
7
+ enum OperationEnum {
8
+ AND
9
+ OR
10
+ }
11
+
12
+ type GroupFilter {
13
+ field: String!
14
+ condition: String!
15
+ value: String!
16
+ }
17
+
18
+ type Group {
19
+ operation: OperationEnum!
20
+ filters: [GroupFilter]!
21
+ }
22
+
23
+ type Filter {
24
+ id: ID!
25
+ name: String!
26
+ description: String
27
+ namespace: String!
28
+ operation: OperationEnum!
29
+ groups: [Group]!
30
+ createdOn: DateTime
31
+ modifiedOn: DateTime
32
+ savedOn: DateTime
33
+ createdBy: AcoUser
34
+ modifiedBy: AcoUser
35
+ savedBy: AcoUser
36
+ }
37
+
38
+ input GroupFilterInput {
39
+ field: String!
40
+ condition: String!
41
+ value: String!
42
+ }
43
+
44
+ input GroupInput {
45
+ operation: OperationEnum!
46
+ filters: [GroupFilterInput]!
47
+ }
48
+
49
+ input FilterCreateInput {
50
+ id: ID!
51
+ name: String!
52
+ description: String
53
+ namespace: String!
54
+ operation: OperationEnum!
55
+ groups: [GroupInput]!
56
+ }
57
+
58
+ input FilterUpdateInput {
59
+ name: String
60
+ description: String
61
+ namespace: String
62
+ operation: OperationEnum
63
+ groups: [GroupInput]
64
+ }
65
+
66
+ input FiltersListWhereInput {
67
+ namespace: String
68
+ }
69
+
70
+ type FilterResponse {
71
+ data: Filter
72
+ error: AcoError
73
+ }
74
+
75
+ type FilterListResponse {
76
+ data: [Filter]
77
+ error: AcoError
78
+ }
79
+
80
+ extend type AcoQuery {
81
+ getFilter(id: ID!): FilterResponse
82
+ listFilters(
83
+ where: FiltersListWhereInput!
84
+ limit: Int
85
+ after: String
86
+ sort: AcoSort
87
+ ): FilterListResponse
88
+ }
89
+
90
+ extend type AcoMutation {
91
+ createFilter(data: FilterCreateInput!): FilterResponse
92
+ updateFilter(id: ID!, data: FilterUpdateInput!): FilterResponse
93
+ deleteFilter(id: ID!): AcoBooleanResponse
94
+ }
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 };
163
+
164
+ //# sourceMappingURL=filter.gql.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ export declare const FILTER_MODEL_ID: string;
3
+ declare class FilterPrivateModelImpl implements ModelFactory.Interface {
4
+ execute(builder: ModelFactory.Builder): Promise<import("@webiny/api-headless-cms/features/modelBuilder/index.js").PrivateModelBuilder[]>;
5
+ }
6
+ export declare const FilterPrivateModel: typeof FilterPrivateModelImpl & {
7
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/api-headless-cms/features/modelBuilder/abstractions").IModelFactory>;
8
+ };
9
+ export {};
@@ -0,0 +1,51 @@
1
+ import { ModelFactory } from "@webiny/api-headless-cms/features/modelBuilder/index.js";
2
+ const FILTER_MODEL_ID = process.env.WEBINY_API_LEGACY_MODELS ? "acoFilter" : "wbyAcoFilter";
3
+ class FilterPrivateModelImpl {
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
+ }
44
+ }
45
+ const FilterPrivateModel = ModelFactory.createImplementation({
46
+ implementation: FilterPrivateModelImpl,
47
+ dependencies: []
48
+ });
49
+ export { FILTER_MODEL_ID, FilterPrivateModel };
50
+
51
+ //# sourceMappingURL=filter.model.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
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
+ }
7
+ import type { AcoFilterStorageOperations } from "./filter.types.js";
8
+ export declare const createFilterOperations: (params: CreateFilterOperationsParams) => AcoFilterStorageOperations;
9
+ export {};
@@ -0,0 +1,96 @@
1
+ import omit from "lodash/omit.js";
2
+ import error from "@webiny/error";
3
+ import { FILTER_MODEL_ID } from "./filter.model.js";
4
+ import { createListSort } from "../utils/createListSort.js";
5
+ import { createOperationsWrapper } from "../utils/createOperationsWrapper.js";
6
+ import { pickEntryFieldValues } from "../utils/pickEntryFieldValues.js";
7
+ import { ENTRY_META_FIELDS } from "@webiny/api-headless-cms/constants.js";
8
+ import { CmsSortMapper, CmsWhereMapper } from "@webiny/api-headless-cms";
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
+ });
91
+ }
92
+ };
93
+ };
94
+ export { createFilterOperations };
95
+
96
+ //# sourceMappingURL=filter.so.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter/filter.so.js","sources":["../../src/filter/filter.so.ts"],"sourcesContent":["import omit from \"lodash/omit.js\";\nimport WebinyError from \"@webiny/error\";\nimport { FILTER_MODEL_ID } from \"./filter.model.js\";\nimport type { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport type { Container } from \"@webiny/di\";\n\ninterface CreateFilterOperationsParams {\n identityContext: IdentityContext.Interface;\n container: Container;\n}\nimport { createListSort } from \"~/utils/createListSort.js\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper.js\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues.js\";\nimport type { AcoFilterStorageOperations, Filter } from \"./filter.types.js\";\nimport { ENTRY_META_FIELDS } from \"@webiny/api-headless-cms/constants.js\";\nimport { CmsSortMapper, CmsWhereMapper } from \"@webiny/api-headless-cms\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js\";\nimport type { Result } from \"@webiny/feature/api\";\n\nconst unwrap = <TValue>(result: Result<TValue, Error>): TValue => {\n if (result.isFail()) {\n throw result.error;\n }\n return result.value;\n};\n\nexport const createFilterOperations = (\n params: CreateFilterOperationsParams\n): AcoFilterStorageOperations => {\n const { identityContext, container } = params;\n\n const { withModel } = createOperationsWrapper({\n identityContext,\n container,\n modelName: FILTER_MODEL_ID\n });\n\n /*\n * The CMS use cases are resolved when an operation runs, not here. These operations are built\n * while ACO's storage is being resolved, and resolving the use cases at this point loops back\n * into that same storage until the stack overflows.\n */\n\n const cmsWhereMapper = container.resolve(CmsWhereMapper);\n const cmsSortMapper = container.resolve(CmsSortMapper);\n\n return {\n getFilter({ id }) {\n return withModel(async model => {\n const entry = unwrap(\n await container.resolve(GetEntryByIdUseCase).execute(model, id)\n );\n\n if (!entry) {\n throw new WebinyError(\"Could not load filter.\", \"GET_FILTER_ERROR\", {\n id\n });\n }\n\n return pickEntryFieldValues(entry);\n });\n },\n listFilters(params) {\n return withModel(async model => {\n const { sort, where } = params;\n const createdBy = identityContext.getIdentity().id;\n\n const result = await container.resolve(ListLatestEntriesUseCase).execute(model, {\n ...params,\n sort: cmsSortMapper.map({\n input: createListSort(sort),\n fields: model.fields\n }),\n where: cmsWhereMapper.map({\n input: {\n ...where,\n createdBy\n },\n fields: model.fields\n })\n });\n const { entries, meta } = unwrap(result);\n\n return [entries.map(pickEntryFieldValues<Filter>), meta];\n });\n },\n createFilter({ data }) {\n return withModel(async model => {\n const result = await container.resolve(CreateEntryUseCase).execute(model, {\n id: data.id,\n values: data\n });\n const entry = unwrap(result);\n return pickEntryFieldValues(entry);\n });\n },\n updateFilter({ id, data }) {\n return withModel(async model => {\n const original = unwrap(\n await container.resolve(GetEntryByIdUseCase).execute(model, id)\n );\n\n const input = {\n /**\n * We are omitting the standard entry meta fields:\n * we don't want to override them with the ones coming from the `original` entry.\n */\n ...omit(original, ENTRY_META_FIELDS),\n values: {\n ...original.values,\n ...data\n }\n };\n\n const entry = unwrap(\n await container.resolve(UpdateEntryUseCase).execute(model, original.id, input)\n );\n return pickEntryFieldValues(entry);\n });\n },\n deleteFilter({ id }) {\n return withModel(async model => {\n unwrap(await container.resolve(DeleteEntryUseCase).execute(model, id));\n return true;\n });\n }\n };\n};\n"],"names":["unwrap","result","createFilterOperations","params","identityContext","container","withModel","createOperationsWrapper","FILTER_MODEL_ID","cmsWhereMapper","CmsWhereMapper","cmsSortMapper","CmsSortMapper","id","model","entry","GetEntryByIdUseCase","WebinyError","pickEntryFieldValues","sort","where","createdBy","ListLatestEntriesUseCase","createListSort","entries","meta","data","CreateEntryUseCase","original","input","omit","ENTRY_META_FIELDS","UpdateEntryUseCase","DeleteEntryUseCase"],"mappings":";;;;;;;;;;;;;AAuBA,MAAMA,SAAS,CAASC;IACpB,IAAIA,OAAO,MAAM,IACb,MAAMA,OAAO,KAAK;IAEtB,OAAOA,OAAO,KAAK;AACvB;AAEO,MAAMC,yBAAyB,CAClCC;IAEA,MAAM,EAAEC,eAAe,EAAEC,SAAS,EAAE,GAAGF;IAEvC,MAAM,EAAEG,SAAS,EAAE,GAAGC,wBAAwB;QAC1CH;QACAC;QACA,WAAWG;IACf;IAQA,MAAMC,iBAAiBJ,UAAU,OAAO,CAACK;IACzC,MAAMC,gBAAgBN,UAAU,OAAO,CAACO;IAExC,OAAO;QACH,WAAU,EAAEC,EAAE,EAAE;YACZ,OAAOP,UAAU,OAAMQ;gBACnB,MAAMC,QAAQf,OACV,MAAMK,UAAU,OAAO,CAACW,qBAAqB,OAAO,CAACF,OAAOD;gBAGhE,IAAI,CAACE,OACD,MAAM,IAAIE,MAAY,0BAA0B,oBAAoB;oBAChEJ;gBACJ;gBAGJ,OAAOK,qBAAqBH;YAChC;QACJ;QACA,aAAYZ,MAAM;YACd,OAAOG,UAAU,OAAMQ;gBACnB,MAAM,EAAEK,IAAI,EAAEC,KAAK,EAAE,GAAGjB;gBACxB,MAAMkB,YAAYjB,gBAAgB,WAAW,GAAG,EAAE;gBAElD,MAAMH,SAAS,MAAMI,UAAU,OAAO,CAACiB,0BAA0B,OAAO,CAACR,OAAO;oBAC5E,GAAGX,MAAM;oBACT,MAAMQ,cAAc,GAAG,CAAC;wBACpB,OAAOY,eAAeJ;wBACtB,QAAQL,MAAM,MAAM;oBACxB;oBACA,OAAOL,eAAe,GAAG,CAAC;wBACtB,OAAO;4BACH,GAAGW,KAAK;4BACRC;wBACJ;wBACA,QAAQP,MAAM,MAAM;oBACxB;gBACJ;gBACA,MAAM,EAAEU,OAAO,EAAEC,IAAI,EAAE,GAAGzB,OAAOC;gBAEjC,OAAO;oBAACuB,QAAQ,GAAG,CAACN;oBAA+BO;iBAAK;YAC5D;QACJ;QACA,cAAa,EAAEC,IAAI,EAAE;YACjB,OAAOpB,UAAU,OAAMQ;gBACnB,MAAMb,SAAS,MAAMI,UAAU,OAAO,CAACsB,oBAAoB,OAAO,CAACb,OAAO;oBACtE,IAAIY,KAAK,EAAE;oBACX,QAAQA;gBACZ;gBACA,MAAMX,QAAQf,OAAOC;gBACrB,OAAOiB,qBAAqBH;YAChC;QACJ;QACA,cAAa,EAAEF,EAAE,EAAEa,IAAI,EAAE;YACrB,OAAOpB,UAAU,OAAMQ;gBACnB,MAAMc,WAAW5B,OACb,MAAMK,UAAU,OAAO,CAACW,qBAAqB,OAAO,CAACF,OAAOD;gBAGhE,MAAMgB,QAAQ;oBAKV,GAAGC,KAAKF,UAAUG,kBAAkB;oBACpC,QAAQ;wBACJ,GAAGH,SAAS,MAAM;wBAClB,GAAGF,IAAI;oBACX;gBACJ;gBAEA,MAAMX,QAAQf,OACV,MAAMK,UAAU,OAAO,CAAC2B,oBAAoB,OAAO,CAAClB,OAAOc,SAAS,EAAE,EAAEC;gBAE5E,OAAOX,qBAAqBH;YAChC;QACJ;QACA,cAAa,EAAEF,EAAE,EAAE;YACf,OAAOP,UAAU,OAAMQ;gBACnBd,OAAO,MAAMK,UAAU,OAAO,CAAC4B,oBAAoB,OAAO,CAACnB,OAAOD;gBAClE,OAAO;YACX;QACJ;IACJ;AACJ"}
@@ -0,0 +1,67 @@
1
+ import type { AcoBaseFields, ListMeta, ListSort } from "../types.js";
2
+ export declare enum Operation {
3
+ AND = "AND",
4
+ OR = "OR"
5
+ }
6
+ export interface GroupFilter {
7
+ field: string;
8
+ condition: string;
9
+ value: string;
10
+ }
11
+ export interface Group {
12
+ operation: Operation;
13
+ filters: GroupFilter[];
14
+ }
15
+ export interface Filter extends AcoBaseFields {
16
+ name: string;
17
+ description?: string;
18
+ namespace: string;
19
+ operation: Operation;
20
+ groups: Group[];
21
+ }
22
+ export interface ListFiltersWhere {
23
+ namespace: string;
24
+ }
25
+ export interface ListFiltersParams {
26
+ where: ListFiltersWhere;
27
+ sort?: ListSort;
28
+ limit?: number;
29
+ after?: string | null;
30
+ }
31
+ export type CreateFilterParams = Pick<Filter, "id" | "name" | "description" | "namespace" | "operation" | "groups">;
32
+ export interface UpdateFilterParams {
33
+ name?: string;
34
+ description?: string;
35
+ namespace?: string;
36
+ operation?: Operation;
37
+ groups?: Group[];
38
+ }
39
+ export interface DeleteFilterParams {
40
+ id: string;
41
+ }
42
+ export interface StorageOperationsGetFilterParams {
43
+ id: string;
44
+ }
45
+ export type StorageOperationsListFiltersParams = ListFiltersParams;
46
+ export interface StorageOperationsCreateFilterParams {
47
+ data: CreateFilterParams;
48
+ }
49
+ export interface StorageOperationsUpdateFilterParams {
50
+ id: string;
51
+ data: UpdateFilterParams;
52
+ }
53
+ export type StorageOperationsDeleteFilterParams = DeleteFilterParams;
54
+ export interface AcoFilterCrud {
55
+ get(id: string): Promise<Filter>;
56
+ list(params: ListFiltersParams): Promise<[Filter[], ListMeta]>;
57
+ create(data: CreateFilterParams): Promise<Filter>;
58
+ update(id: string, data: UpdateFilterParams): Promise<Filter>;
59
+ delete(id: string): Promise<boolean>;
60
+ }
61
+ export interface AcoFilterStorageOperations {
62
+ getFilter(params: StorageOperationsGetFilterParams): Promise<Filter>;
63
+ listFilters(params: StorageOperationsListFiltersParams): Promise<[Filter[], ListMeta]>;
64
+ createFilter(params: StorageOperationsCreateFilterParams): Promise<Filter>;
65
+ updateFilter(params: StorageOperationsUpdateFilterParams): Promise<Filter>;
66
+ deleteFilter(params: StorageOperationsDeleteFilterParams): Promise<boolean>;
67
+ }
@@ -0,0 +1,8 @@
1
+ var filter_types_Operation = /*#__PURE__*/ function(Operation) {
2
+ Operation["AND"] = "AND";
3
+ Operation["OR"] = "OR";
4
+ return Operation;
5
+ }({});
6
+ export { filter_types_Operation as Operation };
7
+
8
+ //# sourceMappingURL=filter.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter/filter.types.js","sources":["../../src/filter/filter.types.ts"],"sourcesContent":["import type { AcoBaseFields, ListMeta, ListSort } from \"~/types.js\";\n\nexport enum Operation {\n AND = \"AND\",\n OR = \"OR\"\n}\n\nexport interface GroupFilter {\n field: string;\n condition: string;\n value: string;\n}\n\nexport interface Group {\n operation: Operation;\n filters: GroupFilter[];\n}\n\nexport interface Filter extends AcoBaseFields {\n name: string;\n description?: string;\n namespace: string;\n operation: Operation;\n groups: Group[];\n}\n\nexport interface ListFiltersWhere {\n namespace: string;\n}\n\nexport interface ListFiltersParams {\n where: ListFiltersWhere;\n sort?: ListSort;\n limit?: number;\n after?: string | null;\n}\n\nexport type CreateFilterParams = Pick<\n Filter,\n \"id\" | \"name\" | \"description\" | \"namespace\" | \"operation\" | \"groups\"\n>;\n\nexport interface UpdateFilterParams {\n name?: string;\n description?: string;\n namespace?: string;\n operation?: Operation;\n groups?: Group[];\n}\n\nexport interface DeleteFilterParams {\n id: string;\n}\n\nexport interface StorageOperationsGetFilterParams {\n id: string;\n}\n\nexport type StorageOperationsListFiltersParams = ListFiltersParams;\n\nexport interface StorageOperationsCreateFilterParams {\n data: CreateFilterParams;\n}\n\nexport interface StorageOperationsUpdateFilterParams {\n id: string;\n data: UpdateFilterParams;\n}\n\nexport type StorageOperationsDeleteFilterParams = DeleteFilterParams;\n\nexport interface AcoFilterCrud {\n get(id: string): Promise<Filter>;\n list(params: ListFiltersParams): Promise<[Filter[], ListMeta]>;\n create(data: CreateFilterParams): Promise<Filter>;\n update(id: string, data: UpdateFilterParams): Promise<Filter>;\n delete(id: string): Promise<boolean>;\n}\n\nexport interface AcoFilterStorageOperations {\n getFilter(params: StorageOperationsGetFilterParams): Promise<Filter>;\n listFilters(params: StorageOperationsListFiltersParams): Promise<[Filter[], ListMeta]>;\n createFilter(params: StorageOperationsCreateFilterParams): Promise<Filter>;\n updateFilter(params: StorageOperationsUpdateFilterParams): Promise<Filter>;\n deleteFilter(params: StorageOperationsDeleteFilterParams): Promise<boolean>;\n}\n"],"names":["Operation"],"mappings":"AAEO,IAAKA,yBAASA,WAAAA,GAAAA,SAATA,SAAS;;;WAATA"}
@@ -0,0 +1,7 @@
1
+ import { type AcoFolderLevelPermissionsCrud, type AcoStorageOperations } from "../types.js";
2
+ import type { Tenant } from "@webiny/api-core/types/tenancy.js";
3
+ export interface CreateFlpCrudMethodsParams {
4
+ getTenant: () => Tenant;
5
+ storageOperations: AcoStorageOperations;
6
+ }
7
+ export declare const createFlpCrudMethods: ({ storageOperations, getTenant }: CreateFlpCrudMethodsParams) => AcoFolderLevelPermissionsCrud;
@@ -0,0 +1,74 @@
1
+ import { WebinyError } from "@webiny/error";
2
+ import { EntryId } from "@webiny/api-headless-cms/exports/api/cms/entry.js";
3
+ const createFlpCrudMethods = ({ storageOperations, getTenant })=>({
4
+ async create (params) {
5
+ return await storageOperations.flp.create({
6
+ data: {
7
+ ...params,
8
+ tenant: getTenant().id
9
+ }
10
+ });
11
+ },
12
+ async update (id, data) {
13
+ const original = await this.get(id);
14
+ if (!original) throw new WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_UPDATE_FLP_ERROR", {
15
+ id,
16
+ data
17
+ });
18
+ return await storageOperations.flp.update({
19
+ original,
20
+ data: {
21
+ ...data,
22
+ tenant: getTenant().id
23
+ }
24
+ });
25
+ },
26
+ async batchUpdate (items) {
27
+ const batchItems = (await Promise.all(items.map(async ({ id, data })=>{
28
+ const original = await this.get(id);
29
+ if (!original) return null;
30
+ return {
31
+ original,
32
+ data: {
33
+ ...data,
34
+ tenant: getTenant().id
35
+ }
36
+ };
37
+ }))).filter((item)=>null !== item);
38
+ if (0 === batchItems.length) return [];
39
+ return await storageOperations.flp.batchUpdate({
40
+ items: batchItems
41
+ });
42
+ },
43
+ async delete (id) {
44
+ const flp = await this.get(id);
45
+ if (!flp) throw new WebinyError(`Folder level permission with id "${id}" not found.`, "GET_ITEM_DELETE_FLP_ERROR", {
46
+ id
47
+ });
48
+ await storageOperations.flp.delete({
49
+ flp: {
50
+ ...flp,
51
+ tenant: getTenant().id
52
+ }
53
+ });
54
+ return true;
55
+ },
56
+ async get (id) {
57
+ const entryId = EntryId.from(id);
58
+ return await storageOperations.flp.get({
59
+ id: entryId.id,
60
+ tenant: getTenant().id
61
+ });
62
+ },
63
+ async list ({ where }) {
64
+ return await storageOperations.flp.list({
65
+ where: {
66
+ ...where,
67
+ tenant: getTenant().id
68
+ }
69
+ });
70
+ }
71
+ });
72
+ export { createFlpCrudMethods };
73
+
74
+ //# sourceMappingURL=flp.crud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flp/flp.crud.js","sources":["../../src/flp/flp.crud.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n type AcoFolderLevelPermissionsCrud,\n type AcoStorageOperations,\n type CreateFlpParams,\n type UpdateFlpParams\n} from \"~/types.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { EntryId } from \"@webiny/api-headless-cms/exports/api/cms/entry.js\";\n\nexport interface CreateFlpCrudMethodsParams {\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport const createFlpCrudMethods = ({\n storageOperations,\n getTenant\n}: CreateFlpCrudMethodsParams): AcoFolderLevelPermissionsCrud => {\n return {\n async create(params: CreateFlpParams) {\n return await storageOperations.flp.create({\n data: { ...params, tenant: getTenant().id }\n });\n },\n async update(id: string, data: UpdateFlpParams) {\n const original = await this.get(id);\n if (!original) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_UPDATE_FLP_ERROR\",\n {\n id,\n data\n }\n );\n }\n\n return await storageOperations.flp.update({\n original,\n data: {\n ...data,\n tenant: getTenant().id\n }\n });\n },\n async batchUpdate(items: Array<{ id: string; data: UpdateFlpParams }>) {\n const batchItems = (\n await Promise.all(\n items.map(async ({ id, data }) => {\n const original = await this.get(id);\n if (!original) {\n return null;\n }\n return {\n original,\n data: {\n ...data,\n tenant: getTenant().id\n }\n };\n })\n )\n ).filter((item): item is NonNullable<typeof item> => item !== null);\n\n if (batchItems.length === 0) {\n return [];\n }\n\n return await storageOperations.flp.batchUpdate({\n items: batchItems\n });\n },\n async delete(id: string) {\n const flp = await this.get(id);\n if (!flp) {\n throw new WebinyError(\n `Folder level permission with id \"${id}\" not found.`,\n \"GET_ITEM_DELETE_FLP_ERROR\",\n {\n id\n }\n );\n }\n\n await storageOperations.flp.delete({\n flp: {\n ...flp,\n tenant: getTenant().id\n }\n });\n\n return true;\n },\n async get(id: string) {\n const entryId = EntryId.from(id);\n return await storageOperations.flp.get({\n id: entryId.id,\n tenant: getTenant().id\n });\n },\n async list({ where }) {\n return await storageOperations.flp.list({\n where: {\n ...where,\n tenant: getTenant().id\n }\n });\n }\n };\n};\n"],"names":["createFlpCrudMethods","storageOperations","getTenant","params","id","data","original","WebinyError","items","batchItems","Promise","item","flp","entryId","EntryId","where"],"mappings":";;AAeO,MAAMA,uBAAuB,CAAC,EACjCC,iBAAiB,EACjBC,SAAS,EACgB,GAClB;QACH,MAAM,QAAOC,MAAuB;YAChC,OAAO,MAAMF,kBAAkB,GAAG,CAAC,MAAM,CAAC;gBACtC,MAAM;oBAAE,GAAGE,MAAM;oBAAE,QAAQD,YAAY,EAAE;gBAAC;YAC9C;QACJ;QACA,MAAM,QAAOE,EAAU,EAAEC,IAAqB;YAC1C,MAAMC,WAAW,MAAM,IAAI,CAAC,GAAG,CAACF;YAChC,IAAI,CAACE,UACD,MAAM,IAAIC,YACN,CAAC,iCAAiC,EAAEH,GAAG,YAAY,CAAC,EACpD,6BACA;gBACIA;gBACAC;YACJ;YAIR,OAAO,MAAMJ,kBAAkB,GAAG,CAAC,MAAM,CAAC;gBACtCK;gBACA,MAAM;oBACF,GAAGD,IAAI;oBACP,QAAQH,YAAY,EAAE;gBAC1B;YACJ;QACJ;QACA,MAAM,aAAYM,KAAmD;YACjE,MAAMC,aACF,OAAMC,QAAQ,GAAG,CACbF,MAAM,GAAG,CAAC,OAAO,EAAEJ,EAAE,EAAEC,IAAI,EAAE;gBACzB,MAAMC,WAAW,MAAM,IAAI,CAAC,GAAG,CAACF;gBAChC,IAAI,CAACE,UACD,OAAO;gBAEX,OAAO;oBACHA;oBACA,MAAM;wBACF,GAAGD,IAAI;wBACP,QAAQH,YAAY,EAAE;oBAC1B;gBACJ;YACJ,GAAE,EAER,MAAM,CAAC,CAACS,OAA2CA,AAAS,SAATA;YAErD,IAAIF,AAAsB,MAAtBA,WAAW,MAAM,EACjB,OAAO,EAAE;YAGb,OAAO,MAAMR,kBAAkB,GAAG,CAAC,WAAW,CAAC;gBAC3C,OAAOQ;YACX;QACJ;QACA,MAAM,QAAOL,EAAU;YACnB,MAAMQ,MAAM,MAAM,IAAI,CAAC,GAAG,CAACR;YAC3B,IAAI,CAACQ,KACD,MAAM,IAAIL,YACN,CAAC,iCAAiC,EAAEH,GAAG,YAAY,CAAC,EACpD,6BACA;gBACIA;YACJ;YAIR,MAAMH,kBAAkB,GAAG,CAAC,MAAM,CAAC;gBAC/B,KAAK;oBACD,GAAGW,GAAG;oBACN,QAAQV,YAAY,EAAE;gBAC1B;YACJ;YAEA,OAAO;QACX;QACA,MAAM,KAAIE,EAAU;YAChB,MAAMS,UAAUC,QAAQ,IAAI,CAACV;YAC7B,OAAO,MAAMH,kBAAkB,GAAG,CAAC,GAAG,CAAC;gBACnC,IAAIY,QAAQ,EAAE;gBACd,QAAQX,YAAY,EAAE;YAC1B;QACJ;QACA,MAAM,MAAK,EAAEa,KAAK,EAAE;YAChB,OAAO,MAAMd,kBAAkB,GAAG,CAAC,IAAI,CAAC;gBACpC,OAAO;oBACH,GAAGc,KAAK;oBACR,QAAQb,YAAY,EAAE;gBAC1B;YACJ;QACJ;IACJ"}
@@ -0,0 +1,98 @@
1
+ import { type Folder } from "../types.js";
2
+ import type { FolderLevelPermission, FolderPermission } from "@webiny/shared-aco/flp/flp.types.js";
3
+ export type * from "@webiny/shared-aco/flp/flp.types.js";
4
+ /********
5
+ * CRUD operations
6
+ *******/
7
+ export interface ListFlpsParams {
8
+ where: {
9
+ path_startsWith?: string;
10
+ parentId?: string;
11
+ type: string;
12
+ };
13
+ }
14
+ export type CreateFlpParams = Pick<FolderLevelPermission, "id" | "type" | "permissions" | "path" | "parentId" | "slug">;
15
+ export interface UpdateFlpParams {
16
+ parentId?: string;
17
+ slug?: string;
18
+ path?: string;
19
+ permissions?: FolderPermission[];
20
+ type?: string;
21
+ }
22
+ export interface AcoFolderLevelPermissionsCrud {
23
+ list(params: ListFlpsParams): Promise<FolderLevelPermission[]>;
24
+ get(id: string): Promise<FolderLevelPermission | null>;
25
+ create(params: CreateFlpParams): Promise<FolderLevelPermission>;
26
+ update(id: string, data: UpdateFlpParams): Promise<FolderLevelPermission>;
27
+ delete(id: string): Promise<boolean>;
28
+ batchUpdate(items: Array<{
29
+ id: string;
30
+ data: UpdateFlpParams;
31
+ }>): Promise<FolderLevelPermission[]>;
32
+ }
33
+ /********
34
+ * Storage operations
35
+ *******/
36
+ export interface StorageOperationsListFlpsParams {
37
+ where: ListFlpsParams["where"] & {
38
+ tenant: string;
39
+ };
40
+ }
41
+ export interface StorageOperationsGetFlpParams {
42
+ id: string;
43
+ tenant: string;
44
+ }
45
+ export type StorageOperationsCreateFlpParams = {
46
+ data: FolderLevelPermission & {
47
+ tenant: string;
48
+ };
49
+ };
50
+ export type StorageOperationsUpdateFlpParams = {
51
+ original: FolderLevelPermission;
52
+ data: UpdateFlpParams & {
53
+ tenant: string;
54
+ };
55
+ };
56
+ export type StorageOperationsDeleteFlpParams = {
57
+ flp: FolderLevelPermission & {
58
+ tenant: string;
59
+ };
60
+ };
61
+ export interface StorageOperationsBatchUpdateFlpParams {
62
+ items: Array<{
63
+ original: FolderLevelPermission;
64
+ data: UpdateFlpParams & {
65
+ tenant: string;
66
+ };
67
+ }>;
68
+ }
69
+ export interface AcoFolderLevelPermissionsStorageOperations {
70
+ list(params: StorageOperationsListFlpsParams): Promise<FolderLevelPermission[]>;
71
+ get(params: StorageOperationsGetFlpParams): Promise<FolderLevelPermission | null>;
72
+ create(params: StorageOperationsCreateFlpParams): Promise<FolderLevelPermission>;
73
+ update(params: StorageOperationsUpdateFlpParams): Promise<FolderLevelPermission>;
74
+ delete(params: StorageOperationsDeleteFlpParams): Promise<void>;
75
+ batchUpdate(params: StorageOperationsBatchUpdateFlpParams): Promise<FolderLevelPermission[]>;
76
+ }
77
+ /********
78
+ * Background Tasks
79
+ *******/
80
+ export interface ICreateFlpTaskInput {
81
+ folder: Folder;
82
+ /** Who created the folder. Their open admin tabs are told once the FLP record exists. */
83
+ notifyIdentityId?: string;
84
+ }
85
+ export interface IUpdateFlpTaskInput {
86
+ folder: Folder;
87
+ /** Folders whose whole subtree an earlier run of this task already wrote. */
88
+ completed?: string[];
89
+ /** Who changed the folder. Their open admin tabs are told once the whole subtree is written. */
90
+ notifyIdentityId?: string;
91
+ }
92
+ export interface IDeleteFlpTaskInput {
93
+ folder: Folder;
94
+ }
95
+ export interface ISyncFlpTaskInput {
96
+ type?: string;
97
+ folderId?: string;
98
+ }
File without changes