@webiny/api-aco 0.0.0-unstable.085ff6572f → 0.0.0-unstable.0d717d18dd

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 (572) hide show
  1. package/AcoFeature.d.ts +5 -0
  2. package/AcoFeature.js +122 -0
  3. package/AcoFeature.js.map +1 -0
  4. package/AcoInitializer.d.ts +25 -0
  5. package/AcoInitializer.js +79 -0
  6. package/AcoInitializer.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 +7 -3
  12. package/createAcoGraphQL.js +59 -110
  13. package/createAcoGraphQL.js.map +1 -1
  14. package/domain/folder/abstractions.d.ts +9 -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 +58 -0
  22. package/domain/folder/folder.model.js.map +1 -0
  23. package/exports/api/aco/flp.d.ts +6 -0
  24. package/exports/api/aco/flp.js +6 -0
  25. package/exports/api/aco/folder.d.ts +11 -0
  26. package/exports/api/aco/folder.js +10 -0
  27. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.d.ts +13 -0
  28. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +39 -0
  29. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -0
  30. package/features/cms/decorators/CreateEntryWithFlpDecorator.d.ts +12 -0
  31. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +33 -0
  32. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -0
  33. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.d.ts +13 -0
  34. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +39 -0
  35. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -0
  36. package/features/cms/decorators/DeleteEntryWithFlpDecorator.d.ts +13 -0
  37. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +41 -0
  38. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -0
  39. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.d.ts +12 -0
  40. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +36 -0
  41. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -0
  42. package/features/cms/decorators/GetEntryWithFlpDecorator.d.ts +12 -0
  43. package/features/cms/decorators/GetEntryWithFlpDecorator.js +36 -0
  44. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -0
  45. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.d.ts +13 -0
  46. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +41 -0
  47. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -0
  48. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.d.ts +13 -0
  49. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +41 -0
  50. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -0
  51. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.d.ts +11 -0
  52. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +36 -0
  53. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -0
  54. package/features/cms/decorators/ListEntriesWithFlpDecorator.d.ts +11 -0
  55. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +36 -0
  56. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -0
  57. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.d.ts +11 -0
  58. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +36 -0
  59. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -0
  60. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.d.ts +11 -0
  61. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +36 -0
  62. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -0
  63. package/features/cms/decorators/MoveEntryWithFlpDecorator.d.ts +15 -0
  64. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +49 -0
  65. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -0
  66. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +14 -0
  67. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +39 -0
  68. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -0
  69. package/features/cms/feature.d.ts +4 -0
  70. package/features/cms/feature.js +37 -0
  71. package/features/cms/feature.js.map +1 -0
  72. package/features/cms/index.d.ts +1 -0
  73. package/features/cms/index.js +1 -0
  74. package/features/flp/CreateFlp/CreateFlpUseCase.d.ts +8 -0
  75. package/features/flp/CreateFlp/CreateFlpUseCase.js +34 -0
  76. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -0
  77. package/features/flp/CreateFlp/abstractions.d.ts +9 -0
  78. package/features/flp/CreateFlp/abstractions.js +5 -0
  79. package/features/flp/CreateFlp/abstractions.js.map +1 -0
  80. package/features/flp/CreateFlp/feature.d.ts +5 -0
  81. package/features/flp/CreateFlp/feature.js +13 -0
  82. package/features/flp/CreateFlp/feature.js.map +1 -0
  83. package/features/flp/CreateFlp/index.d.ts +2 -0
  84. package/features/flp/CreateFlp/index.js +2 -0
  85. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +14 -0
  86. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +37 -0
  87. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -0
  88. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -0
  89. package/features/flp/CreateFlpOnFolderCreated/feature.js +11 -0
  90. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -0
  91. package/features/flp/CreateFlpOnFolderCreated/index.d.ts +1 -0
  92. package/features/flp/CreateFlpOnFolderCreated/index.js +1 -0
  93. package/features/flp/DeleteFlp/DeleteFlpUseCase.d.ts +8 -0
  94. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +22 -0
  95. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -0
  96. package/features/flp/DeleteFlp/abstractions.d.ts +9 -0
  97. package/features/flp/DeleteFlp/abstractions.js +5 -0
  98. package/features/flp/DeleteFlp/abstractions.js.map +1 -0
  99. package/features/flp/DeleteFlp/feature.d.ts +5 -0
  100. package/features/flp/DeleteFlp/feature.js +13 -0
  101. package/features/flp/DeleteFlp/feature.js.map +1 -0
  102. package/features/flp/DeleteFlp/index.d.ts +2 -0
  103. package/features/flp/DeleteFlp/index.js +2 -0
  104. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +14 -0
  105. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +37 -0
  106. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -0
  107. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -0
  108. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +11 -0
  109. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -0
  110. package/features/flp/DeleteFlpOnFolderDeleted/index.d.ts +1 -0
  111. package/features/flp/DeleteFlpOnFolderDeleted/index.js +1 -0
  112. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +35 -0
  113. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +112 -0
  114. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -0
  115. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.d.ts +25 -0
  116. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js +48 -0
  117. package/features/flp/FolderLevelPermissions/NoopFolderLevelPermissions.js.map +1 -0
  118. package/features/flp/FolderLevelPermissions/abstractions.d.ts +26 -0
  119. package/features/flp/FolderLevelPermissions/abstractions.js +5 -0
  120. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -0
  121. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -0
  122. package/features/flp/FolderLevelPermissions/feature.js +11 -0
  123. package/features/flp/FolderLevelPermissions/feature.js.map +1 -0
  124. package/features/flp/FolderLevelPermissions/index.d.ts +3 -0
  125. package/features/flp/FolderLevelPermissions/index.js +3 -0
  126. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  127. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +19 -0
  128. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  129. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  130. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -0
  131. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  132. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +1 -0
  133. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  134. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +17 -0
  135. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  136. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  137. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -0
  138. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  139. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +1 -0
  140. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  141. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +8 -0
  142. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  143. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  144. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -0
  145. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  146. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +1 -0
  147. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  148. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +8 -0
  149. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  150. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  151. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -0
  152. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  153. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +1 -0
  154. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +5 -0
  155. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +47 -0
  156. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  157. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +8 -0
  158. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +14 -0
  159. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  160. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +11 -0
  161. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +27 -0
  162. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  163. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  164. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -0
  165. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  166. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +2 -0
  167. package/features/flp/FolderLevelPermissions/useCases/index.d.ts +5 -0
  168. package/features/flp/FolderLevelPermissions/useCases/index.js +5 -0
  169. package/features/flp/GetFlp/GetFlpUseCase.d.ts +7 -0
  170. package/features/flp/GetFlp/GetFlpUseCase.js +11 -0
  171. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -0
  172. package/features/flp/GetFlp/abstractions.d.ts +9 -0
  173. package/features/flp/GetFlp/abstractions.js +5 -0
  174. package/features/flp/GetFlp/abstractions.js.map +1 -0
  175. package/features/flp/GetFlp/feature.d.ts +4 -0
  176. package/features/flp/GetFlp/feature.js +13 -0
  177. package/features/flp/GetFlp/feature.js.map +1 -0
  178. package/features/flp/GetFlp/index.d.ts +1 -0
  179. package/features/flp/GetFlp/index.js +1 -0
  180. package/features/flp/ListFlps/ListFlpsUseCase.d.ts +7 -0
  181. package/features/flp/ListFlps/ListFlpsUseCase.js +11 -0
  182. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -0
  183. package/features/flp/ListFlps/abstractions.d.ts +17 -0
  184. package/features/flp/ListFlps/abstractions.js +5 -0
  185. package/features/flp/ListFlps/abstractions.js.map +1 -0
  186. package/features/flp/ListFlps/feature.d.ts +4 -0
  187. package/features/flp/ListFlps/feature.js +13 -0
  188. package/features/flp/ListFlps/feature.js.map +1 -0
  189. package/features/flp/ListFlps/index.d.ts +1 -0
  190. package/features/flp/ListFlps/index.js +1 -0
  191. package/features/flp/UpdateFlp/UpdateFlpUseCase.d.ts +27 -0
  192. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +153 -0
  193. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -0
  194. package/features/flp/UpdateFlp/abstractions.d.ts +15 -0
  195. package/features/flp/UpdateFlp/abstractions.js +5 -0
  196. package/features/flp/UpdateFlp/abstractions.js.map +1 -0
  197. package/features/flp/UpdateFlp/feature.d.ts +5 -0
  198. package/features/flp/UpdateFlp/feature.js +17 -0
  199. package/features/flp/UpdateFlp/feature.js.map +1 -0
  200. package/features/flp/UpdateFlp/index.d.ts +2 -0
  201. package/features/flp/UpdateFlp/index.js +2 -0
  202. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +14 -0
  203. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +39 -0
  204. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -0
  205. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -0
  206. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +11 -0
  207. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -0
  208. package/features/flp/UpdateFlpOnFolderUpdated/index.d.ts +1 -0
  209. package/features/flp/UpdateFlpOnFolderUpdated/index.js +1 -0
  210. package/features/folder/CreateFolder/CreateFolderRepository.d.ts +21 -0
  211. package/features/folder/CreateFolder/CreateFolderRepository.js +85 -0
  212. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -0
  213. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +12 -0
  214. package/features/folder/CreateFolder/CreateFolderUseCase.js +36 -0
  215. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -0
  216. package/features/folder/CreateFolder/abstractions.d.ts +59 -0
  217. package/features/folder/CreateFolder/abstractions.js +8 -0
  218. package/features/folder/CreateFolder/abstractions.js.map +1 -0
  219. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.d.ts +11 -0
  220. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +39 -0
  221. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  222. package/features/folder/CreateFolder/events.d.ts +10 -0
  223. package/features/folder/CreateFolder/events.js +21 -0
  224. package/features/folder/CreateFolder/events.js.map +1 -0
  225. package/features/folder/CreateFolder/feature.d.ts +5 -0
  226. package/features/folder/CreateFolder/feature.js +15 -0
  227. package/features/folder/CreateFolder/feature.js.map +1 -0
  228. package/features/folder/CreateFolder/index.d.ts +2 -0
  229. package/features/folder/CreateFolder/index.js +2 -0
  230. package/features/folder/DeleteFolder/DeleteFolderRepository.d.ts +15 -0
  231. package/features/folder/DeleteFolder/DeleteFolderRepository.js +32 -0
  232. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -0
  233. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +13 -0
  234. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +47 -0
  235. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -0
  236. package/features/folder/DeleteFolder/abstractions.d.ts +59 -0
  237. package/features/folder/DeleteFolder/abstractions.js +8 -0
  238. package/features/folder/DeleteFolder/abstractions.js.map +1 -0
  239. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.d.ts +11 -0
  240. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +29 -0
  241. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  242. package/features/folder/DeleteFolder/events.d.ts +10 -0
  243. package/features/folder/DeleteFolder/events.js +21 -0
  244. package/features/folder/DeleteFolder/events.js.map +1 -0
  245. package/features/folder/DeleteFolder/feature.d.ts +5 -0
  246. package/features/folder/DeleteFolder/feature.js +15 -0
  247. package/features/folder/DeleteFolder/feature.js.map +1 -0
  248. package/features/folder/DeleteFolder/index.d.ts +2 -0
  249. package/features/folder/DeleteFolder/index.js +2 -0
  250. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.d.ts +15 -0
  251. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +59 -0
  252. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -0
  253. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +21 -0
  254. package/features/folder/EnsureFolderIsEmpty/abstractions.js +5 -0
  255. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -0
  256. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -0
  257. package/features/folder/EnsureFolderIsEmpty/feature.js +11 -0
  258. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -0
  259. package/features/folder/EnsureFolderIsEmpty/index.d.ts +1 -0
  260. package/features/folder/EnsureFolderIsEmpty/index.js +1 -0
  261. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +12 -0
  262. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +25 -0
  263. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -0
  264. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +10 -0
  265. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +11 -0
  266. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -0
  267. package/features/folder/EnsureFolderIsEmptyOnDelete/index.d.ts +1 -0
  268. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +1 -0
  269. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +16 -0
  270. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +52 -0
  271. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -0
  272. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -0
  273. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +11 -0
  274. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -0
  275. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.d.ts +1 -0
  276. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +1 -0
  277. package/features/folder/GetAncestors/GetAncestorsRepository.d.ts +15 -0
  278. package/features/folder/GetAncestors/GetAncestorsRepository.js +58 -0
  279. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -0
  280. package/features/folder/GetAncestors/GetAncestorsUseCase.d.ts +10 -0
  281. package/features/folder/GetAncestors/GetAncestorsUseCase.js +20 -0
  282. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -0
  283. package/features/folder/GetAncestors/abstractions.d.ts +40 -0
  284. package/features/folder/GetAncestors/abstractions.js +6 -0
  285. package/features/folder/GetAncestors/abstractions.js.map +1 -0
  286. package/features/folder/GetAncestors/feature.d.ts +5 -0
  287. package/features/folder/GetAncestors/feature.js +13 -0
  288. package/features/folder/GetAncestors/feature.js.map +1 -0
  289. package/features/folder/GetAncestors/index.d.ts +2 -0
  290. package/features/folder/GetAncestors/index.js +2 -0
  291. package/features/folder/GetFolder/GetFolderRepository.d.ts +15 -0
  292. package/features/folder/GetFolder/GetFolderRepository.js +33 -0
  293. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -0
  294. package/features/folder/GetFolder/GetFolderUseCase.d.ts +10 -0
  295. package/features/folder/GetFolder/GetFolderUseCase.js +20 -0
  296. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -0
  297. package/features/folder/GetFolder/abstractions.d.ts +57 -0
  298. package/features/folder/GetFolder/abstractions.js +8 -0
  299. package/features/folder/GetFolder/abstractions.js.map +1 -0
  300. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.d.ts +29 -0
  301. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +34 -0
  302. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -0
  303. package/features/folder/GetFolder/feature.d.ts +5 -0
  304. package/features/folder/GetFolder/feature.js +15 -0
  305. package/features/folder/GetFolder/feature.js.map +1 -0
  306. package/features/folder/GetFolder/index.d.ts +2 -0
  307. package/features/folder/GetFolder/index.js +2 -0
  308. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.d.ts +18 -0
  309. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +84 -0
  310. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -0
  311. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.d.ts +10 -0
  312. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +20 -0
  313. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -0
  314. package/features/folder/GetFolderHierarchy/abstractions.d.ts +38 -0
  315. package/features/folder/GetFolderHierarchy/abstractions.js +6 -0
  316. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -0
  317. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.d.ts +16 -0
  318. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +63 -0
  319. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  320. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -0
  321. package/features/folder/GetFolderHierarchy/feature.js +15 -0
  322. package/features/folder/GetFolderHierarchy/feature.js.map +1 -0
  323. package/features/folder/GetFolderHierarchy/index.d.ts +2 -0
  324. package/features/folder/GetFolderHierarchy/index.js +2 -0
  325. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +13 -0
  326. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +75 -0
  327. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -0
  328. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +11 -0
  329. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +5 -0
  330. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -0
  331. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -0
  332. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +11 -0
  333. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -0
  334. package/features/folder/ListFolderLevelPermissionsTargets/index.d.ts +1 -0
  335. package/features/folder/ListFolderLevelPermissionsTargets/index.js +1 -0
  336. package/features/folder/ListFolders/ListFoldersRepository.d.ts +17 -0
  337. package/features/folder/ListFolders/ListFoldersRepository.js +52 -0
  338. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -0
  339. package/features/folder/ListFolders/ListFoldersUseCase.d.ts +9 -0
  340. package/features/folder/ListFolders/ListFoldersUseCase.js +20 -0
  341. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -0
  342. package/features/folder/ListFolders/abstractions.d.ts +44 -0
  343. package/features/folder/ListFolders/abstractions.js +6 -0
  344. package/features/folder/ListFolders/abstractions.js.map +1 -0
  345. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.d.ts +17 -0
  346. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +65 -0
  347. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  348. package/features/folder/ListFolders/feature.d.ts +5 -0
  349. package/features/folder/ListFolders/feature.js +15 -0
  350. package/features/folder/ListFolders/feature.js.map +1 -0
  351. package/features/folder/ListFolders/index.d.ts +2 -0
  352. package/features/folder/ListFolders/index.js +2 -0
  353. package/features/folder/UpdateFolder/UpdateFolderRepository.d.ts +21 -0
  354. package/features/folder/UpdateFolder/UpdateFolderRepository.js +84 -0
  355. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -0
  356. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +14 -0
  357. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +48 -0
  358. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -0
  359. package/features/folder/UpdateFolder/abstractions.d.ts +64 -0
  360. package/features/folder/UpdateFolder/abstractions.js +8 -0
  361. package/features/folder/UpdateFolder/abstractions.js.map +1 -0
  362. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.d.ts +13 -0
  363. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +58 -0
  364. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  365. package/features/folder/UpdateFolder/events.d.ts +10 -0
  366. package/features/folder/UpdateFolder/events.js +21 -0
  367. package/features/folder/UpdateFolder/events.js.map +1 -0
  368. package/features/folder/UpdateFolder/feature.d.ts +5 -0
  369. package/features/folder/UpdateFolder/feature.js +15 -0
  370. package/features/folder/UpdateFolder/feature.js.map +1 -0
  371. package/features/folder/UpdateFolder/index.d.ts +2 -0
  372. package/features/folder/UpdateFolder/index.js +2 -0
  373. package/features/folder/shared/EntryToFolderMapper.d.ts +5 -0
  374. package/features/folder/shared/EntryToFolderMapper.js +23 -0
  375. package/features/folder/shared/EntryToFolderMapper.js.map +1 -0
  376. package/features/folder/shared/abstractions.d.ts +20 -0
  377. package/features/folder/shared/abstractions.js +8 -0
  378. package/features/folder/shared/abstractions.js.map +1 -0
  379. package/filter/filter.crud.d.ts +3 -0
  380. package/filter/filter.crud.js +30 -0
  381. package/filter/filter.crud.js.map +1 -0
  382. package/filter/filter.gql.d.ts +2 -0
  383. package/filter/filter.gql.js +164 -0
  384. package/filter/filter.gql.js.map +1 -0
  385. package/filter/filter.model.d.ts +9 -0
  386. package/filter/filter.model.js +50 -0
  387. package/filter/filter.model.js.map +1 -0
  388. package/filter/filter.so.d.ts +11 -0
  389. package/filter/filter.so.js +84 -0
  390. package/filter/filter.so.js.map +1 -0
  391. package/filter/filter.types.d.ts +67 -0
  392. package/filter/filter.types.js +8 -0
  393. package/filter/filter.types.js.map +1 -0
  394. package/flp/flp.crud.d.ts +7 -0
  395. package/flp/flp.crud.js +74 -0
  396. package/flp/flp.crud.js.map +1 -0
  397. package/flp/flp.types.d.ts +93 -0
  398. package/flp/flp.types.js +0 -0
  399. package/flp/index.d.ts +2 -0
  400. package/flp/index.js +2 -0
  401. package/flp/tasks/createFlp.task.d.ts +18 -0
  402. package/flp/tasks/createFlp.task.js +36 -0
  403. package/flp/tasks/createFlp.task.js.map +1 -0
  404. package/flp/tasks/deleteFlp.task.d.ts +18 -0
  405. package/flp/tasks/deleteFlp.task.js +36 -0
  406. package/flp/tasks/deleteFlp.task.js.map +1 -0
  407. package/flp/tasks/index.d.ts +4 -0
  408. package/flp/tasks/index.js +7 -0
  409. package/flp/tasks/index.js.map +1 -0
  410. package/flp/tasks/syncFlp.task.d.ts +22 -0
  411. package/flp/tasks/syncFlp.task.js +112 -0
  412. package/flp/tasks/syncFlp.task.js.map +1 -0
  413. package/flp/tasks/updateFlp.task.d.ts +18 -0
  414. package/flp/tasks/updateFlp.task.js +43 -0
  415. package/flp/tasks/updateFlp.task.js.map +1 -0
  416. package/folder/createFolderModelModifier.d.ts +36 -0
  417. package/folder/createFolderModelModifier.js +61 -0
  418. package/folder/createFolderModelModifier.js.map +1 -0
  419. package/folder/createFolderTypeDefs.d.ts +8 -0
  420. package/folder/createFolderTypeDefs.js +175 -0
  421. package/folder/createFolderTypeDefs.js.map +1 -0
  422. package/folder/folder.gql.d.ts +4 -3
  423. package/folder/folder.gql.js +123 -116
  424. package/folder/folder.gql.js.map +1 -1
  425. package/folder/folder.types.d.ts +51 -64
  426. package/folder/folder.types.js +0 -5
  427. package/index.d.ts +3 -5
  428. package/index.js +3 -56
  429. package/package.json +34 -40
  430. package/types.d.ts +27 -64
  431. package/types.js +8 -38
  432. package/types.js.map +1 -1
  433. package/utils/FoldersCacheFactory.d.ts +10 -0
  434. package/utils/FoldersCacheFactory.js +25 -0
  435. package/utils/FoldersCacheFactory.js.map +1 -0
  436. package/utils/ListCache.d.ts +23 -0
  437. package/utils/ListCache.js +24 -0
  438. package/utils/ListCache.js.map +1 -0
  439. package/utils/Path.d.ts +3 -0
  440. package/utils/Path.js +10 -0
  441. package/utils/Path.js.map +1 -0
  442. package/utils/compress.d.ts +4 -0
  443. package/utils/compress.js +13 -0
  444. package/utils/compress.js.map +1 -0
  445. package/utils/createListSort.d.ts +3 -2
  446. package/utils/createListSort.js +6 -12
  447. package/utils/createListSort.js.map +1 -1
  448. package/utils/createOperationsWrapper.d.ts +6 -3
  449. package/utils/createOperationsWrapper.js +14 -28
  450. package/utils/createOperationsWrapper.js.map +1 -1
  451. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  452. package/utils/decorators/CmsEntriesCrudDecorators.js +179 -0
  453. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  454. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  455. package/utils/decorators/FilterEntriesByFolderFactory.js +22 -0
  456. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  457. package/utils/decorators/ListEntriesFactory.d.ts +17 -0
  458. package/utils/decorators/ListEntriesFactory.js +73 -0
  459. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  460. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  461. package/utils/decorators/hasRootFolderId.js +13 -0
  462. package/utils/decorators/hasRootFolderId.js.map +1 -0
  463. package/utils/decorators/isPageModel.d.ts +5 -0
  464. package/utils/decorators/isPageModel.js +8 -0
  465. package/utils/decorators/isPageModel.js.map +1 -0
  466. package/utils/ensureAuthentication.d.ts +2 -0
  467. package/utils/ensureAuthentication.js +11 -0
  468. package/utils/ensureAuthentication.js.map +1 -0
  469. package/utils/pickEntryFieldValues.d.ts +3 -0
  470. package/utils/pickEntryFieldValues.js +29 -0
  471. package/utils/pickEntryFieldValues.js.map +1 -0
  472. package/utils/resolve.d.ts +1 -2
  473. package/utils/resolve.js +10 -23
  474. package/utils/resolve.js.map +1 -1
  475. package/apps/AcoApp.d.ts +0 -16
  476. package/apps/AcoApp.js +0 -108
  477. package/apps/AcoApp.js.map +0 -1
  478. package/apps/AcoApps.d.ts +0 -10
  479. package/apps/AcoApps.js +0 -76
  480. package/apps/AcoApps.js.map +0 -1
  481. package/apps/app.gql.d.ts +0 -3
  482. package/apps/app.gql.js +0 -58
  483. package/apps/app.gql.js.map +0 -1
  484. package/apps/index.d.ts +0 -2
  485. package/apps/index.js +0 -27
  486. package/apps/index.js.map +0 -1
  487. package/createAcoContext.d.ts +0 -3
  488. package/createAcoContext.js +0 -100
  489. package/createAcoContext.js.map +0 -1
  490. package/createAcoHooks.d.ts +0 -2
  491. package/createAcoHooks.js +0 -11
  492. package/createAcoHooks.js.map +0 -1
  493. package/createAcoModels.d.ts +0 -2
  494. package/createAcoModels.js +0 -42
  495. package/createAcoModels.js.map +0 -1
  496. package/createAcoStorageOperations.d.ts +0 -10
  497. package/createAcoStorageOperations.js +0 -19
  498. package/createAcoStorageOperations.js.map +0 -1
  499. package/fields/index.d.ts +0 -2
  500. package/fields/index.js +0 -12
  501. package/fields/index.js.map +0 -1
  502. package/fields/location.d.ts +0 -2
  503. package/fields/location.js +0 -44
  504. package/fields/location.js.map +0 -1
  505. package/folder/folder.crud.d.ts +0 -3
  506. package/folder/folder.crud.js +0 -110
  507. package/folder/folder.crud.js.map +0 -1
  508. package/folder/folder.model.d.ts +0 -4
  509. package/folder/folder.model.js +0 -75
  510. package/folder/folder.model.js.map +0 -1
  511. package/folder/folder.so.d.ts +0 -3
  512. package/folder/folder.so.js +0 -151
  513. package/folder/folder.so.js.map +0 -1
  514. package/folder/folder.types.js.map +0 -1
  515. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  516. package/folder/onFolderBeforeDelete.hook.js +0 -66
  517. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  518. package/index.js.map +0 -1
  519. package/plugins/AcoAppModifierPlugin.d.ts +0 -43
  520. package/plugins/AcoAppModifierPlugin.js +0 -59
  521. package/plugins/AcoAppModifierPlugin.js.map +0 -1
  522. package/plugins/AcoAppRegisterPlugin.d.ts +0 -8
  523. package/plugins/AcoAppRegisterPlugin.js +0 -22
  524. package/plugins/AcoAppRegisterPlugin.js.map +0 -1
  525. package/plugins/index.d.ts +0 -2
  526. package/plugins/index.js +0 -27
  527. package/plugins/index.js.map +0 -1
  528. package/record/graphql/createAppResolvers.d.ts +0 -14
  529. package/record/graphql/createAppResolvers.js +0 -108
  530. package/record/graphql/createAppResolvers.js.map +0 -1
  531. package/record/graphql/createAppSchema.d.ts +0 -9
  532. package/record/graphql/createAppSchema.js +0 -142
  533. package/record/graphql/createAppSchema.js.map +0 -1
  534. package/record/record.crud.d.ts +0 -3
  535. package/record/record.crud.js +0 -126
  536. package/record/record.crud.js.map +0 -1
  537. package/record/record.gql.d.ts +0 -8
  538. package/record/record.gql.js +0 -41
  539. package/record/record.gql.js.map +0 -1
  540. package/record/record.model.d.ts +0 -10
  541. package/record/record.model.js +0 -86
  542. package/record/record.model.js.map +0 -1
  543. package/record/record.so.d.ts +0 -3
  544. package/record/record.so.js +0 -150
  545. package/record/record.so.js.map +0 -1
  546. package/record/record.types.d.ts +0 -143
  547. package/record/record.types.js +0 -5
  548. package/record/record.types.js.map +0 -1
  549. package/utils/acoRecordId.d.ts +0 -6
  550. package/utils/acoRecordId.js +0 -33
  551. package/utils/acoRecordId.js.map +0 -1
  552. package/utils/checkPermissions.d.ts +0 -2
  553. package/utils/checkPermissions.js +0 -14
  554. package/utils/checkPermissions.js.map +0 -1
  555. package/utils/createModelField.d.ts +0 -5
  556. package/utils/createModelField.js +0 -37
  557. package/utils/createModelField.js.map +0 -1
  558. package/utils/fieldResolver.d.ts +0 -16
  559. package/utils/fieldResolver.js +0 -44
  560. package/utils/fieldResolver.js.map +0 -1
  561. package/utils/getFieldValues.d.ts +0 -5
  562. package/utils/getFieldValues.js +0 -16
  563. package/utils/getFieldValues.js.map +0 -1
  564. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  565. package/utils/getFolderAndItsAncestors.js +0 -48
  566. package/utils/getFolderAndItsAncestors.js.map +0 -1
  567. package/utils/isInstallationPending.d.ts +0 -4
  568. package/utils/isInstallationPending.js +0 -21
  569. package/utils/isInstallationPending.js.map +0 -1
  570. package/utils/modelFactory.d.ts +0 -15
  571. package/utils/modelFactory.js +0 -25
  572. package/utils/modelFactory.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ import type { Container } from "@webiny/di";
2
+ export declare const AcoFeature: {
3
+ name: string;
4
+ register(container: Container): void;
5
+ };
package/AcoFeature.js ADDED
@@ -0,0 +1,122 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { GraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
4
+ import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
5
+ import { HeadlessCms } from "@webiny/api-headless-cms/features/shared/abstractions.js";
6
+ import { addAcoBaseSchema } from "./createAcoGraphQL.js";
7
+ import { addFilterSchema } from "./filter/filter.gql.js";
8
+ import { AcoInitializer } from "./AcoInitializer.js";
9
+ import { CreateFlpTask } from "./flp/tasks/createFlp.task.js";
10
+ import { UpdateFlpTask } from "./flp/tasks/updateFlp.task.js";
11
+ import { DeleteFlpTask } from "./flp/tasks/deleteFlp.task.js";
12
+ import { SyncFlpTask } from "./flp/tasks/syncFlp.task.js";
13
+ import { FolderModel } from "./domain/folder/folder.model.js";
14
+ import { FilterPrivateModel } from "./filter/filter.model.js";
15
+ import { createFilterOperations } from "./filter/filter.so.js";
16
+ import { createFilterCrudMethods } from "./filter/filter.crud.js";
17
+ import { createFlpCrudMethods } from "./flp/index.js";
18
+ import { FolderLevelPermissions, FolderLevelPermissionsFeature } from "./features/flp/FolderLevelPermissions/index.js";
19
+ import { UpdateFolderFeature } from "./features/folder/UpdateFolder/index.js";
20
+ import { DeleteFolderFeature } from "./features/folder/DeleteFolder/index.js";
21
+ import { CreateFolderFeature } from "./features/folder/CreateFolder/index.js";
22
+ import { GetFolderFeature } from "./features/folder/GetFolder/index.js";
23
+ import { ListFoldersFeature } from "./features/folder/ListFolders/index.js";
24
+ import { GetFolderHierarchyFeature } from "./features/folder/GetFolderHierarchy/index.js";
25
+ import { GetAncestorsFeature } from "./features/folder/GetAncestors/index.js";
26
+ import { UpdateFlpOnFolderUpdatedFeature } from "./features/flp/UpdateFlpOnFolderUpdated/index.js";
27
+ import { DeleteFlpOnFolderDeletedFeature } from "./features/flp/DeleteFlpOnFolderDeleted/index.js";
28
+ import { EnsureHcmsFolderIsEmptyOnDeleteFeature } from "./features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js";
29
+ import { CreateFlpFeature } from "./features/flp/CreateFlp/index.js";
30
+ import { DeleteFlpFeature } from "./features/flp/DeleteFlp/index.js";
31
+ import { UpdateFlpFeature } from "./features/flp/UpdateFlp/index.js";
32
+ import { EnsureFolderIsEmptyOnDeleteFeature } from "./features/folder/EnsureFolderIsEmptyOnDelete/index.js";
33
+ import { AcoFilterCrud, AcoFlpCrud, FilterStorageOperations, FlpStorageOperations } from "./features/folder/shared/abstractions.js";
34
+ import { ListFlpsFeature } from "./features/flp/ListFlps/feature.js";
35
+ import { GetFlpFeature } from "./features/flp/GetFlp/feature.js";
36
+ import { ListFolderLevelPermissionsTargetsFeature } from "./features/folder/ListFolderLevelPermissionsTargets/feature.js";
37
+ import { CreateFlpOnFolderCreatedFeature } from "./features/flp/CreateFlpOnFolderCreated/index.js";
38
+ import { EnsureFolderIsEmptyFeature } from "./features/folder/EnsureFolderIsEmpty/feature.js";
39
+ class AcoSchemaFactoryImpl {
40
+ async execute(builder) {
41
+ addAcoBaseSchema(builder);
42
+ addFilterSchema(builder);
43
+ return builder;
44
+ }
45
+ }
46
+ const AcoSchemaFactory = GraphQLSchemaFactory.createImplementation({
47
+ implementation: AcoSchemaFactoryImpl,
48
+ dependencies: []
49
+ });
50
+ const AcoFeature = createFeature({
51
+ name: "Aco",
52
+ register (container) {
53
+ container.register(FolderModel);
54
+ container.register(FilterPrivateModel);
55
+ container.register(CreateFlpTask);
56
+ container.register(UpdateFlpTask);
57
+ container.register(DeleteFlpTask);
58
+ container.register(SyncFlpTask);
59
+ FolderLevelPermissionsFeature.register(container);
60
+ CreateFolderFeature.register(container);
61
+ UpdateFolderFeature.register(container);
62
+ DeleteFolderFeature.register(container);
63
+ GetFolderFeature.register(container);
64
+ ListFoldersFeature.register(container);
65
+ ListFolderLevelPermissionsTargetsFeature.register(container);
66
+ GetFolderHierarchyFeature.register(container);
67
+ GetAncestorsFeature.register(container);
68
+ EnsureFolderIsEmptyFeature.register(container);
69
+ CreateFlpFeature.register(container);
70
+ UpdateFlpFeature.register(container);
71
+ DeleteFlpFeature.register(container);
72
+ ListFlpsFeature.register(container);
73
+ GetFlpFeature.register(container);
74
+ CreateFlpOnFolderCreatedFeature.register(container);
75
+ UpdateFlpOnFolderUpdatedFeature.register(container);
76
+ DeleteFlpOnFolderDeletedFeature.register(container);
77
+ EnsureFolderIsEmptyOnDeleteFeature.register(container);
78
+ EnsureHcmsFolderIsEmptyOnDeleteFeature.register(container);
79
+ const getTenant = ()=>container.resolve(TenantContext).getTenant();
80
+ let storageOperations;
81
+ const getStorageOperations = ()=>{
82
+ if (!storageOperations) {
83
+ const cms = container.resolve(HeadlessCms);
84
+ const identityContext = container.resolve(IdentityContext);
85
+ storageOperations = {
86
+ filter: createFilterOperations({
87
+ cms,
88
+ identityContext,
89
+ container
90
+ }),
91
+ flp: container.resolve(FlpStorageOperations)
92
+ };
93
+ }
94
+ return storageOperations;
95
+ };
96
+ let flpCrudMethods;
97
+ const getFlpCrudMethods = ()=>{
98
+ if (!flpCrudMethods) flpCrudMethods = createFlpCrudMethods({
99
+ getTenant,
100
+ storageOperations: getStorageOperations()
101
+ });
102
+ return flpCrudMethods;
103
+ };
104
+ container.registerFactory(AcoFlpCrud, ()=>getFlpCrudMethods());
105
+ container.registerFactory(FilterStorageOperations, ()=>getStorageOperations().filter);
106
+ let filterCrudMethods;
107
+ container.registerFactory(AcoFilterCrud, ()=>{
108
+ if (!filterCrudMethods) filterCrudMethods = createFilterCrudMethods({
109
+ container,
110
+ getTenant,
111
+ storageOperations: getStorageOperations(),
112
+ folderLevelPermissions: container.resolve(FolderLevelPermissions)
113
+ });
114
+ return filterCrudMethods;
115
+ });
116
+ container.register(AcoInitializer);
117
+ container.register(AcoSchemaFactory);
118
+ }
119
+ });
120
+ export { AcoFeature };
121
+
122
+ //# sourceMappingURL=AcoFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcoFeature.js","sources":["../src/AcoFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { GraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\nimport type { Container } from \"@webiny/di\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { HeadlessCms } from \"@webiny/api-headless-cms/features/shared/abstractions.js\";\nimport { addAcoBaseSchema } from \"./createAcoGraphQL.js\";\nimport { addFilterSchema } from \"~/filter/filter.gql.js\";\nimport { AcoInitializer } from \"./AcoInitializer.js\";\nimport { CreateFlpTask } from \"~/flp/tasks/createFlp.task.js\";\nimport { UpdateFlpTask } from \"~/flp/tasks/updateFlp.task.js\";\nimport { DeleteFlpTask } from \"~/flp/tasks/deleteFlp.task.js\";\nimport { SyncFlpTask } from \"~/flp/tasks/syncFlp.task.js\";\nimport type { AcoStorageOperations } from \"~/types.js\";\nimport type { Tenant } from \"@webiny/api-core/types/tenancy.js\";\nimport { FolderModel } from \"~/domain/folder/folder.model.js\";\nimport { FilterPrivateModel } from \"~/filter/filter.model.js\";\n// Facade wiring (moved here from createAcoContext so the ACO facade can be a lazy DI factory).\nimport { createFilterOperations } from \"~/filter/filter.so.js\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud.js\";\nimport { createFlpCrudMethods } from \"~/flp/index.js\";\nimport {\n FolderLevelPermissions,\n FolderLevelPermissionsFeature\n} from \"~/features/flp/FolderLevelPermissions/index.js\";\nimport { UpdateFolderFeature } from \"~/features/folder/UpdateFolder/index.js\";\nimport { DeleteFolderFeature } from \"~/features/folder/DeleteFolder/index.js\";\nimport { CreateFolderFeature } from \"~/features/folder/CreateFolder/index.js\";\nimport { GetFolderFeature } from \"~/features/folder/GetFolder/index.js\";\nimport { ListFoldersFeature } from \"~/features/folder/ListFolders/index.js\";\nimport { GetFolderHierarchyFeature } from \"~/features/folder/GetFolderHierarchy/index.js\";\nimport { GetAncestorsFeature } from \"~/features/folder/GetAncestors/index.js\";\nimport { UpdateFlpOnFolderUpdatedFeature } from \"~/features/flp/UpdateFlpOnFolderUpdated/index.js\";\nimport { DeleteFlpOnFolderDeletedFeature } from \"~/features/flp/DeleteFlpOnFolderDeleted/index.js\";\nimport { EnsureHcmsFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js\";\nimport { CreateFlpFeature } from \"~/features/flp/CreateFlp/index.js\";\nimport { DeleteFlpFeature } from \"~/features/flp/DeleteFlp/index.js\";\nimport { UpdateFlpFeature } from \"~/features/flp/UpdateFlp/index.js\";\nimport { EnsureFolderIsEmptyOnDeleteFeature } from \"~/features/folder/EnsureFolderIsEmptyOnDelete/index.js\";\nimport {\n AcoFilterCrud,\n AcoFlpCrud,\n FilterStorageOperations,\n FlpStorageOperations\n} from \"~/features/folder/shared/abstractions.js\";\nimport { ListFlpsFeature } from \"~/features/flp/ListFlps/feature.js\";\nimport { GetFlpFeature } from \"~/features/flp/GetFlp/feature.js\";\nimport { ListFolderLevelPermissionsTargetsFeature } from \"~/features/folder/ListFolderLevelPermissionsTargets/feature.js\";\nimport { CreateFlpOnFolderCreatedFeature } from \"~/features/flp/CreateFlpOnFolderCreated/index.js\";\nimport { EnsureFolderIsEmptyFeature } from \"~/features/folder/EnsureFolderIsEmpty/feature.js\";\n\nclass AcoSchemaFactoryImpl implements GraphQLSchemaFactory.Interface {\n async execute(builder: IGraphQLSchemaBuilder): Promise<IGraphQLSchemaBuilder> {\n // Static ACO base + filter schema (DI-native contributors declaring their deps). The dynamic\n // folder schema (needs the per-tenant folder model) is still built by AcoInitializer.\n addAcoBaseSchema(builder);\n addFilterSchema(builder);\n return builder;\n }\n}\n\nconst AcoSchemaFactory = GraphQLSchemaFactory.createImplementation({\n implementation: AcoSchemaFactoryImpl,\n dependencies: []\n});\n\nexport const AcoFeature = createFeature({\n name: \"Aco\",\n register(container: Container) {\n container.register(FolderModel);\n container.register(FilterPrivateModel);\n\n // Background task definitions — pure wiring, no tenant/identity needed.\n container.register(CreateFlpTask);\n container.register(UpdateFlpTask);\n container.register(DeleteFlpTask);\n container.register(SyncFlpTask);\n\n // Folder + FLP use-case features — pure DI wiring (all lazy). Moved out of the per-request\n // initializer so they're registered for every event, not only GraphQL requests.\n FolderLevelPermissionsFeature.register(container);\n CreateFolderFeature.register(container);\n UpdateFolderFeature.register(container);\n DeleteFolderFeature.register(container);\n GetFolderFeature.register(container);\n ListFoldersFeature.register(container);\n ListFolderLevelPermissionsTargetsFeature.register(container);\n GetFolderHierarchyFeature.register(container);\n GetAncestorsFeature.register(container);\n EnsureFolderIsEmptyFeature.register(container);\n CreateFlpFeature.register(container);\n UpdateFlpFeature.register(container);\n DeleteFlpFeature.register(container);\n ListFlpsFeature.register(container);\n GetFlpFeature.register(container);\n CreateFlpOnFolderCreatedFeature.register(container);\n UpdateFlpOnFolderUpdatedFeature.register(container);\n DeleteFlpOnFolderDeletedFeature.register(container);\n EnsureFolderIsEmptyOnDeleteFeature.register(container);\n EnsureHcmsFolderIsEmptyOnDeleteFeature.register(container);\n\n // ===== Lazy ACO facade =====\n // Built on first resolve (post-auth) so the HeadlessCms facade (also lazy) is resolved on\n // demand. Memoised per request container. Consumers resolve AcoFlpCrud / AcoFilterCrud /\n // FilterStorageOperations via DI.\n const getTenant = (): Tenant => container.resolve(TenantContext).getTenant();\n\n let storageOperations: AcoStorageOperations | undefined;\n const getStorageOperations = (): AcoStorageOperations => {\n if (!storageOperations) {\n const cms = container.resolve(HeadlessCms);\n const identityContext = container.resolve(IdentityContext);\n storageOperations = {\n filter: createFilterOperations({ cms, identityContext, container }),\n flp: container.resolve(FlpStorageOperations)\n };\n }\n return storageOperations;\n };\n\n let flpCrudMethods: ReturnType<typeof createFlpCrudMethods> | undefined;\n const getFlpCrudMethods = () => {\n if (!flpCrudMethods) {\n flpCrudMethods = createFlpCrudMethods({\n getTenant,\n storageOperations: getStorageOperations()\n });\n }\n return flpCrudMethods;\n };\n container.registerFactory(AcoFlpCrud, () => getFlpCrudMethods());\n container.registerFactory(FilterStorageOperations, () => getStorageOperations().filter);\n\n let filterCrudMethods: ReturnType<typeof createFilterCrudMethods> | undefined;\n container.registerFactory(AcoFilterCrud, () => {\n if (!filterCrudMethods) {\n filterCrudMethods = createFilterCrudMethods({\n container,\n getTenant,\n storageOperations: getStorageOperations(),\n folderLevelPermissions: container.resolve(FolderLevelPermissions)\n });\n }\n return filterCrudMethods;\n });\n\n container.register(AcoInitializer);\n container.register(AcoSchemaFactory);\n }\n});\n"],"names":["AcoSchemaFactoryImpl","builder","addAcoBaseSchema","addFilterSchema","AcoSchemaFactory","GraphQLSchemaFactory","AcoFeature","createFeature","container","FolderModel","FilterPrivateModel","CreateFlpTask","UpdateFlpTask","DeleteFlpTask","SyncFlpTask","FolderLevelPermissionsFeature","CreateFolderFeature","UpdateFolderFeature","DeleteFolderFeature","GetFolderFeature","ListFoldersFeature","ListFolderLevelPermissionsTargetsFeature","GetFolderHierarchyFeature","GetAncestorsFeature","EnsureFolderIsEmptyFeature","CreateFlpFeature","UpdateFlpFeature","DeleteFlpFeature","ListFlpsFeature","GetFlpFeature","CreateFlpOnFolderCreatedFeature","UpdateFlpOnFolderUpdatedFeature","DeleteFlpOnFolderDeletedFeature","EnsureFolderIsEmptyOnDeleteFeature","EnsureHcmsFolderIsEmptyOnDeleteFeature","getTenant","TenantContext","storageOperations","getStorageOperations","cms","HeadlessCms","identityContext","IdentityContext","createFilterOperations","FlpStorageOperations","flpCrudMethods","getFlpCrudMethods","createFlpCrudMethods","AcoFlpCrud","FilterStorageOperations","filterCrudMethods","AcoFilterCrud","createFilterCrudMethods","FolderLevelPermissions","AcoInitializer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAMA;IACF,MAAM,QAAQC,OAA8B,EAAkC;QAG1EC,iBAAiBD;QACjBE,gBAAgBF;QAChB,OAAOA;IACX;AACJ;AAEA,MAAMG,mBAAmBC,qBAAqB,oBAAoB,CAAC;IAC/D,gBAAgBL;IAChB,cAAc,EAAE;AACpB;AAEO,MAAMM,aAAaC,cAAc;IACpC,MAAM;IACN,UAASC,SAAoB;QACzBA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QAGnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QAInBC,8BAA8B,QAAQ,CAACP;QACvCQ,oBAAoB,QAAQ,CAACR;QAC7BS,oBAAoB,QAAQ,CAACT;QAC7BU,oBAAoB,QAAQ,CAACV;QAC7BW,iBAAiB,QAAQ,CAACX;QAC1BY,mBAAmB,QAAQ,CAACZ;QAC5Ba,yCAAyC,QAAQ,CAACb;QAClDc,0BAA0B,QAAQ,CAACd;QACnCe,oBAAoB,QAAQ,CAACf;QAC7BgB,2BAA2B,QAAQ,CAAChB;QACpCiB,iBAAiB,QAAQ,CAACjB;QAC1BkB,iBAAiB,QAAQ,CAAClB;QAC1BmB,iBAAiB,QAAQ,CAACnB;QAC1BoB,gBAAgB,QAAQ,CAACpB;QACzBqB,cAAc,QAAQ,CAACrB;QACvBsB,gCAAgC,QAAQ,CAACtB;QACzCuB,gCAAgC,QAAQ,CAACvB;QACzCwB,gCAAgC,QAAQ,CAACxB;QACzCyB,mCAAmC,QAAQ,CAACzB;QAC5C0B,uCAAuC,QAAQ,CAAC1B;QAMhD,MAAM2B,YAAY,IAAc3B,UAAU,OAAO,CAAC4B,eAAe,SAAS;QAE1E,IAAIC;QACJ,MAAMC,uBAAuB;YACzB,IAAI,CAACD,mBAAmB;gBACpB,MAAME,MAAM/B,UAAU,OAAO,CAACgC;gBAC9B,MAAMC,kBAAkBjC,UAAU,OAAO,CAACkC;gBAC1CL,oBAAoB;oBAChB,QAAQM,uBAAuB;wBAAEJ;wBAAKE;wBAAiBjC;oBAAU;oBACjE,KAAKA,UAAU,OAAO,CAACoC;gBAC3B;YACJ;YACA,OAAOP;QACX;QAEA,IAAIQ;QACJ,MAAMC,oBAAoB;YACtB,IAAI,CAACD,gBACDA,iBAAiBE,qBAAqB;gBAClCZ;gBACA,mBAAmBG;YACvB;YAEJ,OAAOO;QACX;QACArC,UAAU,eAAe,CAACwC,YAAY,IAAMF;QAC5CtC,UAAU,eAAe,CAACyC,yBAAyB,IAAMX,uBAAuB,MAAM;QAEtF,IAAIY;QACJ1C,UAAU,eAAe,CAAC2C,eAAe;YACrC,IAAI,CAACD,mBACDA,oBAAoBE,wBAAwB;gBACxC5C;gBACA2B;gBACA,mBAAmBG;gBACnB,wBAAwB9B,UAAU,OAAO,CAAC6C;YAC9C;YAEJ,OAAOH;QACX;QAEA1C,UAAU,QAAQ,CAAC8C;QACnB9C,UAAU,QAAQ,CAACJ;IACvB;AACJ"}
@@ -0,0 +1,25 @@
1
+ import type { Container } from "@webiny/di";
2
+ import type { IRequestContextInitializer } from "@webiny/event-handler-core";
3
+ /**
4
+ * Per-request setup that cannot be a synchronous DI factory.
5
+ *
6
+ * The ACO facade (filter/flp CRUD, AcoFilterCrud / AcoFlpCrud / FilterStorageOperations) is a LAZY
7
+ * factory now — see AcoFeature.register. The only work that must stay eager, per request, before
8
+ * resolvers is:
9
+ *
10
+ * 1. Resolving the per-tenant folder model (async) and exposing it as FolderModelAbstraction.
11
+ * 2. Registering the WCP-gated CMS-entry FLP decorators (CmsFlpFeature) — they must be in place
12
+ * before any CMS-entry resolver runs, and the WCP license is only known post-RequestInitializer.
13
+ * 3. Building the dynamic folder GraphQL schema (needs the resolved folder model).
14
+ */
15
+ declare class AcoInitializerImpl implements IRequestContextInitializer {
16
+ private container;
17
+ private initialized;
18
+ constructor(container: Container);
19
+ init(ctx: Record<string, any>): Promise<void>;
20
+ private _initialize;
21
+ }
22
+ export declare const AcoInitializer: typeof AcoInitializerImpl & {
23
+ __abstraction: import("@webiny/di").Abstraction<IRequestContextInitializer>;
24
+ };
25
+ export {};
@@ -0,0 +1,79 @@
1
+ import { GraphQLSchemaPlugin } from "@webiny/api-graphql";
2
+ import { RequestContainer, RequestContextInitializer } from "@webiny/event-handler-core";
3
+ import { CoreGraphQLSchemaFactory } from "@webiny/api-graphql/graphql/abstractions.js";
4
+ import { isHeadlessCmsReady } from "@webiny/api-headless-cms";
5
+ import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
6
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/abstractions.js";
7
+ import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/abstractions.js";
8
+ import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
9
+ import { ListModelsUseCase } from "@webiny/api-headless-cms/features/contentModel/ListModels/index.js";
10
+ import { createGraphQLSchemaPluginFromFieldPlugins } from "@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js";
11
+ import { createFoldersSchema } from "./folder/folder.gql.js";
12
+ import { FOLDER_MODEL_ID } from "./domain/folder/folder.model.js";
13
+ import { FolderModel } from "./domain/folder/abstractions.js";
14
+ import { CmsFlpFeature } from "./features/cms/index.js";
15
+ class AcoInitializerImpl {
16
+ constructor(container){
17
+ this.container = container;
18
+ this.initialized = false;
19
+ }
20
+ async init(ctx) {
21
+ if (!this.initialized) {
22
+ this.initialized = true;
23
+ await this._initialize(ctx);
24
+ }
25
+ }
26
+ async _initialize(ctx) {
27
+ if (!await isHeadlessCmsReady(ctx)) return;
28
+ const identityContext = this.container.resolve(IdentityContext);
29
+ await identityContext.withoutAuthorization(async ()=>{
30
+ const folderModel = await this.container.resolve(GetModelUseCase).execute(FOLDER_MODEL_ID);
31
+ this.container.registerInstance(FolderModel, folderModel.value);
32
+ });
33
+ if (this.container.resolve(WcpContext).canUseFolderLevelPermissions()) CmsFlpFeature.register(this.container);
34
+ const fieldRegistry = this.container.resolve(CmsModelFieldToGraphQLRegistry);
35
+ await identityContext.withoutAuthorization(async ()=>{
36
+ const modelResult = await this.container.resolve(GetModelUseCase).execute(FOLDER_MODEL_ID);
37
+ if (modelResult.isFail()) throw modelResult.error;
38
+ const model = modelResult.value;
39
+ const modelsResult = await this.container.resolve(ListModelsUseCase).execute();
40
+ if (modelsResult.isFail()) throw modelsResult.error;
41
+ const models = modelsResult.value;
42
+ const fieldPlugins = createGraphQLSchemaPluginFromFieldPlugins({
43
+ models,
44
+ type: "manage",
45
+ fieldRegistry,
46
+ createPlugin: ({ schema, type, fieldType })=>{
47
+ const plugin = new GraphQLSchemaPlugin(schema);
48
+ plugin.name = `aco.graphql.folder.schema.${type}.field.${fieldType}`;
49
+ return plugin;
50
+ }
51
+ });
52
+ const graphQlPlugin = createFoldersSchema({
53
+ model,
54
+ models,
55
+ fieldRegistry
56
+ });
57
+ for (const p of [
58
+ ...fieldPlugins,
59
+ graphQlPlugin
60
+ ])this.container.registerInstance(CoreGraphQLSchemaFactory, {
61
+ async execute (builder) {
62
+ if (p.schema.typeDefs) builder.addTypeDefs(p.schema.typeDefs);
63
+ if (p.schema.resolvers) builder.addLegacyResolvers(p.schema.resolvers);
64
+ if (p.schema.resolverDecorators) for (const [path, decorators] of Object.entries(p.schema.resolverDecorators))for (const decorator of decorators)builder.addResolverDecorator(path, decorator);
65
+ return builder;
66
+ }
67
+ });
68
+ });
69
+ }
70
+ }
71
+ const AcoInitializer = RequestContextInitializer.createImplementation({
72
+ implementation: AcoInitializerImpl,
73
+ dependencies: [
74
+ RequestContainer
75
+ ]
76
+ });
77
+ export { AcoInitializer };
78
+
79
+ //# sourceMappingURL=AcoInitializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcoInitializer.js","sources":["../src/AcoInitializer.ts"],"sourcesContent":["import type { Container } from \"@webiny/di\";\nimport { GraphQLSchemaPlugin } from \"@webiny/api-graphql\";\nimport { RequestContextInitializer } from \"@webiny/event-handler-core\";\nimport { CoreGraphQLSchemaFactory } from \"@webiny/api-graphql/graphql/abstractions.js\";\nimport type { IRequestContextInitializer } from \"@webiny/event-handler-core\";\nimport type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\nimport type { IGraphQLSchemaPlugin } from \"@webiny/api-graphql/plugins/GraphQLSchemaPlugin.js\";\nimport { RequestContainer } from \"@webiny/event-handler-core\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/abstractions.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/abstractions.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins.js\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createFoldersSchema } from \"~/folder/folder.gql.js\";\nimport { FOLDER_MODEL_ID } from \"~/domain/folder/folder.model.js\";\nimport { FolderModel as FolderModelAbstraction } from \"~/domain/folder/abstractions.js\";\nimport { CmsFlpFeature } from \"~/features/cms/index.js\";\nimport type { AcoContext } from \"~/types.js\";\n\n/**\n * Per-request setup that cannot be a synchronous DI factory.\n *\n * The ACO facade (filter/flp CRUD, AcoFilterCrud / AcoFlpCrud / FilterStorageOperations) is a LAZY\n * factory now — see AcoFeature.register. The only work that must stay eager, per request, before\n * resolvers is:\n *\n * 1. Resolving the per-tenant folder model (async) and exposing it as FolderModelAbstraction.\n * 2. Registering the WCP-gated CMS-entry FLP decorators (CmsFlpFeature) — they must be in place\n * before any CMS-entry resolver runs, and the WCP license is only known post-RequestInitializer.\n * 3. Building the dynamic folder GraphQL schema (needs the resolved folder model).\n */\nclass AcoInitializerImpl implements IRequestContextInitializer {\n private initialized = false;\n\n constructor(private container: Container) {}\n\n async init(ctx: Record<string, any>): Promise<void> {\n if (!this.initialized) {\n this.initialized = true;\n await this._initialize(ctx);\n }\n }\n\n private async _initialize(ctx: Record<string, any>): Promise<void> {\n if (!(await isHeadlessCmsReady(ctx as AcoContext))) {\n return;\n }\n\n const identityContext = this.container.resolve(IdentityContext);\n\n // Expose the per-tenant folder model.\n await identityContext.withoutAuthorization(async () => {\n const folderModel = await this.container\n .resolve(GetModelUseCase)\n .execute(FOLDER_MODEL_ID);\n this.container.registerInstance(FolderModelAbstraction, folderModel.value);\n });\n\n // CMS-entry folder-level-permission decorators (WCP-gated). Must be registered before any\n // CMS-entry resolver runs, so this stays in the (pre-resolver) initializer rather than a\n // lazy factory.\n if (this.container.resolve(WcpContext).canUseFolderLevelPermissions()) {\n CmsFlpFeature.register(this.container);\n }\n\n // Dynamic folder schema: register each field/folder schema plugin as a CoreGraphQLSchemaFactory.\n const fieldRegistry = this.container.resolve(CmsModelFieldToGraphQLRegistry);\n await identityContext.withoutAuthorization(async () => {\n const modelResult = await this.container\n .resolve(GetModelUseCase)\n .execute(FOLDER_MODEL_ID);\n if (modelResult.isFail()) {\n throw modelResult.error;\n }\n const model = modelResult.value as CmsModel;\n\n const modelsResult = await this.container.resolve(ListModelsUseCase).execute();\n if (modelsResult.isFail()) {\n throw modelsResult.error;\n }\n const models = modelsResult.value;\n\n const fieldPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n type: \"manage\",\n fieldRegistry,\n createPlugin: ({ schema, type, fieldType }) => {\n const plugin = new GraphQLSchemaPlugin(schema);\n plugin.name = `aco.graphql.folder.schema.${type}.field.${fieldType}`;\n return plugin;\n }\n });\n\n const graphQlPlugin = createFoldersSchema({ model, models, fieldRegistry });\n\n for (const p of [...fieldPlugins, graphQlPlugin] as IGraphQLSchemaPlugin[]) {\n this.container.registerInstance(CoreGraphQLSchemaFactory, {\n async execute(builder: IGraphQLSchemaBuilder): Promise<IGraphQLSchemaBuilder> {\n if (p.schema.typeDefs) {\n builder.addTypeDefs(p.schema.typeDefs);\n }\n if (p.schema.resolvers) {\n builder.addLegacyResolvers(p.schema.resolvers as Record<string, any>);\n }\n if (p.schema.resolverDecorators) {\n for (const [path, decorators] of Object.entries(\n p.schema.resolverDecorators\n )) {\n for (const decorator of decorators as any[]) {\n builder.addResolverDecorator(path, decorator);\n }\n }\n }\n return builder;\n }\n });\n }\n });\n }\n}\n\nexport const AcoInitializer = RequestContextInitializer.createImplementation({\n implementation: AcoInitializerImpl,\n dependencies: [RequestContainer]\n});\n"],"names":["AcoInitializerImpl","container","ctx","isHeadlessCmsReady","identityContext","IdentityContext","folderModel","GetModelUseCase","FOLDER_MODEL_ID","FolderModelAbstraction","WcpContext","CmsFlpFeature","fieldRegistry","CmsModelFieldToGraphQLRegistry","modelResult","model","modelsResult","ListModelsUseCase","models","fieldPlugins","createGraphQLSchemaPluginFromFieldPlugins","schema","type","fieldType","plugin","GraphQLSchemaPlugin","graphQlPlugin","createFoldersSchema","p","CoreGraphQLSchemaFactory","builder","path","decorators","Object","decorator","AcoInitializer","RequestContextInitializer","RequestContainer"],"mappings":";;;;;;;;;;;;;;AAkCA,MAAMA;IAGF,YAAoBC,SAAoB,CAAE;aAAtBA,SAAS,GAATA;aAFZ,WAAW,GAAG;IAEqB;IAE3C,MAAM,KAAKC,GAAwB,EAAiB;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG;YACnB,MAAM,IAAI,CAAC,WAAW,CAACA;QAC3B;IACJ;IAEA,MAAc,YAAYA,GAAwB,EAAiB;QAC/D,IAAI,CAAE,MAAMC,mBAAmBD,MAC3B;QAGJ,MAAME,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAACC;QAG/C,MAAMD,gBAAgB,oBAAoB,CAAC;YACvC,MAAME,cAAc,MAAM,IAAI,CAAC,SAAS,CACnC,OAAO,CAACC,iBACR,OAAO,CAACC;YACb,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAACC,aAAwBH,YAAY,KAAK;QAC7E;QAKA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAACI,YAAY,4BAA4B,IAC/DC,cAAc,QAAQ,CAAC,IAAI,CAAC,SAAS;QAIzC,MAAMC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAACC;QAC7C,MAAMT,gBAAgB,oBAAoB,CAAC;YACvC,MAAMU,cAAc,MAAM,IAAI,CAAC,SAAS,CACnC,OAAO,CAACP,iBACR,OAAO,CAACC;YACb,IAAIM,YAAY,MAAM,IAClB,MAAMA,YAAY,KAAK;YAE3B,MAAMC,QAAQD,YAAY,KAAK;YAE/B,MAAME,eAAe,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACC,mBAAmB,OAAO;YAC5E,IAAID,aAAa,MAAM,IACnB,MAAMA,aAAa,KAAK;YAE5B,MAAME,SAASF,aAAa,KAAK;YAEjC,MAAMG,eAAeC,0CAA0C;gBAC3DF;gBACA,MAAM;gBACNN;gBACA,cAAc,CAAC,EAAES,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE;oBACtC,MAAMC,SAAS,IAAIC,oBAAoBJ;oBACvCG,OAAO,IAAI,GAAG,CAAC,0BAA0B,EAAEF,KAAK,OAAO,EAAEC,WAAW;oBACpE,OAAOC;gBACX;YACJ;YAEA,MAAME,gBAAgBC,oBAAoB;gBAAEZ;gBAAOG;gBAAQN;YAAc;YAEzE,KAAK,MAAMgB,KAAK;mBAAIT;gBAAcO;aAAc,CAC5C,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAACG,0BAA0B;gBACtD,MAAM,SAAQC,OAA8B;oBACxC,IAAIF,EAAE,MAAM,CAAC,QAAQ,EACjBE,QAAQ,WAAW,CAACF,EAAE,MAAM,CAAC,QAAQ;oBAEzC,IAAIA,EAAE,MAAM,CAAC,SAAS,EAClBE,QAAQ,kBAAkB,CAACF,EAAE,MAAM,CAAC,SAAS;oBAEjD,IAAIA,EAAE,MAAM,CAAC,kBAAkB,EAC3B,KAAK,MAAM,CAACG,MAAMC,WAAW,IAAIC,OAAO,OAAO,CAC3CL,EAAE,MAAM,CAAC,kBAAkB,EAE3B,KAAK,MAAMM,aAAaF,WACpBF,QAAQ,oBAAoB,CAACC,MAAMG;oBAI/C,OAAOJ;gBACX;YACJ;QAER;IACJ;AACJ;AAEO,MAAMK,iBAAiBC,0BAA0B,oBAAoB,CAAC;IACzE,gBAAgBpC;IAChB,cAAc;QAACqC;KAAiB;AACpC"}
package/README.md CHANGED
@@ -1,33 +1,11 @@
1
1
  # @webiny/api-aco
2
2
 
3
- [![](https://img.shields.io/npm/dw/@webiny/api-aco.svg)](https://www.npmjs.com/package/@webiny/api-aco)
4
- [![](https://img.shields.io/npm/v/@webiny/api-aco.svg)](https://www.npmjs.com/package/@webiny/api-aco)
5
- [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
6
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
3
+ > [!NOTE]
4
+ > This package is part of the [Webiny](https://www.webiny.com) monorepo.
5
+ > It’s **included in every Webiny project by default** and is not meant to be used as a standalone package.
7
6
 
8
- ## Install
7
+ 📘 **Documentation:** [https://www.webiny.com/docs](https://www.webiny.com/docs)
9
8
 
10
- ```
11
- npm install --save @webiny/api-aco
12
- ```
9
+ ---
13
10
 
14
- Or if you prefer yarn:
15
-
16
- ```
17
- yarn add @webiny/api-aco
18
- ```
19
- ## Testing
20
-
21
- To run tests api-aco tests with targeted storage operations loaded use:
22
-
23
- ### DynamoDB
24
-
25
- ```
26
- yarn test packages/api-aco/* --keyword=cms:ddb --keyword=aco:base
27
- ```
28
-
29
- ### DynamoDB + ElasticSearch
30
-
31
- ```
32
- yarn test packages/api-aco/* --keyword=cms:ddb-es --keyword=aco:base
33
- ```
11
+ _This README file is automatically generated during the publish process._
package/constants.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "@webiny/shared-aco";
2
+ export declare const FM_FILE_TYPE = "FmFile";
package/constants.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "@webiny/shared-aco";
2
+ const FM_FILE_TYPE = "FmFile";
3
+ export { FM_FILE_TYPE };
4
+
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export * from \"@webiny/shared-aco\";\nexport const FM_FILE_TYPE = \"FmFile\";\n"],"names":["FM_FILE_TYPE"],"mappings":";AACO,MAAMA,eAAe"}
@@ -1,3 +1,7 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import { AcoContext } from "./types";
3
- export declare const createAcoGraphQL: () => GraphQLSchemaPlugin<AcoContext>[];
1
+ import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
2
+ /**
3
+ * The static ACO base schema (root Query.aco / Mutation.aco wrappers + shared types). The dynamic
4
+ * folder schema (field plugins + folders schema) is built per-request by AcoInitializer, which needs
5
+ * the resolved per-tenant folder model. The filter schema is contributed by addFilterSchema.
6
+ */
7
+ export declare const addAcoBaseSchema: (builder: IGraphQLSchemaBuilder) => void;
@@ -1,121 +1,70 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createAcoGraphQL = void 0;
7
- var _handlerGraphql = require("@webiny/handler-graphql");
8
- var _folder = require("./folder/folder.gql");
9
- var _app = require("./apps/app.gql");
10
- const emptyResolver = () => ({});
11
- const baseSchema = new _handlerGraphql.GraphQLSchemaPlugin({
12
- typeDefs: /* GraphQL */`
13
- type AcoQuery {
14
- _empty: String
15
- }
16
-
17
- type AcoMutation {
18
- _empty: String
19
- }
20
-
21
- type SearchQuery {
22
- _empty: String
23
- }
24
-
25
- type SearchMutation {
26
- _empty: String
27
- }
28
-
29
- type AcoMeta {
30
- hasMoreItems: Boolean
31
- totalCount: Int
32
- cursor: String
33
- }
34
-
35
- type AcoUser {
36
- id: ID
37
- displayName: String
38
- type: String
39
- }
40
-
41
- type AcoError {
42
- code: String
43
- message: String
44
- data: JSON
45
- stack: String
46
- }
47
-
48
- type AcoBooleanResponse {
49
- data: Boolean
50
- error: AcoError
51
- }
1
+ const BASE_TYPE_DEFS = `
2
+ type AcoQuery {
3
+ _empty: String
4
+ }
52
5
 
53
- enum AcoSortDirection {
54
- ASC
55
- DESC
56
- }
6
+ type AcoMutation {
7
+ _empty: String
8
+ }
57
9
 
58
- input AcoSort {
59
- id: AcoSortDirection
60
- createdOn: AcoSortDirection
61
- savedOn: AcoSortDirection
62
- title: AcoSortDirection
63
- }
10
+ type AcoMeta {
11
+ hasMoreItems: Boolean
12
+ totalCount: Int
13
+ cursor: String
14
+ }
64
15
 
65
- input AcoSearchRecordTagListWhereInput {
66
- tags_in: [String!]
67
- tags_startsWith: String
68
- tags_not_startsWith: String
69
- createdBy: ID
70
- AND: [AcoSearchRecordTagListWhereInput!]
71
- OR: [AcoSearchRecordTagListWhereInput!]
72
- }
16
+ type AcoUser {
17
+ id: ID
18
+ displayName: String
19
+ type: String
20
+ }
73
21
 
74
- type AcoSearchRecordMoveResponse {
75
- data: Boolean
76
- error: AcoError
77
- }
22
+ type AcoError {
23
+ code: String
24
+ message: String
25
+ data: JSON
26
+ stack: String
27
+ }
78
28
 
79
- type TagItem {
80
- tag: String!
81
- count: Int!
82
- }
29
+ type AcoBooleanResponse {
30
+ data: Boolean
31
+ error: AcoError
32
+ }
83
33
 
84
- type AcoSearchRecordTagListResponse {
85
- data: [TagItem!]
86
- error: AcoError
87
- meta: AcoMeta
88
- }
34
+ enum AcoSortDirection {
35
+ ASC
36
+ DESC
37
+ }
89
38
 
90
- type AcoSearchLocationType {
91
- folderId: ID!
92
- }
93
- input AcoSearchLocationInput {
94
- folderId: ID!
95
- }
39
+ input AcoSort {
40
+ id: AcoSortDirection
41
+ createdOn: AcoSortDirection
42
+ modifiedOn: AcoSortDirection
43
+ savedOn: AcoSortDirection
44
+ title: AcoSortDirection
45
+ }
96
46
 
97
- extend type Query {
98
- aco: AcoQuery
99
- search: SearchQuery
100
- }
47
+ extend type Query {
48
+ aco: AcoQuery
49
+ }
101
50
 
102
- extend type Mutation {
103
- aco: AcoMutation
104
- search: SearchMutation
105
- }
106
- `,
107
- resolvers: {
108
- Query: {
109
- aco: emptyResolver,
110
- search: emptyResolver
111
- },
112
- Mutation: {
113
- aco: emptyResolver,
114
- search: emptyResolver
51
+ extend type Mutation {
52
+ aco: AcoMutation
115
53
  }
116
- }
117
- });
118
- const createAcoGraphQL = () => {
119
- return [baseSchema, _app.appGql, _folder.folderSchema];
54
+ `;
55
+ const addAcoBaseSchema = (builder)=>{
56
+ builder.addTypeDefs(BASE_TYPE_DEFS);
57
+ builder.addResolver({
58
+ path: "Query.aco",
59
+ dependencies: [],
60
+ resolver: ()=>()=>({})
61
+ });
62
+ builder.addResolver({
63
+ path: "Mutation.aco",
64
+ dependencies: [],
65
+ resolver: ()=>()=>({})
66
+ });
120
67
  };
121
- exports.createAcoGraphQL = createAcoGraphQL;
68
+ export { addAcoBaseSchema };
69
+
70
+ //# sourceMappingURL=createAcoGraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","aco","search","Mutation","createAcoGraphQL","appGql","folderSchema"],"sources":["createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { folderSchema } from \"~/folder/folder.gql\";\nimport { appGql } from \"~/apps/app.gql\";\nimport { AcoContext } from \"~/types\";\n\nconst emptyResolver = () => ({});\n\nconst baseSchema = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type AcoQuery {\n _empty: String\n }\n\n type AcoMutation {\n _empty: String\n }\n\n type SearchQuery {\n _empty: String\n }\n\n type SearchMutation {\n _empty: String\n }\n\n type AcoMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type AcoUser {\n id: ID\n displayName: String\n type: String\n }\n\n type AcoError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AcoBooleanResponse {\n data: Boolean\n error: AcoError\n }\n\n enum AcoSortDirection {\n ASC\n DESC\n }\n\n input AcoSort {\n id: AcoSortDirection\n createdOn: AcoSortDirection\n savedOn: AcoSortDirection\n title: AcoSortDirection\n }\n\n input AcoSearchRecordTagListWhereInput {\n tags_in: [String!]\n tags_startsWith: String\n tags_not_startsWith: String\n createdBy: ID\n AND: [AcoSearchRecordTagListWhereInput!]\n OR: [AcoSearchRecordTagListWhereInput!]\n }\n\n type AcoSearchRecordMoveResponse {\n data: Boolean\n error: AcoError\n }\n\n type TagItem {\n tag: String!\n count: Int!\n }\n\n type AcoSearchRecordTagListResponse {\n data: [TagItem!]\n error: AcoError\n meta: AcoMeta\n }\n\n type AcoSearchLocationType {\n folderId: ID!\n }\n input AcoSearchLocationInput {\n folderId: ID!\n }\n\n extend type Query {\n aco: AcoQuery\n search: SearchQuery\n }\n\n extend type Mutation {\n aco: AcoMutation\n search: SearchMutation\n }\n `,\n resolvers: {\n Query: {\n aco: emptyResolver,\n search: emptyResolver\n },\n Mutation: {\n aco: emptyResolver,\n search: emptyResolver\n }\n }\n});\n\nexport const createAcoGraphQL = (): GraphQLSchemaPlugin<AcoContext>[] => {\n return [baseSchema, appGql, folderSchema];\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAGA,MAAMA,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;AAEhC,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAC;EACvCC,QAAQ,EAAE,aAAe;AAC7B;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;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ,CAAC;IACDQ,QAAQ,EAAE;MACNF,GAAG,EAAEN,aAAa;MAClBO,MAAM,EAAEP;IACZ;EACJ;AACJ,CAAC,CAAC;AAEK,MAAMS,gBAAgB,GAAG,MAAyC;EACrE,OAAO,CAACR,UAAU,EAAES,WAAM,EAAEC,oBAAY,CAAC;AAC7C,CAAC;AAAC"}
1
+ {"version":3,"file":"createAcoGraphQL.js","sources":["../src/createAcoGraphQL.ts"],"sourcesContent":["import type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\n\nconst BASE_TYPE_DEFS = /* GraphQL */ `\n type AcoQuery {\n _empty: String\n }\n\n type AcoMutation {\n _empty: String\n }\n\n type AcoMeta {\n hasMoreItems: Boolean\n totalCount: Int\n cursor: String\n }\n\n type AcoUser {\n id: ID\n displayName: String\n type: String\n }\n\n type AcoError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type AcoBooleanResponse {\n data: Boolean\n error: AcoError\n }\n\n enum AcoSortDirection {\n ASC\n DESC\n }\n\n input AcoSort {\n id: AcoSortDirection\n createdOn: AcoSortDirection\n modifiedOn: AcoSortDirection\n savedOn: AcoSortDirection\n title: AcoSortDirection\n }\n\n extend type Query {\n aco: AcoQuery\n }\n\n extend type Mutation {\n aco: AcoMutation\n }\n`;\n\n/**\n * The static ACO base schema (root Query.aco / Mutation.aco wrappers + shared types). The dynamic\n * folder schema (field plugins + folders schema) is built per-request by AcoInitializer, which needs\n * the resolved per-tenant folder model. The filter schema is contributed by addFilterSchema.\n */\nexport const addAcoBaseSchema = (builder: IGraphQLSchemaBuilder): void => {\n builder.addTypeDefs(BASE_TYPE_DEFS);\n builder.addResolver({ path: \"Query.aco\", dependencies: [], resolver: () => () => ({}) });\n builder.addResolver({ path: \"Mutation.aco\", dependencies: [], resolver: () => () => ({}) });\n};\n"],"names":["BASE_TYPE_DEFS","addAcoBaseSchema","builder"],"mappings":"AAEA,MAAMA,iBAA+B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDtC,CAAC;AAOM,MAAMC,mBAAmB,CAACC;IAC7BA,QAAQ,WAAW,CAACF;IACpBE,QAAQ,WAAW,CAAC;QAAE,MAAM;QAAa,cAAc,EAAE;QAAE,UAAU,IAAM,IAAO,EAAC;IAAG;IACtFA,QAAQ,WAAW,CAAC;QAAE,MAAM;QAAgB,cAAc,EAAE;QAAE,UAAU,IAAM,IAAO,EAAC;IAAG;AAC7F"}
@@ -0,0 +1,9 @@
1
+ import type { CmsModel } from "@webiny/api-headless-cms/types";
2
+ /**
3
+ * FolderModel abstraction - represents the ACO folder CMS model.
4
+ * This will be registered via container.registerInstance in the composite feature.
5
+ */
6
+ export declare const FolderModel: import("@webiny/di").Abstraction<CmsModel>;
7
+ export declare namespace FolderModel {
8
+ type Interface = CmsModel;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const FolderModel = createAbstraction("FolderModel");
3
+ export { FolderModel };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain/folder/abstractions.js","sources":["../../../src/domain/folder/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\n\n/**\n * FolderModel abstraction - represents the ACO folder CMS model.\n * This will be registered via container.registerInstance in the composite feature.\n */\nexport const FolderModel = createAbstraction<CmsModel>(\"FolderModel\");\n\nexport namespace FolderModel {\n export type Interface = CmsModel;\n}\n"],"names":["FolderModel","createAbstraction"],"mappings":";AAOO,MAAMA,cAAcC,kBAA4B"}
@@ -0,0 +1,29 @@
1
+ import { BaseError } from "@webiny/feature/api";
2
+ export declare class FolderNotFoundError extends BaseError<{
3
+ folder: {
4
+ id: string;
5
+ };
6
+ }> {
7
+ readonly code: "Aco/Folder/NotFound";
8
+ constructor(id: string);
9
+ }
10
+ export declare class FolderNotAuthorizedError extends BaseError {
11
+ readonly code: "Aco/Folder/NotAuthorizedError";
12
+ constructor();
13
+ }
14
+ export declare class FolderPersistenceError extends BaseError {
15
+ readonly code: "Aco/Folder/PersistenceError";
16
+ constructor(error: Error);
17
+ }
18
+ export declare class FolderValidationError extends BaseError {
19
+ readonly code: "Aco/Folder/ValidationError";
20
+ constructor(message: string);
21
+ }
22
+ export declare class FolderCannotMoveToNewParent extends BaseError {
23
+ readonly code: "Aco/Folder/CannotMoveToNewParent";
24
+ constructor();
25
+ }
26
+ export declare class FolderNotEmptyError extends BaseError {
27
+ readonly code: "Aco/Folder/NotEmpty";
28
+ constructor();
29
+ }