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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/constants.js +2 -1
  2. package/constants.js.map +1 -1
  3. package/createAcoContext.d.ts +1 -1
  4. package/createAcoContext.js +75 -107
  5. package/createAcoContext.js.map +1 -1
  6. package/createAcoGraphQL.js +43 -44
  7. package/createAcoGraphQL.js.map +1 -1
  8. package/createAcoStorageOperations.js +5 -6
  9. package/createAcoStorageOperations.js.map +1 -1
  10. package/createAcoTasks.js +7 -8
  11. package/createAcoTasks.js.map +1 -1
  12. package/domain/folder/abstractions.js +2 -5
  13. package/domain/folder/abstractions.js.map +1 -1
  14. package/domain/folder/errors.js +42 -47
  15. package/domain/folder/errors.js.map +1 -1
  16. package/domain/folder/folder.model.js +52 -33
  17. package/domain/folder/folder.model.js.map +1 -1
  18. package/exports/api/aco/flp.d.ts +6 -0
  19. package/exports/api/aco/flp.js +6 -0
  20. package/exports/api/aco/folder.d.ts +10 -0
  21. package/exports/api/aco/folder.js +10 -0
  22. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js +27 -31
  23. package/features/cms/decorators/CreateEntryRevisionFromWithFlpDecorator.js.map +1 -1
  24. package/features/cms/decorators/CreateEntryWithFlpDecorator.js +22 -25
  25. package/features/cms/decorators/CreateEntryWithFlpDecorator.js.map +1 -1
  26. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js +27 -31
  27. package/features/cms/decorators/DeleteEntryRevisionWithFlpDecorator.js.map +1 -1
  28. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js +29 -33
  29. package/features/cms/decorators/DeleteEntryWithFlpDecorator.js.map +1 -1
  30. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js +25 -30
  31. package/features/cms/decorators/GetEntryByIdWithFlpDecorator.js.map +1 -1
  32. package/features/cms/decorators/GetEntryWithFlpDecorator.js +25 -30
  33. package/features/cms/decorators/GetEntryWithFlpDecorator.js.map +1 -1
  34. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js +31 -35
  35. package/features/cms/decorators/GetLatestEntriesByIdsWithFlpDecorator.js.map +1 -1
  36. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js +31 -34
  37. package/features/cms/decorators/GetPublishedEntriesByIdsWithFlpDecorator.js.map +1 -1
  38. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js +27 -28
  39. package/features/cms/decorators/ListDeletedEntriesWithFlpDecorator.js.map +1 -1
  40. package/features/cms/decorators/ListEntriesWithFlpDecorator.js +27 -27
  41. package/features/cms/decorators/ListEntriesWithFlpDecorator.js.map +1 -1
  42. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js +27 -28
  43. package/features/cms/decorators/ListLatestEntriesWithFlpDecorator.js.map +1 -1
  44. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js +27 -28
  45. package/features/cms/decorators/ListPublishedEntriesWithFlpDecorator.js.map +1 -1
  46. package/features/cms/decorators/MoveEntryWithFlpDecorator.js +37 -51
  47. package/features/cms/decorators/MoveEntryWithFlpDecorator.js.map +1 -1
  48. package/features/cms/decorators/UpdateEntryWithFlpDecorator.d.ts +1 -2
  49. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js +27 -31
  50. package/features/cms/decorators/UpdateEntryWithFlpDecorator.js.map +1 -1
  51. package/features/cms/feature.d.ts +4 -1
  52. package/features/cms/feature.js +19 -25
  53. package/features/cms/feature.js.map +1 -1
  54. package/features/cms/index.js +0 -2
  55. package/features/flp/CreateFlp/CreateFlpUseCase.js +26 -33
  56. package/features/flp/CreateFlp/CreateFlpUseCase.js.map +1 -1
  57. package/features/flp/CreateFlp/abstractions.d.ts +1 -0
  58. package/features/flp/CreateFlp/abstractions.js +2 -4
  59. package/features/flp/CreateFlp/abstractions.js.map +1 -1
  60. package/features/flp/CreateFlp/feature.d.ts +5 -1
  61. package/features/flp/CreateFlp/feature.js +7 -8
  62. package/features/flp/CreateFlp/feature.js.map +1 -1
  63. package/features/flp/CreateFlp/index.js +0 -2
  64. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.d.ts +3 -3
  65. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js +28 -28
  66. package/features/flp/CreateFlpOnFolderCreated/CreateFlpOnFolderCreatedHandler.js.map +1 -1
  67. package/features/flp/CreateFlpOnFolderCreated/feature.d.ts +4 -1
  68. package/features/flp/CreateFlpOnFolderCreated/feature.js +6 -5
  69. package/features/flp/CreateFlpOnFolderCreated/feature.js.map +1 -1
  70. package/features/flp/CreateFlpOnFolderCreated/index.js +0 -2
  71. package/features/flp/DeleteFlp/DeleteFlpUseCase.js +17 -18
  72. package/features/flp/DeleteFlp/DeleteFlpUseCase.js.map +1 -1
  73. package/features/flp/DeleteFlp/abstractions.d.ts +1 -0
  74. package/features/flp/DeleteFlp/abstractions.js +2 -4
  75. package/features/flp/DeleteFlp/abstractions.js.map +1 -1
  76. package/features/flp/DeleteFlp/feature.d.ts +5 -1
  77. package/features/flp/DeleteFlp/feature.js +7 -8
  78. package/features/flp/DeleteFlp/feature.js.map +1 -1
  79. package/features/flp/DeleteFlp/index.js +0 -2
  80. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.d.ts +3 -3
  81. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js +28 -28
  82. package/features/flp/DeleteFlpOnFolderDeleted/DeleteFlpOnFolderDeletedHandler.js.map +1 -1
  83. package/features/flp/DeleteFlpOnFolderDeleted/feature.d.ts +4 -1
  84. package/features/flp/DeleteFlpOnFolderDeleted/feature.js +6 -5
  85. package/features/flp/DeleteFlpOnFolderDeleted/feature.js.map +1 -1
  86. package/features/flp/DeleteFlpOnFolderDeleted/index.js +0 -2
  87. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.d.ts +3 -3
  88. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js +90 -111
  89. package/features/flp/FolderLevelPermissions/FolderLevelPermissions.js.map +1 -1
  90. package/features/flp/FolderLevelPermissions/abstractions.d.ts +1 -0
  91. package/features/flp/FolderLevelPermissions/abstractions.js +2 -1
  92. package/features/flp/FolderLevelPermissions/abstractions.js.map +1 -1
  93. package/features/flp/FolderLevelPermissions/feature.d.ts +5 -1
  94. package/features/flp/FolderLevelPermissions/feature.js +6 -5
  95. package/features/flp/FolderLevelPermissions/feature.js.map +1 -1
  96. package/features/flp/FolderLevelPermissions/index.js +0 -2
  97. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +1 -1
  98. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +14 -36
  99. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -1
  100. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +0 -3
  101. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +0 -2
  102. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +1 -1
  103. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +12 -29
  104. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -1
  105. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +0 -3
  106. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +0 -2
  107. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +5 -4
  108. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -1
  109. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +0 -3
  110. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +0 -2
  111. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +5 -4
  112. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -1
  113. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +0 -3
  114. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +0 -2
  115. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +43 -66
  116. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -1
  117. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +1 -1
  118. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +10 -9
  119. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -1
  120. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +2 -2
  121. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +22 -33
  122. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -1
  123. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +0 -3
  124. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +0 -2
  125. package/features/flp/FolderLevelPermissions/useCases/index.js +0 -2
  126. package/features/flp/GetFlp/GetFlpUseCase.js +8 -7
  127. package/features/flp/GetFlp/GetFlpUseCase.js.map +1 -1
  128. package/features/flp/GetFlp/abstractions.d.ts +1 -0
  129. package/features/flp/GetFlp/abstractions.js +2 -1
  130. package/features/flp/GetFlp/abstractions.js.map +1 -1
  131. package/features/flp/GetFlp/feature.d.ts +4 -1
  132. package/features/flp/GetFlp/feature.js +7 -8
  133. package/features/flp/GetFlp/feature.js.map +1 -1
  134. package/features/flp/GetFlp/index.js +0 -2
  135. package/features/flp/ListFlps/ListFlpsUseCase.js +8 -7
  136. package/features/flp/ListFlps/ListFlpsUseCase.js.map +1 -1
  137. package/features/flp/ListFlps/abstractions.d.ts +1 -0
  138. package/features/flp/ListFlps/abstractions.js +2 -1
  139. package/features/flp/ListFlps/abstractions.js.map +1 -1
  140. package/features/flp/ListFlps/feature.d.ts +4 -1
  141. package/features/flp/ListFlps/feature.js +7 -8
  142. package/features/flp/ListFlps/feature.js.map +1 -1
  143. package/features/flp/ListFlps/index.js +0 -2
  144. package/features/flp/UpdateFlp/UpdateFlpUseCase.js +133 -184
  145. package/features/flp/UpdateFlp/UpdateFlpUseCase.js.map +1 -1
  146. package/features/flp/UpdateFlp/abstractions.d.ts +1 -0
  147. package/features/flp/UpdateFlp/abstractions.js +2 -4
  148. package/features/flp/UpdateFlp/abstractions.js.map +1 -1
  149. package/features/flp/UpdateFlp/feature.d.ts +5 -1
  150. package/features/flp/UpdateFlp/feature.js +7 -8
  151. package/features/flp/UpdateFlp/feature.js.map +1 -1
  152. package/features/flp/UpdateFlp/index.js +0 -2
  153. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.d.ts +3 -3
  154. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js +30 -30
  155. package/features/flp/UpdateFlpOnFolderUpdated/UpdateFlpOnFolderUpdatedHandler.js.map +1 -1
  156. package/features/flp/UpdateFlpOnFolderUpdated/feature.d.ts +4 -1
  157. package/features/flp/UpdateFlpOnFolderUpdated/feature.js +6 -5
  158. package/features/flp/UpdateFlpOnFolderUpdated/feature.js.map +1 -1
  159. package/features/flp/UpdateFlpOnFolderUpdated/index.js +0 -2
  160. package/features/folder/CreateFolder/CreateFolderRepository.js +67 -90
  161. package/features/folder/CreateFolder/CreateFolderRepository.js.map +1 -1
  162. package/features/folder/CreateFolder/CreateFolderUseCase.d.ts +1 -1
  163. package/features/folder/CreateFolder/CreateFolderUseCase.js +28 -31
  164. package/features/folder/CreateFolder/CreateFolderUseCase.js.map +1 -1
  165. package/features/folder/CreateFolder/abstractions.d.ts +9 -5
  166. package/features/folder/CreateFolder/abstractions.js +5 -18
  167. package/features/folder/CreateFolder/abstractions.js.map +1 -1
  168. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js +29 -34
  169. package/features/folder/CreateFolder/decorators/CreateFolderWithFolderLevelPermissions.js.map +1 -1
  170. package/features/folder/CreateFolder/events.d.ts +3 -3
  171. package/features/folder/CreateFolder/events.js +17 -15
  172. package/features/folder/CreateFolder/events.js.map +1 -1
  173. package/features/folder/CreateFolder/feature.d.ts +5 -1
  174. package/features/folder/CreateFolder/feature.js +8 -7
  175. package/features/folder/CreateFolder/feature.js.map +1 -1
  176. package/features/folder/CreateFolder/index.d.ts +1 -1
  177. package/features/folder/CreateFolder/index.js +1 -3
  178. package/features/folder/DeleteFolder/DeleteFolderRepository.js +22 -20
  179. package/features/folder/DeleteFolder/DeleteFolderRepository.js.map +1 -1
  180. package/features/folder/DeleteFolder/DeleteFolderUseCase.d.ts +1 -1
  181. package/features/folder/DeleteFolder/DeleteFolderUseCase.js +36 -44
  182. package/features/folder/DeleteFolder/DeleteFolderUseCase.js.map +1 -1
  183. package/features/folder/DeleteFolder/abstractions.d.ts +9 -5
  184. package/features/folder/DeleteFolder/abstractions.js +5 -18
  185. package/features/folder/DeleteFolder/abstractions.js.map +1 -1
  186. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js +21 -20
  187. package/features/folder/DeleteFolder/decorators/DeleteFolderWithFolderLevelPermissions.js.map +1 -1
  188. package/features/folder/DeleteFolder/events.d.ts +3 -3
  189. package/features/folder/DeleteFolder/events.js +17 -15
  190. package/features/folder/DeleteFolder/events.js.map +1 -1
  191. package/features/folder/DeleteFolder/feature.d.ts +5 -1
  192. package/features/folder/DeleteFolder/feature.js +8 -7
  193. package/features/folder/DeleteFolder/feature.js.map +1 -1
  194. package/features/folder/DeleteFolder/index.d.ts +1 -1
  195. package/features/folder/DeleteFolder/index.js +1 -3
  196. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js +43 -44
  197. package/features/folder/EnsureFolderIsEmpty/EnsureFolderIsEmpty.js.map +1 -1
  198. package/features/folder/EnsureFolderIsEmpty/abstractions.d.ts +1 -0
  199. package/features/folder/EnsureFolderIsEmpty/abstractions.js +2 -1
  200. package/features/folder/EnsureFolderIsEmpty/abstractions.js.map +1 -1
  201. package/features/folder/EnsureFolderIsEmpty/feature.d.ts +4 -1
  202. package/features/folder/EnsureFolderIsEmpty/feature.js +6 -5
  203. package/features/folder/EnsureFolderIsEmpty/feature.js.map +1 -1
  204. package/features/folder/EnsureFolderIsEmpty/index.js +0 -2
  205. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.d.ts +3 -3
  206. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js +17 -21
  207. package/features/folder/EnsureFolderIsEmptyOnDelete/GenericFolderBeforeDeleteHandler.js.map +1 -1
  208. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.d.ts +4 -1
  209. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js +6 -12
  210. package/features/folder/EnsureFolderIsEmptyOnDelete/feature.js.map +1 -1
  211. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js +0 -2
  212. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.d.ts +3 -3
  213. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js +37 -45
  214. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/ModelFolderBeforeDeleteHandler.js.map +1 -1
  215. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.d.ts +4 -1
  216. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js +6 -5
  217. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/feature.js.map +1 -1
  218. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js +0 -2
  219. package/features/folder/GetAncestors/GetAncestorsRepository.js +45 -75
  220. package/features/folder/GetAncestors/GetAncestorsRepository.js.map +1 -1
  221. package/features/folder/GetAncestors/GetAncestorsUseCase.js +14 -11
  222. package/features/folder/GetAncestors/GetAncestorsUseCase.js.map +1 -1
  223. package/features/folder/GetAncestors/abstractions.d.ts +2 -0
  224. package/features/folder/GetAncestors/abstractions.js +3 -12
  225. package/features/folder/GetAncestors/abstractions.js.map +1 -1
  226. package/features/folder/GetAncestors/feature.d.ts +5 -1
  227. package/features/folder/GetAncestors/feature.js +7 -6
  228. package/features/folder/GetAncestors/feature.js.map +1 -1
  229. package/features/folder/GetAncestors/index.js +0 -2
  230. package/features/folder/GetFolder/GetFolderRepository.js +21 -19
  231. package/features/folder/GetFolder/GetFolderRepository.js.map +1 -1
  232. package/features/folder/GetFolder/GetFolderUseCase.js +14 -11
  233. package/features/folder/GetFolder/GetFolderUseCase.js.map +1 -1
  234. package/features/folder/GetFolder/abstractions.d.ts +8 -5
  235. package/features/folder/GetFolder/abstractions.js +5 -18
  236. package/features/folder/GetFolder/abstractions.js.map +1 -1
  237. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js +23 -26
  238. package/features/folder/GetFolder/decorators/GetFolderWithFolderLevelPermissions.js.map +1 -1
  239. package/features/folder/GetFolder/feature.d.ts +5 -1
  240. package/features/folder/GetFolder/feature.js +8 -7
  241. package/features/folder/GetFolder/feature.js.map +1 -1
  242. package/features/folder/GetFolder/index.d.ts +1 -1
  243. package/features/folder/GetFolder/index.js +1 -3
  244. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js +67 -86
  245. package/features/folder/GetFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  246. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js +14 -11
  247. package/features/folder/GetFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  248. package/features/folder/GetFolderHierarchy/abstractions.d.ts +2 -0
  249. package/features/folder/GetFolderHierarchy/abstractions.js +3 -12
  250. package/features/folder/GetFolderHierarchy/abstractions.js.map +1 -1
  251. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js +55 -56
  252. package/features/folder/GetFolderHierarchy/decorators/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -1
  253. package/features/folder/GetFolderHierarchy/feature.d.ts +5 -1
  254. package/features/folder/GetFolderHierarchy/feature.js +8 -7
  255. package/features/folder/GetFolderHierarchy/feature.js.map +1 -1
  256. package/features/folder/GetFolderHierarchy/index.js +0 -2
  257. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.d.ts +2 -2
  258. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js +67 -60
  259. package/features/folder/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargetsUseCase.js.map +1 -1
  260. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.d.ts +1 -0
  261. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js +2 -4
  262. package/features/folder/ListFolderLevelPermissionsTargets/abstractions.js.map +1 -1
  263. package/features/folder/ListFolderLevelPermissionsTargets/feature.d.ts +4 -1
  264. package/features/folder/ListFolderLevelPermissionsTargets/feature.js +6 -5
  265. package/features/folder/ListFolderLevelPermissionsTargets/feature.js.map +1 -1
  266. package/features/folder/ListFolderLevelPermissionsTargets/index.js +0 -2
  267. package/features/folder/ListFolders/ListFoldersRepository.js +39 -41
  268. package/features/folder/ListFolders/ListFoldersRepository.js.map +1 -1
  269. package/features/folder/ListFolders/ListFoldersUseCase.js +14 -11
  270. package/features/folder/ListFolders/ListFoldersUseCase.js.map +1 -1
  271. package/features/folder/ListFolders/abstractions.d.ts +2 -0
  272. package/features/folder/ListFolders/abstractions.js +3 -12
  273. package/features/folder/ListFolders/abstractions.js.map +1 -1
  274. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js +55 -67
  275. package/features/folder/ListFolders/decorators/ListFoldersWithFolderLevelPermissions.js.map +1 -1
  276. package/features/folder/ListFolders/feature.d.ts +5 -1
  277. package/features/folder/ListFolders/feature.js +8 -7
  278. package/features/folder/ListFolders/feature.js.map +1 -1
  279. package/features/folder/ListFolders/index.js +0 -2
  280. package/features/folder/UpdateFolder/UpdateFolderRepository.js +66 -92
  281. package/features/folder/UpdateFolder/UpdateFolderRepository.js.map +1 -1
  282. package/features/folder/UpdateFolder/UpdateFolderUseCase.d.ts +1 -1
  283. package/features/folder/UpdateFolder/UpdateFolderUseCase.js +39 -46
  284. package/features/folder/UpdateFolder/UpdateFolderUseCase.js.map +1 -1
  285. package/features/folder/UpdateFolder/abstractions.d.ts +9 -5
  286. package/features/folder/UpdateFolder/abstractions.js +5 -18
  287. package/features/folder/UpdateFolder/abstractions.js.map +1 -1
  288. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js +45 -64
  289. package/features/folder/UpdateFolder/decorators/UpdateFolderWithFolderLevelPermissions.js.map +1 -1
  290. package/features/folder/UpdateFolder/events.d.ts +3 -3
  291. package/features/folder/UpdateFolder/events.js +17 -15
  292. package/features/folder/UpdateFolder/events.js.map +1 -1
  293. package/features/folder/UpdateFolder/feature.d.ts +5 -1
  294. package/features/folder/UpdateFolder/feature.js +8 -7
  295. package/features/folder/UpdateFolder/feature.js.map +1 -1
  296. package/features/folder/UpdateFolder/index.d.ts +1 -1
  297. package/features/folder/UpdateFolder/index.js +1 -3
  298. package/features/folder/shared/EntryToFolderMapper.js +20 -19
  299. package/features/folder/shared/EntryToFolderMapper.js.map +1 -1
  300. package/features/folder/shared/abstractions.d.ts +1 -0
  301. package/features/folder/shared/abstractions.js +2 -1
  302. package/features/folder/shared/abstractions.js.map +1 -1
  303. package/filter/filter.crud.js +28 -31
  304. package/filter/filter.crud.js.map +1 -1
  305. package/filter/filter.gql.js +32 -48
  306. package/filter/filter.gql.js.map +1 -1
  307. package/filter/filter.model.js +44 -32
  308. package/filter/filter.model.js.map +1 -1
  309. package/filter/filter.so.js +73 -93
  310. package/filter/filter.so.js.map +1 -1
  311. package/filter/filter.types.js +5 -4
  312. package/filter/filter.types.js.map +1 -1
  313. package/flp/flp.crud.js +69 -86
  314. package/flp/flp.crud.js.map +1 -1
  315. package/flp/flp.so.js +162 -199
  316. package/flp/flp.so.js.map +1 -1
  317. package/flp/flp.types.js +0 -3
  318. package/flp/index.js +0 -2
  319. package/flp/tasks/createFlp.task.d.ts +6 -4
  320. package/flp/tasks/createFlp.task.js +27 -26
  321. package/flp/tasks/createFlp.task.js.map +1 -1
  322. package/flp/tasks/deleteFlp.task.d.ts +6 -4
  323. package/flp/tasks/deleteFlp.task.js +27 -26
  324. package/flp/tasks/deleteFlp.task.js.map +1 -1
  325. package/flp/tasks/index.js +13 -12
  326. package/flp/tasks/index.js.map +1 -1
  327. package/flp/tasks/syncFlp.task.d.ts +6 -4
  328. package/flp/tasks/syncFlp.task.js +84 -111
  329. package/flp/tasks/syncFlp.task.js.map +1 -1
  330. package/flp/tasks/updateFlp.task.d.ts +6 -4
  331. package/flp/tasks/updateFlp.task.js +34 -31
  332. package/flp/tasks/updateFlp.task.js.map +1 -1
  333. package/folder/createFolderModelModifier.js +50 -50
  334. package/folder/createFolderModelModifier.js.map +1 -1
  335. package/folder/createFolderTypeDefs.d.ts +3 -2
  336. package/folder/createFolderTypeDefs.js +39 -50
  337. package/folder/createFolderTypeDefs.js.map +1 -1
  338. package/folder/folder.gql.js +100 -133
  339. package/folder/folder.gql.js.map +1 -1
  340. package/folder/folder.types.js +0 -3
  341. package/index.d.ts +1 -1
  342. package/index.js +7 -4
  343. package/index.js.map +1 -1
  344. package/package.json +31 -41
  345. package/types.js +5 -4
  346. package/types.js.map +1 -1
  347. package/utils/FoldersCacheFactory.js +20 -19
  348. package/utils/FoldersCacheFactory.js.map +1 -1
  349. package/utils/ListCache.js +20 -19
  350. package/utils/ListCache.js.map +1 -1
  351. package/utils/Path.js +5 -6
  352. package/utils/Path.js.map +1 -1
  353. package/utils/compress.js +8 -7
  354. package/utils/compress.js.map +1 -1
  355. package/utils/createListSort.js +4 -7
  356. package/utils/createListSort.js.map +1 -1
  357. package/utils/createOperationsWrapper.js +12 -19
  358. package/utils/createOperationsWrapper.js.map +1 -1
  359. package/utils/decorators/CmsEntriesCrudDecorators.js +165 -196
  360. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  361. package/utils/decorators/FilterEntriesByFolderFactory.js +18 -19
  362. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -1
  363. package/utils/decorators/ListEntriesFactory.js +65 -98
  364. package/utils/decorators/ListEntriesFactory.js.map +1 -1
  365. package/utils/decorators/hasRootFolderId.js +6 -12
  366. package/utils/decorators/hasRootFolderId.js.map +1 -1
  367. package/utils/decorators/isPageModel.js +5 -10
  368. package/utils/decorators/isPageModel.js.map +1 -1
  369. package/utils/ensureAuthentication.js +6 -7
  370. package/utils/ensureAuthentication.js.map +1 -1
  371. package/utils/pickEntryFieldValues.js +24 -18
  372. package/utils/pickEntryFieldValues.js.map +1 -1
  373. package/utils/resolve.js +7 -6
  374. package/utils/resolve.js.map +1 -1
  375. package/features/cms/index.js.map +0 -1
  376. package/features/flp/CreateFlp/index.js.map +0 -1
  377. package/features/flp/CreateFlpOnFolderCreated/index.js.map +0 -1
  378. package/features/flp/DeleteFlp/index.js.map +0 -1
  379. package/features/flp/DeleteFlpOnFolderDeleted/index.js.map +0 -1
  380. package/features/flp/FolderLevelPermissions/index.js.map +0 -1
  381. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +0 -1
  382. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +0 -1
  383. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +0 -1
  384. package/features/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +0 -1
  385. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +0 -1
  386. package/features/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +0 -1
  387. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +0 -1
  388. package/features/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +0 -1
  389. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +0 -1
  390. package/features/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +0 -1
  391. package/features/flp/FolderLevelPermissions/useCases/index.js.map +0 -1
  392. package/features/flp/GetFlp/index.js.map +0 -1
  393. package/features/flp/ListFlps/index.js.map +0 -1
  394. package/features/flp/UpdateFlp/index.js.map +0 -1
  395. package/features/flp/UpdateFlpOnFolderUpdated/index.js.map +0 -1
  396. package/features/folder/CreateFolder/index.js.map +0 -1
  397. package/features/folder/DeleteFolder/index.js.map +0 -1
  398. package/features/folder/EnsureFolderIsEmpty/index.js.map +0 -1
  399. package/features/folder/EnsureFolderIsEmptyOnDelete/index.js.map +0 -1
  400. package/features/folder/EnsureHcmsFolderIsEmptyOnDelete/index.js.map +0 -1
  401. package/features/folder/GetAncestors/index.js.map +0 -1
  402. package/features/folder/GetFolder/index.js.map +0 -1
  403. package/features/folder/GetFolderHierarchy/index.js.map +0 -1
  404. package/features/folder/ListFolderLevelPermissionsTargets/index.js.map +0 -1
  405. package/features/folder/ListFolders/index.js.map +0 -1
  406. package/features/folder/UpdateFolder/index.js.map +0 -1
  407. package/flp/flp.types.js.map +0 -1
  408. package/flp/index.js.map +0 -1
  409. package/folder/folder.types.js.map +0 -1
  410. package/utils/acoRecordId.d.ts +0 -6
  411. package/utils/acoRecordId.js +0 -27
  412. package/utils/acoRecordId.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["TaskDefinition","DELETE_FLP_TASK_ID","DeleteFlpUseCase","DeleteFlpTaskImpl","id","title","description","disableDatabaseLogs","constructor","deleteFlp","run","input","controller","runtime","isAborted","response","aborted","isCloseToTimeout","continue","execute","folder","done","error","DeleteFlpTask","createImplementation","implementation","dependencies"],"sources":["deleteFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { DELETE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type IDeleteFlpTaskInput } from \"~/types.js\";\nimport { DeleteFlpUseCase } from \"~/features/flp/DeleteFlp/index.js\";\n\nclass DeleteFlpTaskImpl implements TaskDefinition.Interface<IDeleteFlpTaskInput> {\n id = DELETE_FLP_TASK_ID;\n title = \"ACO - Delete FLP record\";\n description =\n \"Synchronizes the FLP catalog by deleting the FLP record based on the provided folder.\";\n disableDatabaseLogs = true;\n\n constructor(private deleteFlp: DeleteFlpUseCase.Interface) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<IDeleteFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue(input);\n }\n\n await this.deleteFlp.execute(input.folder);\n\n return controller.response.done(\"Task done: FLP record deleted.\");\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const DeleteFlpTask = TaskDefinition.createImplementation({\n implementation: DeleteFlpTaskImpl,\n dependencies: [DeleteFlpUseCase]\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,kBAAkB;AAE3B,SAASC,gBAAgB;AAEzB,MAAMC,iBAAiB,CAA0D;EAC7EC,EAAE,GAAGH,kBAAkB;EACvBI,KAAK,GAAG,yBAAyB;EACjCC,WAAW,GACP,uFAAuF;EAC3FC,mBAAmB,GAAG,IAAI;EAE1BC,WAAWA,CAASC,SAAqC,EAAE;IAAA,KAAvCA,SAAqC,GAArCA,SAAqC;EAAG;EAE5D,MAAMC,GAAGA,CAAC;IAAEC,KAAK;IAAEC;EAA0D,CAAC,EAAE;IAC5E,IAAI;MACA,IAAIA,UAAU,CAACC,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE;QAChC,OAAOF,UAAU,CAACG,QAAQ,CAACC,OAAO,CAAC,CAAC;MACxC;MAEA,IAAIJ,UAAU,CAACC,OAAO,CAACI,gBAAgB,CAAC,CAAC,EAAE;QACvC,OAAOL,UAAU,CAACG,QAAQ,CAACG,QAAQ,CAACP,KAAK,CAAC;MAC9C;MAEA,MAAM,IAAI,CAACF,SAAS,CAACU,OAAO,CAACR,KAAK,CAACS,MAAM,CAAC;MAE1C,OAAOR,UAAU,CAACG,QAAQ,CAACM,IAAI,CAAC,gCAAgC,CAAC;IACrE,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,OAAOV,UAAU,CAACG,QAAQ,CAACO,KAAK,CAACA,KAAK,CAAC;IAC3C;EACJ;AACJ;AAEA,OAAO,MAAMC,aAAa,GAAGvB,cAAc,CAACwB,oBAAoB,CAAC;EAC7DC,cAAc,EAAEtB,iBAAiB;EACjCuB,YAAY,EAAE,CAACxB,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"flp/tasks/deleteFlp.task.js","sources":["../../../src/flp/tasks/deleteFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { DELETE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type IDeleteFlpTaskInput } from \"~/types.js\";\nimport { DeleteFlpUseCase } from \"~/features/flp/DeleteFlp/index.js\";\n\nclass DeleteFlpTaskImpl implements TaskDefinition.Interface<IDeleteFlpTaskInput> {\n public readonly id = DELETE_FLP_TASK_ID;\n public readonly title = \"ACO - Delete FLP record\";\n public readonly description =\n \"Synchronizes the FLP catalog by deleting the FLP record based on the provided folder.\";\n public readonly databaseLogs = false;\n public readonly isPrivate = true;\n public readonly selfCleanup = [\"onSuccess\" as const, \"onAbort\" as const];\n\n constructor(private deleteFlp: DeleteFlpUseCase.Interface) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<IDeleteFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue(input);\n }\n\n await this.deleteFlp.execute(input.folder);\n\n return controller.response.done(\"Task done: FLP record deleted.\");\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const DeleteFlpTask = TaskDefinition.createImplementation({\n implementation: DeleteFlpTaskImpl,\n dependencies: [DeleteFlpUseCase]\n});\n"],"names":["DeleteFlpTaskImpl","deleteFlp","DELETE_FLP_TASK_ID","input","controller","error","DeleteFlpTask","TaskDefinition","DeleteFlpUseCase"],"mappings":";;;AAKA,MAAMA;IASF,YAAoBC,SAAqC,CAAE;aAAvCA,SAAS,GAATA;aARJ,EAAE,GAAGC;aACL,KAAK,GAAG;aACR,WAAW,GACvB;aACY,YAAY,GAAG;aACf,SAAS,GAAG;aACZ,WAAW,GAAG;YAAC;YAAsB;SAAmB;IAEZ;IAE5D,MAAM,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAiD,EAAE;QAC5E,IAAI;YACA,IAAIA,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAGtC,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IACnC,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAACD;YAGxC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA,MAAM,MAAM;YAEzC,OAAOC,WAAW,QAAQ,CAAC,IAAI,CAAC;QACpC,EAAE,OAAOC,OAAO;YACZ,OAAOD,WAAW,QAAQ,CAAC,KAAK,CAACC;QACrC;IACJ;AACJ;AAEO,MAAMC,gBAAgBC,eAAe,oBAAoB,CAAC;IAC7D,gBAAgBP;IAChB,cAAc;QAACQ;KAAiB;AACpC"}
@@ -3,17 +3,18 @@ import { UpdateFlpTask } from "./updateFlp.task.js";
3
3
  import { DeleteFlpTask } from "./deleteFlp.task.js";
4
4
  import { SyncFlpTask } from "./syncFlp.task.js";
5
5
  import { createContextPlugin } from "@webiny/api";
6
- export const CREATE_FLP_TASK_ID = "acoCreateFlp";
7
- export const DELETE_FLP_TASK_ID = "acoDeleteFlp";
8
- export const UPDATE_FLP_TASK_ID = "acoUpdateFlp";
9
- export const SYNC_FLP_TASK_ID = "acoSyncFlp";
10
- export const flpTasks = () => {
11
- return [createContextPlugin(context => {
12
- context.container.register(CreateFlpTask);
13
- context.container.register(UpdateFlpTask);
14
- context.container.register(DeleteFlpTask);
15
- context.container.register(SyncFlpTask);
16
- })];
17
- };
6
+ const CREATE_FLP_TASK_ID = "acoCreateFlp";
7
+ const DELETE_FLP_TASK_ID = "acoDeleteFlp";
8
+ const UPDATE_FLP_TASK_ID = "acoUpdateFlp";
9
+ const SYNC_FLP_TASK_ID = "acoSyncFlp";
10
+ const flpTasks = ()=>[
11
+ createContextPlugin((context)=>{
12
+ context.container.register(CreateFlpTask);
13
+ context.container.register(UpdateFlpTask);
14
+ context.container.register(DeleteFlpTask);
15
+ context.container.register(SyncFlpTask);
16
+ })
17
+ ];
18
+ export { CREATE_FLP_TASK_ID, DELETE_FLP_TASK_ID, SYNC_FLP_TASK_ID, UPDATE_FLP_TASK_ID, flpTasks };
18
19
 
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CreateFlpTask","UpdateFlpTask","DeleteFlpTask","SyncFlpTask","createContextPlugin","CREATE_FLP_TASK_ID","DELETE_FLP_TASK_ID","UPDATE_FLP_TASK_ID","SYNC_FLP_TASK_ID","flpTasks","context","container","register"],"sources":["index.ts"],"sourcesContent":["import { CreateFlpTask } from \"./createFlp.task.js\";\nimport { UpdateFlpTask } from \"./updateFlp.task.js\";\nimport { DeleteFlpTask } from \"./deleteFlp.task.js\";\nimport { SyncFlpTask } from \"./syncFlp.task.js\";\nimport { createContextPlugin } from \"@webiny/api\";\n\nexport const CREATE_FLP_TASK_ID = \"acoCreateFlp\";\nexport const DELETE_FLP_TASK_ID = \"acoDeleteFlp\";\nexport const UPDATE_FLP_TASK_ID = \"acoUpdateFlp\";\nexport const SYNC_FLP_TASK_ID = \"acoSyncFlp\";\n\nexport const flpTasks = () => {\n return [\n createContextPlugin(context => {\n context.container.register(CreateFlpTask);\n context.container.register(UpdateFlpTask);\n context.container.register(DeleteFlpTask);\n context.container.register(SyncFlpTask);\n })\n ];\n};\n"],"mappings":"AAAA,SAASA,aAAa;AACtB,SAASC,aAAa;AACtB,SAASC,aAAa;AACtB,SAASC,WAAW;AACpB,SAASC,mBAAmB,QAAQ,aAAa;AAEjD,OAAO,MAAMC,kBAAkB,GAAG,cAAc;AAChD,OAAO,MAAMC,kBAAkB,GAAG,cAAc;AAChD,OAAO,MAAMC,kBAAkB,GAAG,cAAc;AAChD,OAAO,MAAMC,gBAAgB,GAAG,YAAY;AAE5C,OAAO,MAAMC,QAAQ,GAAGA,CAAA,KAAM;EAC1B,OAAO,CACHL,mBAAmB,CAACM,OAAO,IAAI;IAC3BA,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACZ,aAAa,CAAC;IACzCU,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACX,aAAa,CAAC;IACzCS,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACV,aAAa,CAAC;IACzCQ,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACT,WAAW,CAAC;EAC3C,CAAC,CAAC,CACL;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"flp/tasks/index.js","sources":["../../../src/flp/tasks/index.ts"],"sourcesContent":["import { CreateFlpTask } from \"./createFlp.task.js\";\nimport { UpdateFlpTask } from \"./updateFlp.task.js\";\nimport { DeleteFlpTask } from \"./deleteFlp.task.js\";\nimport { SyncFlpTask } from \"./syncFlp.task.js\";\nimport { createContextPlugin } from \"@webiny/api\";\n\nexport const CREATE_FLP_TASK_ID = \"acoCreateFlp\";\nexport const DELETE_FLP_TASK_ID = \"acoDeleteFlp\";\nexport const UPDATE_FLP_TASK_ID = \"acoUpdateFlp\";\nexport const SYNC_FLP_TASK_ID = \"acoSyncFlp\";\n\nexport const flpTasks = () => {\n return [\n createContextPlugin(context => {\n context.container.register(CreateFlpTask);\n context.container.register(UpdateFlpTask);\n context.container.register(DeleteFlpTask);\n context.container.register(SyncFlpTask);\n })\n ];\n};\n"],"names":["CREATE_FLP_TASK_ID","DELETE_FLP_TASK_ID","UPDATE_FLP_TASK_ID","SYNC_FLP_TASK_ID","flpTasks","createContextPlugin","context","CreateFlpTask","UpdateFlpTask","DeleteFlpTask","SyncFlpTask"],"mappings":";;;;;AAMO,MAAMA,qBAAqB;AAC3B,MAAMC,qBAAqB;AAC3B,MAAMC,qBAAqB;AAC3B,MAAMC,mBAAmB;AAEzB,MAAMC,WAAW,IACb;QACHC,oBAAoBC,CAAAA;YAChBA,QAAQ,SAAS,CAAC,QAAQ,CAACC;YAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;YAC3BF,QAAQ,SAAS,CAAC,QAAQ,CAACG;YAC3BH,QAAQ,SAAS,CAAC,QAAQ,CAACI;QAC/B;KACH"}
@@ -7,10 +7,12 @@ declare class SyncFlpTaskImpl implements TaskDefinition.Interface<ISyncFlpTaskIn
7
7
  private getFolder;
8
8
  private listFolders;
9
9
  private listModels;
10
- id: string;
11
- title: string;
12
- description: string;
13
- disableDatabaseLogs: boolean;
10
+ readonly id = "acoSyncFlp";
11
+ readonly title = "ACO - Sync FLP record";
12
+ readonly description = "Synchronizes the FLP catalog by updating the FLP record and its descendants.";
13
+ readonly databaseLogs = false;
14
+ readonly isPrivate = true;
15
+ readonly selfCleanup: ("onSuccess" | "onAbort")[];
14
16
  constructor(getFolder: GetFolderUseCase.Interface, listFolders: ListFoldersUseCase.Interface, listModels: ListModelsUseCase.Interface);
15
17
  run({ input, controller }: TaskDefinition.RunParams<ISyncFlpTaskInput>): Promise<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultError | import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultAborted | TaskDefinition.ResultDone<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
16
18
  }
@@ -5,123 +5,96 @@ import { FM_FILE_TYPE } from "../../constants.js";
5
5
  import { GetFolderUseCase } from "../../features/folder/GetFolder/index.js";
6
6
  import { ListFoldersUseCase } from "../../features/folder/ListFolders/index.js";
7
7
  class SyncFlpTaskImpl {
8
- id = SYNC_FLP_TASK_ID;
9
- title = "ACO - Sync FLP record";
10
- description = "Synchronizes the FLP catalog by updating the FLP record and its descendants.";
11
- disableDatabaseLogs = true;
12
- constructor(getFolder, listFolders, listModels) {
13
- this.getFolder = getFolder;
14
- this.listFolders = listFolders;
15
- this.listModels = listModels;
16
- }
17
- async run({
18
- input,
19
- controller
20
- }) {
21
- try {
22
- if (controller.runtime.isAborted()) {
23
- return controller.response.aborted();
24
- }
25
-
26
- /**
27
- * `folderId` provided in the task input. We need to:
28
- *
29
- * - update the FLP records for the found folder and all its descendants.
30
- */
31
- if (input.folderId) {
32
- const result = await this.getFolder.execute(input.folderId);
33
- const folder = result.value;
34
- await controller.task.trigger({
35
- definition: UPDATE_FLP_TASK_ID,
36
- input: {
37
- folder
38
- }
39
- });
40
- return controller.response.done(`Task completed successfully: all FLP records for folderId "${input.folderId}" and its children have been queued to be synchronized.`);
41
- }
42
-
43
- /**
44
- * Full update required. We need to:
45
- *
46
- * - list cms models to collect their types, together with the default ones [FM_FILE_TYPE]
47
- * - list all root folders
48
- * - update the FLP records for the found folders and all its descendants.
49
- */
50
- if (input.type && input.type === "*") {
51
- // Some folder types are fixed: pages and files.
52
- const folderTypes = [FM_FILE_TYPE];
53
-
54
- // List all non-private models
55
- const modelsResult = await this.listModels.execute();
56
- if (modelsResult.isOk()) {
57
- const models = modelsResult.value;
58
- for (const model of models) {
59
- folderTypes.push(`cms:${model.modelId}`);
60
- }
61
- }
62
- for (const folderType of folderTypes) {
63
- const result = await this.listFolders.execute({
64
- where: {
65
- type: folderType,
66
- parentId: null
8
+ constructor(getFolder, listFolders, listModels){
9
+ this.getFolder = getFolder;
10
+ this.listFolders = listFolders;
11
+ this.listModels = listModels;
12
+ this.id = SYNC_FLP_TASK_ID;
13
+ this.title = "ACO - Sync FLP record";
14
+ this.description = "Synchronizes the FLP catalog by updating the FLP record and its descendants.";
15
+ this.databaseLogs = false;
16
+ this.isPrivate = true;
17
+ this.selfCleanup = [
18
+ "onSuccess",
19
+ "onAbort"
20
+ ];
21
+ }
22
+ async run({ input, controller }) {
23
+ try {
24
+ if (controller.runtime.isAborted()) return controller.response.aborted();
25
+ if (input.folderId) {
26
+ const result = await this.getFolder.execute(input.folderId);
27
+ const folder = result.value;
28
+ await controller.task.trigger({
29
+ definition: UPDATE_FLP_TASK_ID,
30
+ input: {
31
+ folder
32
+ }
33
+ });
34
+ return controller.response.done(`Task completed successfully: all FLP records for folderId "${input.folderId}" and its children have been queued to be synchronized.`);
67
35
  }
68
- });
69
- const {
70
- folders
71
- } = result.value;
72
- for (const folder of folders) {
73
- await controller.task.trigger({
74
- definition: UPDATE_FLP_TASK_ID,
75
- input: {
76
- folder
77
- }
78
- });
79
- }
80
- await controller.logger.info({
81
- message: `FLP Update task triggered for type ${folderType}`,
82
- data: {
83
- type: folderType
36
+ if (input.type && "*" === input.type) {
37
+ const folderTypes = [
38
+ FM_FILE_TYPE
39
+ ];
40
+ const modelsResult = await this.listModels.execute();
41
+ if (modelsResult.isOk()) {
42
+ const models = modelsResult.value;
43
+ for (const model of models)folderTypes.push(`cms:${model.modelId}`);
44
+ }
45
+ for (const folderType of folderTypes){
46
+ const result = await this.listFolders.execute({
47
+ where: {
48
+ type: folderType,
49
+ parentId: null
50
+ }
51
+ });
52
+ const { folders } = result.value;
53
+ for (const folder of folders)await controller.task.trigger({
54
+ definition: UPDATE_FLP_TASK_ID,
55
+ input: {
56
+ folder
57
+ }
58
+ });
59
+ await controller.logger.info({
60
+ message: `FLP Update task triggered for type ${folderType}`,
61
+ data: {
62
+ type: folderType
63
+ }
64
+ });
65
+ }
66
+ return controller.response.done("Task completed successfully: all FLP records have been queued to be synchronized.");
84
67
  }
85
- });
86
- }
87
- return controller.response.done(`Task completed successfully: all FLP records have been queued to be synchronized.`);
88
- }
89
-
90
- /**
91
- * `type` provided in the task input. We need to:
92
- *
93
- * - list all root folders for the provided type
94
- * - update the FLP records for the found folders and all its descendants.
95
- */
96
- if (input.type) {
97
- const result = await this.listFolders.execute({
98
- where: {
99
- type: input.type,
100
- parentId: null
101
- }
102
- });
103
- const {
104
- folders
105
- } = result.value;
106
- for (const folder of folders) {
107
- await controller.task.trigger({
108
- definition: UPDATE_FLP_TASK_ID,
109
- input: {
110
- folder
68
+ if (input.type) {
69
+ const result = await this.listFolders.execute({
70
+ where: {
71
+ type: input.type,
72
+ parentId: null
73
+ }
74
+ });
75
+ const { folders } = result.value;
76
+ for (const folder of folders)await controller.task.trigger({
77
+ definition: UPDATE_FLP_TASK_ID,
78
+ input: {
79
+ folder
80
+ }
81
+ });
82
+ return controller.response.done(`Task completed successfully: all FLP records for type "${input.type}" have been queued to be synchronized.`);
111
83
  }
112
- });
84
+ return controller.response.error("Invalid input: please provide either `type` or `folderId`.");
85
+ } catch (error) {
86
+ return controller.response.error(error);
113
87
  }
114
- return controller.response.done(`Task completed successfully: all FLP records for type "${input.type}" have been queued to be synchronized.`);
115
- }
116
- return controller.response.error("Invalid input: please provide either `type` or `folderId`.");
117
- } catch (error) {
118
- return controller.response.error(error);
119
88
  }
120
- }
121
89
  }
122
- export const SyncFlpTask = TaskDefinition.createImplementation({
123
- implementation: SyncFlpTaskImpl,
124
- dependencies: [GetFolderUseCase, ListFoldersUseCase, ListModelsUseCase]
90
+ const SyncFlpTask = TaskDefinition.createImplementation({
91
+ implementation: SyncFlpTaskImpl,
92
+ dependencies: [
93
+ GetFolderUseCase,
94
+ ListFoldersUseCase,
95
+ ListModelsUseCase
96
+ ]
125
97
  });
98
+ export { SyncFlpTask };
126
99
 
127
100
  //# sourceMappingURL=syncFlp.task.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TaskDefinition","ListModelsUseCase","SYNC_FLP_TASK_ID","UPDATE_FLP_TASK_ID","FM_FILE_TYPE","GetFolderUseCase","ListFoldersUseCase","SyncFlpTaskImpl","id","title","description","disableDatabaseLogs","constructor","getFolder","listFolders","listModels","run","input","controller","runtime","isAborted","response","aborted","folderId","result","execute","folder","value","task","trigger","definition","done","type","folderTypes","modelsResult","isOk","models","model","push","modelId","folderType","where","parentId","folders","logger","info","message","data","error","SyncFlpTask","createImplementation","implementation","dependencies"],"sources":["syncFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { SYNC_FLP_TASK_ID, UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type ISyncFlpTaskInput, type IUpdateFlpTaskInput } from \"~/types.js\";\nimport { FM_FILE_TYPE } from \"~/constants.js\";\nimport { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\n\nclass SyncFlpTaskImpl implements TaskDefinition.Interface<ISyncFlpTaskInput> {\n id = SYNC_FLP_TASK_ID;\n title = \"ACO - Sync FLP record\";\n description = \"Synchronizes the FLP catalog by updating the FLP record and its descendants.\";\n disableDatabaseLogs = true;\n\n constructor(\n private getFolder: GetFolderUseCase.Interface,\n private listFolders: ListFoldersUseCase.Interface,\n private listModels: ListModelsUseCase.Interface\n ) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<ISyncFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n /**\n * `folderId` provided in the task input. We need to:\n *\n * - update the FLP records for the found folder and all its descendants.\n */\n if (input.folderId) {\n const result = await this.getFolder.execute(input.folderId!);\n const folder = result.value;\n\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n\n return controller.response.done(\n `Task completed successfully: all FLP records for folderId \"${input.folderId}\" and its children have been queued to be synchronized.`\n );\n }\n\n /**\n * Full update required. We need to:\n *\n * - list cms models to collect their types, together with the default ones [FM_FILE_TYPE]\n * - list all root folders\n * - update the FLP records for the found folders and all its descendants.\n */\n if (input.type && input.type === \"*\") {\n // Some folder types are fixed: pages and files.\n const folderTypes = [FM_FILE_TYPE];\n\n // List all non-private models\n const modelsResult = await this.listModels.execute();\n if (modelsResult.isOk()) {\n const models = modelsResult.value;\n for (const model of models) {\n folderTypes.push(`cms:${model.modelId}`);\n }\n }\n\n for (const folderType of folderTypes) {\n const result = await this.listFolders.execute({\n where: {\n type: folderType,\n parentId: null\n }\n });\n\n const { folders } = result.value;\n\n for (const folder of folders) {\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n }\n\n await controller.logger.info({\n message: `FLP Update task triggered for type ${folderType}`,\n data: {\n type: folderType\n }\n });\n }\n\n return controller.response.done(\n `Task completed successfully: all FLP records have been queued to be synchronized.`\n );\n }\n\n /**\n * `type` provided in the task input. We need to:\n *\n * - list all root folders for the provided type\n * - update the FLP records for the found folders and all its descendants.\n */\n if (input.type) {\n const result = await this.listFolders.execute({\n where: {\n type: input.type!,\n parentId: null\n }\n });\n\n const { folders } = result.value;\n\n for (const folder of folders) {\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n }\n\n return controller.response.done(\n `Task completed successfully: all FLP records for type \"${input.type}\" have been queued to be synchronized.`\n );\n }\n\n return controller.response.error(\n \"Invalid input: please provide either `type` or `folderId`.\"\n );\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const SyncFlpTask = TaskDefinition.createImplementation({\n implementation: SyncFlpTaskImpl,\n dependencies: [GetFolderUseCase, ListFoldersUseCase, ListModelsUseCase]\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,iBAAiB,QAAQ,oEAAoE;AACtG,SAASC,gBAAgB,EAAEC,kBAAkB;AAE7C,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,kBAAkB;AAE3B,MAAMC,eAAe,CAAwD;EACzEC,EAAE,GAAGN,gBAAgB;EACrBO,KAAK,GAAG,uBAAuB;EAC/BC,WAAW,GAAG,8EAA8E;EAC5FC,mBAAmB,GAAG,IAAI;EAE1BC,WAAWA,CACCC,SAAqC,EACrCC,WAAyC,EACzCC,UAAuC,EACjD;IAAA,KAHUF,SAAqC,GAArCA,SAAqC;IAAA,KACrCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAAuC,GAAvCA,UAAuC;EAChD;EAEH,MAAMC,GAAGA,CAAC;IAAEC,KAAK;IAAEC;EAAwD,CAAC,EAAE;IAC1E,IAAI;MACA,IAAIA,UAAU,CAACC,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE;QAChC,OAAOF,UAAU,CAACG,QAAQ,CAACC,OAAO,CAAC,CAAC;MACxC;;MAEA;AACZ;AACA;AACA;AACA;MACY,IAAIL,KAAK,CAACM,QAAQ,EAAE;QAChB,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACX,SAAS,CAACY,OAAO,CAACR,KAAK,CAACM,QAAS,CAAC;QAC5D,MAAMG,MAAM,GAAGF,MAAM,CAACG,KAAK;QAE3B,MAAMT,UAAU,CAACU,IAAI,CAACC,OAAO,CAAsB;UAC/CC,UAAU,EAAE3B,kBAAkB;UAC9Bc,KAAK,EAAE;YACHS;UACJ;QACJ,CAAC,CAAC;QAEF,OAAOR,UAAU,CAACG,QAAQ,CAACU,IAAI,CAC3B,8DAA8Dd,KAAK,CAACM,QAAQ,yDAChF,CAAC;MACL;;MAEA;AACZ;AACA;AACA;AACA;AACA;AACA;MACY,IAAIN,KAAK,CAACe,IAAI,IAAIf,KAAK,CAACe,IAAI,KAAK,GAAG,EAAE;QAClC;QACA,MAAMC,WAAW,GAAG,CAAC7B,YAAY,CAAC;;QAElC;QACA,MAAM8B,YAAY,GAAG,MAAM,IAAI,CAACnB,UAAU,CAACU,OAAO,CAAC,CAAC;QACpD,IAAIS,YAAY,CAACC,IAAI,CAAC,CAAC,EAAE;UACrB,MAAMC,MAAM,GAAGF,YAAY,CAACP,KAAK;UACjC,KAAK,MAAMU,KAAK,IAAID,MAAM,EAAE;YACxBH,WAAW,CAACK,IAAI,CAAC,OAAOD,KAAK,CAACE,OAAO,EAAE,CAAC;UAC5C;QACJ;QAEA,KAAK,MAAMC,UAAU,IAAIP,WAAW,EAAE;UAClC,MAAMT,MAAM,GAAG,MAAM,IAAI,CAACV,WAAW,CAACW,OAAO,CAAC;YAC1CgB,KAAK,EAAE;cACHT,IAAI,EAAEQ,UAAU;cAChBE,QAAQ,EAAE;YACd;UACJ,CAAC,CAAC;UAEF,MAAM;YAAEC;UAAQ,CAAC,GAAGnB,MAAM,CAACG,KAAK;UAEhC,KAAK,MAAMD,MAAM,IAAIiB,OAAO,EAAE;YAC1B,MAAMzB,UAAU,CAACU,IAAI,CAACC,OAAO,CAAsB;cAC/CC,UAAU,EAAE3B,kBAAkB;cAC9Bc,KAAK,EAAE;gBACHS;cACJ;YACJ,CAAC,CAAC;UACN;UAEA,MAAMR,UAAU,CAAC0B,MAAM,CAACC,IAAI,CAAC;YACzBC,OAAO,EAAE,sCAAsCN,UAAU,EAAE;YAC3DO,IAAI,EAAE;cACFf,IAAI,EAAEQ;YACV;UACJ,CAAC,CAAC;QACN;QAEA,OAAOtB,UAAU,CAACG,QAAQ,CAACU,IAAI,CAC3B,mFACJ,CAAC;MACL;;MAEA;AACZ;AACA;AACA;AACA;AACA;MACY,IAAId,KAAK,CAACe,IAAI,EAAE;QACZ,MAAMR,MAAM,GAAG,MAAM,IAAI,CAACV,WAAW,CAACW,OAAO,CAAC;UAC1CgB,KAAK,EAAE;YACHT,IAAI,EAAEf,KAAK,CAACe,IAAK;YACjBU,QAAQ,EAAE;UACd;QACJ,CAAC,CAAC;QAEF,MAAM;UAAEC;QAAQ,CAAC,GAAGnB,MAAM,CAACG,KAAK;QAEhC,KAAK,MAAMD,MAAM,IAAIiB,OAAO,EAAE;UAC1B,MAAMzB,UAAU,CAACU,IAAI,CAACC,OAAO,CAAsB;YAC/CC,UAAU,EAAE3B,kBAAkB;YAC9Bc,KAAK,EAAE;cACHS;YACJ;UACJ,CAAC,CAAC;QACN;QAEA,OAAOR,UAAU,CAACG,QAAQ,CAACU,IAAI,CAC3B,0DAA0Dd,KAAK,CAACe,IAAI,wCACxE,CAAC;MACL;MAEA,OAAOd,UAAU,CAACG,QAAQ,CAAC2B,KAAK,CAC5B,4DACJ,CAAC;IACL,CAAC,CAAC,OAAOA,KAAK,EAAE;MACZ,OAAO9B,UAAU,CAACG,QAAQ,CAAC2B,KAAK,CAACA,KAAK,CAAC;IAC3C;EACJ;AACJ;AAEA,OAAO,MAAMC,WAAW,GAAGjD,cAAc,CAACkD,oBAAoB,CAAC;EAC3DC,cAAc,EAAE5C,eAAe;EAC/B6C,YAAY,EAAE,CAAC/C,gBAAgB,EAAEC,kBAAkB,EAAEL,iBAAiB;AAC1E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"flp/tasks/syncFlp.task.js","sources":["../../../src/flp/tasks/syncFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { ListModelsUseCase } from \"@webiny/api-headless-cms/features/contentModel/ListModels/index.js\";\nimport { SYNC_FLP_TASK_ID, UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type ISyncFlpTaskInput, type IUpdateFlpTaskInput } from \"~/types.js\";\nimport { FM_FILE_TYPE } from \"~/constants.js\";\nimport { GetFolderUseCase } from \"~/features/folder/GetFolder/index.js\";\nimport { ListFoldersUseCase } from \"~/features/folder/ListFolders/index.js\";\n\nclass SyncFlpTaskImpl implements TaskDefinition.Interface<ISyncFlpTaskInput> {\n public readonly id = SYNC_FLP_TASK_ID;\n public readonly title = \"ACO - Sync FLP record\";\n public readonly description =\n \"Synchronizes the FLP catalog by updating the FLP record and its descendants.\";\n public readonly databaseLogs = false;\n public readonly isPrivate = true;\n public readonly selfCleanup = [\"onSuccess\" as const, \"onAbort\" as const];\n\n public constructor(\n private getFolder: GetFolderUseCase.Interface,\n private listFolders: ListFoldersUseCase.Interface,\n private listModels: ListModelsUseCase.Interface\n ) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<ISyncFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n /**\n * `folderId` provided in the task input. We need to:\n *\n * - update the FLP records for the found folder and all its descendants.\n */\n if (input.folderId) {\n const result = await this.getFolder.execute(input.folderId!);\n const folder = result.value;\n\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n\n return controller.response.done(\n `Task completed successfully: all FLP records for folderId \"${input.folderId}\" and its children have been queued to be synchronized.`\n );\n }\n\n /**\n * Full update required. We need to:\n *\n * - list cms models to collect their types, together with the default ones [FM_FILE_TYPE]\n * - list all root folders\n * - update the FLP records for the found folders and all its descendants.\n */\n if (input.type && input.type === \"*\") {\n // Some folder types are fixed: pages and files.\n const folderTypes = [FM_FILE_TYPE];\n\n // List all non-private models\n const modelsResult = await this.listModels.execute();\n if (modelsResult.isOk()) {\n const models = modelsResult.value;\n for (const model of models) {\n folderTypes.push(`cms:${model.modelId}`);\n }\n }\n\n for (const folderType of folderTypes) {\n const result = await this.listFolders.execute({\n where: {\n type: folderType,\n parentId: null\n }\n });\n\n const { folders } = result.value;\n\n for (const folder of folders) {\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n }\n\n await controller.logger.info({\n message: `FLP Update task triggered for type ${folderType}`,\n data: {\n type: folderType\n }\n });\n }\n\n return controller.response.done(\n `Task completed successfully: all FLP records have been queued to be synchronized.`\n );\n }\n\n /**\n * `type` provided in the task input. We need to:\n *\n * - list all root folders for the provided type\n * - update the FLP records for the found folders and all its descendants.\n */\n if (input.type) {\n const result = await this.listFolders.execute({\n where: {\n type: input.type!,\n parentId: null\n }\n });\n\n const { folders } = result.value;\n\n for (const folder of folders) {\n await controller.task.trigger<IUpdateFlpTaskInput>({\n definition: UPDATE_FLP_TASK_ID,\n input: {\n folder\n }\n });\n }\n\n return controller.response.done(\n `Task completed successfully: all FLP records for type \"${input.type}\" have been queued to be synchronized.`\n );\n }\n\n return controller.response.error(\n \"Invalid input: please provide either `type` or `folderId`.\"\n );\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const SyncFlpTask = TaskDefinition.createImplementation({\n implementation: SyncFlpTaskImpl,\n dependencies: [GetFolderUseCase, ListFoldersUseCase, ListModelsUseCase]\n});\n"],"names":["SyncFlpTaskImpl","getFolder","listFolders","listModels","SYNC_FLP_TASK_ID","input","controller","result","folder","UPDATE_FLP_TASK_ID","folderTypes","FM_FILE_TYPE","modelsResult","models","model","folderType","folders","error","SyncFlpTask","TaskDefinition","GetFolderUseCase","ListFoldersUseCase","ListModelsUseCase"],"mappings":";;;;;;AAQA,MAAMA;IASF,YACYC,SAAqC,EACrCC,WAAyC,EACzCC,UAAuC,CACjD;aAHUF,SAAS,GAATA;aACAC,WAAW,GAAXA;aACAC,UAAU,GAAVA;aAXI,EAAE,GAAGC;aACL,KAAK,GAAG;aACR,WAAW,GACvB;aACY,YAAY,GAAG;aACf,SAAS,GAAG;aACZ,WAAW,GAAG;YAAC;YAAsB;SAAmB;IAMrE;IAEH,MAAM,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAA+C,EAAE;QAC1E,IAAI;YACA,IAAIA,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAQtC,IAAID,MAAM,QAAQ,EAAE;gBAChB,MAAME,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACF,MAAM,QAAQ;gBAC1D,MAAMG,SAASD,OAAO,KAAK;gBAE3B,MAAMD,WAAW,IAAI,CAAC,OAAO,CAAsB;oBAC/C,YAAYG;oBACZ,OAAO;wBACHD;oBACJ;gBACJ;gBAEA,OAAOF,WAAW,QAAQ,CAAC,IAAI,CAC3B,CAAC,2DAA2D,EAAED,MAAM,QAAQ,CAAC,uDAAuD,CAAC;YAE7I;YASA,IAAIA,MAAM,IAAI,IAAIA,AAAe,QAAfA,MAAM,IAAI,EAAU;gBAElC,MAAMK,cAAc;oBAACC;iBAAa;gBAGlC,MAAMC,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO;gBAClD,IAAIA,aAAa,IAAI,IAAI;oBACrB,MAAMC,SAASD,aAAa,KAAK;oBACjC,KAAK,MAAME,SAASD,OAChBH,YAAY,IAAI,CAAC,CAAC,IAAI,EAAEI,MAAM,OAAO,EAAE;gBAE/C;gBAEA,KAAK,MAAMC,cAAcL,YAAa;oBAClC,MAAMH,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAC1C,OAAO;4BACH,MAAMQ;4BACN,UAAU;wBACd;oBACJ;oBAEA,MAAM,EAAEC,OAAO,EAAE,GAAGT,OAAO,KAAK;oBAEhC,KAAK,MAAMC,UAAUQ,QACjB,MAAMV,WAAW,IAAI,CAAC,OAAO,CAAsB;wBAC/C,YAAYG;wBACZ,OAAO;4BACHD;wBACJ;oBACJ;oBAGJ,MAAMF,WAAW,MAAM,CAAC,IAAI,CAAC;wBACzB,SAAS,CAAC,mCAAmC,EAAES,YAAY;wBAC3D,MAAM;4BACF,MAAMA;wBACV;oBACJ;gBACJ;gBAEA,OAAOT,WAAW,QAAQ,CAAC,IAAI,CAC3B;YAER;YAQA,IAAID,MAAM,IAAI,EAAE;gBACZ,MAAME,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;oBAC1C,OAAO;wBACH,MAAMF,MAAM,IAAI;wBAChB,UAAU;oBACd;gBACJ;gBAEA,MAAM,EAAEW,OAAO,EAAE,GAAGT,OAAO,KAAK;gBAEhC,KAAK,MAAMC,UAAUQ,QACjB,MAAMV,WAAW,IAAI,CAAC,OAAO,CAAsB;oBAC/C,YAAYG;oBACZ,OAAO;wBACHD;oBACJ;gBACJ;gBAGJ,OAAOF,WAAW,QAAQ,CAAC,IAAI,CAC3B,CAAC,uDAAuD,EAAED,MAAM,IAAI,CAAC,sCAAsC,CAAC;YAEpH;YAEA,OAAOC,WAAW,QAAQ,CAAC,KAAK,CAC5B;QAER,EAAE,OAAOW,OAAO;YACZ,OAAOX,WAAW,QAAQ,CAAC,KAAK,CAACW;QACrC;IACJ;AACJ;AAEO,MAAMC,cAAcC,eAAe,oBAAoB,CAAC;IAC3D,gBAAgBnB;IAChB,cAAc;QAACoB;QAAkBC;QAAoBC;KAAkB;AAC3E"}
@@ -3,10 +3,12 @@ import { type IUpdateFlpTaskInput } from "../../types.js";
3
3
  import { UpdateFlpUseCase } from "../../features/flp/UpdateFlp/index.js";
4
4
  declare class UpdateFlpTaskImpl implements TaskDefinition.Interface<IUpdateFlpTaskInput> {
5
5
  private updateFlp;
6
- id: string;
7
- title: string;
8
- description: string;
9
- disableDatabaseLogs: boolean;
6
+ readonly id = "acoUpdateFlp";
7
+ readonly title = "ACO - Update FLP record";
8
+ readonly description = "Synchronizes the FLP catalog by updating the FLP record and its descendants based on the provided folder.";
9
+ readonly databaseLogs = false;
10
+ readonly isPrivate = true;
11
+ readonly selfCleanup: ("onSuccess" | "onAbort")[];
10
12
  constructor(updateFlp: UpdateFlpUseCase.Interface);
11
13
  run({ input, controller }: TaskDefinition.RunParams<IUpdateFlpTaskInput>): Promise<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultError | import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskResultAborted | TaskDefinition.ResultDone<import("@webiny/api-core/features/task/TaskDefinition/abstractions").ITaskOutput>>;
12
14
  }
@@ -2,39 +2,42 @@ import { TaskDefinition } from "@webiny/api-core/features/task/TaskDefinition/in
2
2
  import { UPDATE_FLP_TASK_ID } from "./index.js";
3
3
  import { UpdateFlpUseCase } from "../../features/flp/UpdateFlp/index.js";
4
4
  class UpdateFlpTaskImpl {
5
- id = UPDATE_FLP_TASK_ID;
6
- title = "ACO - Update FLP record";
7
- description = "Synchronizes the FLP catalog by updating the FLP record and its descendants based on the provided folder.";
8
- disableDatabaseLogs = true;
9
- constructor(updateFlp) {
10
- this.updateFlp = updateFlp;
11
- }
12
- async run({
13
- input,
14
- controller
15
- }) {
16
- try {
17
- if (controller.runtime.isAborted()) {
18
- return controller.response.aborted();
19
- }
20
- await this.updateFlp.execute({
21
- folder: input.folder,
22
- queued: input.queued,
23
- isCloseToTimeout: controller.runtime.isCloseToTimeout,
24
- handleTimeout: queued => controller.response.continue({
25
- ...input,
26
- queued
27
- })
28
- });
29
- return controller.response.done("Task done: FLP record updated.");
30
- } catch (error) {
31
- return controller.response.error(error);
5
+ constructor(updateFlp){
6
+ this.updateFlp = updateFlp;
7
+ this.id = UPDATE_FLP_TASK_ID;
8
+ this.title = "ACO - Update FLP record";
9
+ this.description = "Synchronizes the FLP catalog by updating the FLP record and its descendants based on the provided folder.";
10
+ this.databaseLogs = false;
11
+ this.isPrivate = true;
12
+ this.selfCleanup = [
13
+ "onSuccess",
14
+ "onAbort"
15
+ ];
16
+ }
17
+ async run({ input, controller }) {
18
+ try {
19
+ if (controller.runtime.isAborted()) return controller.response.aborted();
20
+ await this.updateFlp.execute({
21
+ folder: input.folder,
22
+ queued: input.queued,
23
+ isCloseToTimeout: controller.runtime.isCloseToTimeout,
24
+ handleTimeout: (queued)=>controller.response.continue({
25
+ ...input,
26
+ queued
27
+ })
28
+ });
29
+ return controller.response.done("Task done: FLP record updated.");
30
+ } catch (error) {
31
+ return controller.response.error(error);
32
+ }
32
33
  }
33
- }
34
34
  }
35
- export const UpdateFlpTask = TaskDefinition.createImplementation({
36
- implementation: UpdateFlpTaskImpl,
37
- dependencies: [UpdateFlpUseCase]
35
+ const UpdateFlpTask = TaskDefinition.createImplementation({
36
+ implementation: UpdateFlpTaskImpl,
37
+ dependencies: [
38
+ UpdateFlpUseCase
39
+ ]
38
40
  });
41
+ export { UpdateFlpTask };
39
42
 
40
43
  //# sourceMappingURL=updateFlp.task.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TaskDefinition","UPDATE_FLP_TASK_ID","UpdateFlpUseCase","UpdateFlpTaskImpl","id","title","description","disableDatabaseLogs","constructor","updateFlp","run","input","controller","runtime","isAborted","response","aborted","execute","folder","queued","isCloseToTimeout","handleTimeout","continue","done","error","UpdateFlpTask","createImplementation","implementation","dependencies"],"sources":["updateFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type IUpdateFlpTaskInput } from \"~/types.js\";\nimport { UpdateFlpUseCase } from \"~/features/flp/UpdateFlp/index.js\";\n\nclass UpdateFlpTaskImpl implements TaskDefinition.Interface<IUpdateFlpTaskInput> {\n id = UPDATE_FLP_TASK_ID;\n title = \"ACO - Update FLP record\";\n description =\n \"Synchronizes the FLP catalog by updating the FLP record and its descendants based on the provided folder.\";\n disableDatabaseLogs = true;\n\n constructor(private updateFlp: UpdateFlpUseCase.Interface) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<IUpdateFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n await this.updateFlp.execute({\n folder: input.folder,\n queued: input.queued,\n isCloseToTimeout: controller.runtime.isCloseToTimeout,\n handleTimeout: queued => controller.response.continue({ ...input, queued })\n });\n\n return controller.response.done(\"Task done: FLP record updated.\");\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const UpdateFlpTask = TaskDefinition.createImplementation({\n implementation: UpdateFlpTaskImpl,\n dependencies: [UpdateFlpUseCase]\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,wDAAwD;AACvF,SAASC,kBAAkB;AAE3B,SAASC,gBAAgB;AAEzB,MAAMC,iBAAiB,CAA0D;EAC7EC,EAAE,GAAGH,kBAAkB;EACvBI,KAAK,GAAG,yBAAyB;EACjCC,WAAW,GACP,2GAA2G;EAC/GC,mBAAmB,GAAG,IAAI;EAE1BC,WAAWA,CAASC,SAAqC,EAAE;IAAA,KAAvCA,SAAqC,GAArCA,SAAqC;EAAG;EAE5D,MAAMC,GAAGA,CAAC;IAAEC,KAAK;IAAEC;EAA0D,CAAC,EAAE;IAC5E,IAAI;MACA,IAAIA,UAAU,CAACC,OAAO,CAACC,SAAS,CAAC,CAAC,EAAE;QAChC,OAAOF,UAAU,CAACG,QAAQ,CAACC,OAAO,CAAC,CAAC;MACxC;MAEA,MAAM,IAAI,CAACP,SAAS,CAACQ,OAAO,CAAC;QACzBC,MAAM,EAAEP,KAAK,CAACO,MAAM;QACpBC,MAAM,EAAER,KAAK,CAACQ,MAAM;QACpBC,gBAAgB,EAAER,UAAU,CAACC,OAAO,CAACO,gBAAgB;QACrDC,aAAa,EAAEF,MAAM,IAAIP,UAAU,CAACG,QAAQ,CAACO,QAAQ,CAAC;UAAE,GAAGX,KAAK;UAAEQ;QAAO,CAAC;MAC9E,CAAC,CAAC;MAEF,OAAOP,UAAU,CAACG,QAAQ,CAACQ,IAAI,CAAC,gCAAgC,CAAC;IACrE,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZ,OAAOZ,UAAU,CAACG,QAAQ,CAACS,KAAK,CAACA,KAAK,CAAC;IAC3C;EACJ;AACJ;AAEA,OAAO,MAAMC,aAAa,GAAGzB,cAAc,CAAC0B,oBAAoB,CAAC;EAC7DC,cAAc,EAAExB,iBAAiB;EACjCyB,YAAY,EAAE,CAAC1B,gBAAgB;AACnC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"flp/tasks/updateFlp.task.js","sources":["../../../src/flp/tasks/updateFlp.task.ts"],"sourcesContent":["import { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport { UPDATE_FLP_TASK_ID } from \"~/flp/tasks/index.js\";\nimport { type IUpdateFlpTaskInput } from \"~/types.js\";\nimport { UpdateFlpUseCase } from \"~/features/flp/UpdateFlp/index.js\";\n\nclass UpdateFlpTaskImpl implements TaskDefinition.Interface<IUpdateFlpTaskInput> {\n public readonly id = UPDATE_FLP_TASK_ID;\n public readonly title = \"ACO - Update FLP record\";\n public readonly description =\n \"Synchronizes the FLP catalog by updating the FLP record and its descendants based on the provided folder.\";\n public readonly databaseLogs = false;\n public readonly isPrivate = true;\n public readonly selfCleanup = [\"onSuccess\" as const, \"onAbort\" as const];\n\n public constructor(private updateFlp: UpdateFlpUseCase.Interface) {}\n\n async run({ input, controller }: TaskDefinition.RunParams<IUpdateFlpTaskInput>) {\n try {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n }\n\n await this.updateFlp.execute({\n folder: input.folder,\n queued: input.queued,\n isCloseToTimeout: controller.runtime.isCloseToTimeout,\n handleTimeout: queued => controller.response.continue({ ...input, queued })\n });\n\n return controller.response.done(\"Task done: FLP record updated.\");\n } catch (error) {\n return controller.response.error(error);\n }\n }\n}\n\nexport const UpdateFlpTask = TaskDefinition.createImplementation({\n implementation: UpdateFlpTaskImpl,\n dependencies: [UpdateFlpUseCase]\n});\n"],"names":["UpdateFlpTaskImpl","updateFlp","UPDATE_FLP_TASK_ID","input","controller","queued","error","UpdateFlpTask","TaskDefinition","UpdateFlpUseCase"],"mappings":";;;AAKA,MAAMA;IASF,YAA2BC,SAAqC,CAAE;aAAvCA,SAAS,GAATA;aARX,EAAE,GAAGC;aACL,KAAK,GAAG;aACR,WAAW,GACvB;aACY,YAAY,GAAG;aACf,SAAS,GAAG;aACZ,WAAW,GAAG;YAAC;YAAsB;SAAmB;IAEL;IAEnE,MAAM,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAiD,EAAE;QAC5E,IAAI;YACA,IAAIA,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAGtC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACzB,QAAQD,MAAM,MAAM;gBACpB,QAAQA,MAAM,MAAM;gBACpB,kBAAkBC,WAAW,OAAO,CAAC,gBAAgB;gBACrD,eAAeC,CAAAA,SAAUD,WAAW,QAAQ,CAAC,QAAQ,CAAC;wBAAE,GAAGD,KAAK;wBAAEE;oBAAO;YAC7E;YAEA,OAAOD,WAAW,QAAQ,CAAC,IAAI,CAAC;QACpC,EAAE,OAAOE,OAAO;YACZ,OAAOF,WAAW,QAAQ,CAAC,KAAK,CAACE;QACrC;IACJ;AACJ;AAEO,MAAMC,gBAAgBC,eAAe,oBAAoB,CAAC;IAC7D,gBAAgBR;IAChB,cAAc;QAACS;KAAiB;AACpC"}
@@ -1,61 +1,61 @@
1
1
  import { Plugin } from "@webiny/plugins";
2
2
  import { createModelField } from "@webiny/api-headless-cms";
3
3
  import { FOLDER_MODEL_ID } from "../domain/folder/folder.model.js";
4
- export class FolderModelFieldsModifier {
5
- fields = [];
6
- constructor(namespace) {
7
- this.namespace = namespace;
8
- }
9
- setFields(fields) {
10
- this.fields = fields;
11
- }
12
- addField(field) {
13
- const {
14
- tags,
15
- ...rest
16
- } = field;
17
- this.fields.push({
18
- ...rest,
19
- storageId: `${field.type}@${this.namespace}_${field.id}`,
20
- tags: (tags ?? []).concat([`$namespace:${this.namespace}`])
21
- });
22
- }
4
+ class FolderModelFieldsModifier {
5
+ constructor(namespace){
6
+ this.fields = [];
7
+ this.namespace = namespace;
8
+ }
9
+ setFields(fields) {
10
+ this.fields = fields;
11
+ }
12
+ addField(field) {
13
+ const { tags, ...rest } = field;
14
+ this.fields.push({
15
+ ...rest,
16
+ storageId: `${field.type}@${this.namespace}_${field.id}`,
17
+ tags: (tags ?? []).concat([
18
+ `$namespace:${this.namespace}`
19
+ ])
20
+ });
21
+ }
23
22
  }
24
- export class FolderCmsModelModifierPlugin extends Plugin {
25
- static type = "aco.folder.cms-model-modifier";
26
- constructor(params) {
27
- super();
28
- this.modifier = params.modifier;
29
- this.callback = params.callback;
30
- }
31
- async modifyModel(model) {
32
- if (model.modelId !== FOLDER_MODEL_ID) {
33
- return;
23
+ class FolderCmsModelModifierPlugin extends Plugin {
24
+ static{
25
+ this.type = "aco.folder.cms-model-modifier";
34
26
  }
35
- let extensionsField = model.fields.find(field => field.fieldId === "extensions");
36
- if (!extensionsField) {
37
- extensionsField = createModelField({
38
- label: "Extensions",
39
- type: "object",
40
- settings: {
41
- layout: [],
42
- fields: []
27
+ constructor(params){
28
+ super();
29
+ this.modifier = params.modifier;
30
+ this.callback = params.callback;
31
+ }
32
+ async modifyModel(model) {
33
+ if (model.modelId !== FOLDER_MODEL_ID) return;
34
+ let extensionsField = model.fields.find((field)=>"extensions" === field.fieldId);
35
+ if (!extensionsField) {
36
+ extensionsField = createModelField({
37
+ label: "Extensions",
38
+ type: "object",
39
+ settings: {
40
+ layout: [],
41
+ fields: []
42
+ }
43
+ });
44
+ model.fields.push(extensionsField);
43
45
  }
44
- });
45
- model.fields.push(extensionsField);
46
+ this.modifier.setFields(extensionsField.settings.fields);
47
+ await this.callback({
48
+ modifier: this.modifier
49
+ });
46
50
  }
47
- this.modifier.setFields(extensionsField.settings.fields);
48
- await this.callback({
49
- modifier: this.modifier
50
- });
51
- }
52
51
  }
53
- export const createFolderModelModifier = callback => {
54
- const modifier = new FolderModelFieldsModifier("global");
55
- return new FolderCmsModelModifierPlugin({
56
- callback,
57
- modifier
58
- });
52
+ const createFolderModelModifier = (callback)=>{
53
+ const modifier = new FolderModelFieldsModifier("global");
54
+ return new FolderCmsModelModifierPlugin({
55
+ callback,
56
+ modifier
57
+ });
59
58
  };
59
+ export { FolderCmsModelModifierPlugin, FolderModelFieldsModifier, createFolderModelModifier };
60
60
 
61
61
  //# sourceMappingURL=createFolderModelModifier.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Plugin","createModelField","FOLDER_MODEL_ID","FolderModelFieldsModifier","fields","constructor","namespace","setFields","addField","field","tags","rest","push","storageId","type","id","concat","FolderCmsModelModifierPlugin","params","modifier","callback","modifyModel","model","modelId","extensionsField","find","fieldId","label","settings","layout","createFolderModelModifier"],"sources":["createFolderModelModifier.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\nimport type { CmsModelField as BaseModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FOLDER_MODEL_ID } from \"~/domain/folder/folder.model.js\";\n\nexport type CmsModelField = Omit<BaseModelField, \"storageId\"> & { modelIds?: string[] };\n\nexport interface IFolderModelFieldsModifier {\n setFields: (fields: BaseModelField[]) => void;\n addField: (field: CmsModelField) => void;\n}\n\nexport class FolderModelFieldsModifier implements IFolderModelFieldsModifier {\n private fields: BaseModelField[] = [];\n private readonly namespace: string;\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n setFields(fields: BaseModelField[]) {\n this.fields = fields;\n }\n\n addField(field: CmsModelField) {\n const { tags, ...rest } = field;\n\n this.fields.push({\n ...rest,\n storageId: `${field.type}@${this.namespace}_${field.id}`,\n tags: (tags ?? []).concat([`$namespace:${this.namespace}`])\n });\n }\n}\n\ninterface CmsModelModifierCallableParams {\n modifier: IFolderModelFieldsModifier;\n}\n\nexport interface CmsModelModifierCallable {\n (params: CmsModelModifierCallableParams): Promise<void> | void;\n}\n\ninterface FolderCmsModelModifierPluginParams {\n modifier: IFolderModelFieldsModifier;\n callback: CmsModelModifierCallable;\n}\n\nexport class FolderCmsModelModifierPlugin extends Plugin {\n public static override type = \"aco.folder.cms-model-modifier\";\n private readonly modifier: IFolderModelFieldsModifier;\n private readonly callback: CmsModelModifierCallable;\n\n constructor(params: FolderCmsModelModifierPluginParams) {\n super();\n this.modifier = params.modifier;\n this.callback = params.callback;\n }\n\n async modifyModel(model: CmsPrivateModelFull): Promise<void> {\n if (model.modelId !== FOLDER_MODEL_ID) {\n return;\n }\n\n let extensionsField = model.fields.find(field => field.fieldId === \"extensions\");\n if (!extensionsField) {\n extensionsField = createModelField({\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n model.fields.push(extensionsField);\n }\n\n this.modifier.setFields(extensionsField.settings!.fields!);\n\n await this.callback({ modifier: this.modifier });\n }\n}\n\nexport const createFolderModelModifier = (callback: CmsModelModifierCallable) => {\n const modifier = new FolderModelFieldsModifier(\"global\");\n\n return new FolderCmsModelModifierPlugin({\n callback,\n modifier\n });\n};\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAiB;AAExC,SAASC,gBAAgB,QAAQ,0BAA0B;AAE3D,SAASC,eAAe;AASxB,OAAO,MAAMC,yBAAyB,CAAuC;EACjEC,MAAM,GAAqB,EAAE;EAGrCC,WAAWA,CAACC,SAAiB,EAAE;IAC3B,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,SAASA,CAACH,MAAwB,EAAE;IAChC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACxB;EAEAI,QAAQA,CAACC,KAAoB,EAAE;IAC3B,MAAM;MAAEC,IAAI;MAAE,GAAGC;IAAK,CAAC,GAAGF,KAAK;IAE/B,IAAI,CAACL,MAAM,CAACQ,IAAI,CAAC;MACb,GAAGD,IAAI;MACPE,SAAS,EAAE,GAAGJ,KAAK,CAACK,IAAI,IAAI,IAAI,CAACR,SAAS,IAAIG,KAAK,CAACM,EAAE,EAAE;MACxDL,IAAI,EAAE,CAACA,IAAI,IAAI,EAAE,EAAEM,MAAM,CAAC,CAAC,cAAc,IAAI,CAACV,SAAS,EAAE,CAAC;IAC9D,CAAC,CAAC;EACN;AACJ;AAeA,OAAO,MAAMW,4BAA4B,SAASjB,MAAM,CAAC;EACrD,OAAuBc,IAAI,GAAG,+BAA+B;EAI7DT,WAAWA,CAACa,MAA0C,EAAE;IACpD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,QAAQ,GAAGD,MAAM,CAACC,QAAQ;IAC/B,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;EACnC;EAEA,MAAMC,WAAWA,CAACC,KAA0B,EAAiB;IACzD,IAAIA,KAAK,CAACC,OAAO,KAAKrB,eAAe,EAAE;MACnC;IACJ;IAEA,IAAIsB,eAAe,GAAGF,KAAK,CAAClB,MAAM,CAACqB,IAAI,CAAChB,KAAK,IAAIA,KAAK,CAACiB,OAAO,KAAK,YAAY,CAAC;IAChF,IAAI,CAACF,eAAe,EAAE;MAClBA,eAAe,GAAGvB,gBAAgB,CAAC;QAC/B0B,KAAK,EAAE,YAAY;QACnBb,IAAI,EAAE,QAAQ;QACdc,QAAQ,EAAE;UACNC,MAAM,EAAE,EAAE;UACVzB,MAAM,EAAE;QACZ;MACJ,CAAC,CAAC;MACFkB,KAAK,CAAClB,MAAM,CAACQ,IAAI,CAACY,eAAe,CAAC;IACtC;IAEA,IAAI,CAACL,QAAQ,CAACZ,SAAS,CAACiB,eAAe,CAACI,QAAQ,CAAExB,MAAO,CAAC;IAE1D,MAAM,IAAI,CAACgB,QAAQ,CAAC;MAAED,QAAQ,EAAE,IAAI,CAACA;IAAS,CAAC,CAAC;EACpD;AACJ;AAEA,OAAO,MAAMW,yBAAyB,GAAIV,QAAkC,IAAK;EAC7E,MAAMD,QAAQ,GAAG,IAAIhB,yBAAyB,CAAC,QAAQ,CAAC;EAExD,OAAO,IAAIc,4BAA4B,CAAC;IACpCG,QAAQ;IACRD;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"folder/createFolderModelModifier.js","sources":["../../src/folder/createFolderModelModifier.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport type { CmsPrivateModelFull } from \"@webiny/api-headless-cms\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\nimport type { CmsModelField as BaseModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { FOLDER_MODEL_ID } from \"~/domain/folder/folder.model.js\";\n\nexport type CmsModelField = Omit<BaseModelField, \"storageId\"> & { modelIds?: string[] };\n\nexport interface IFolderModelFieldsModifier {\n setFields: (fields: BaseModelField[]) => void;\n addField: (field: CmsModelField) => void;\n}\n\nexport class FolderModelFieldsModifier implements IFolderModelFieldsModifier {\n private fields: BaseModelField[] = [];\n private readonly namespace: string;\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n setFields(fields: BaseModelField[]) {\n this.fields = fields;\n }\n\n addField(field: CmsModelField) {\n const { tags, ...rest } = field;\n\n this.fields.push({\n ...rest,\n storageId: `${field.type}@${this.namespace}_${field.id}`,\n tags: (tags ?? []).concat([`$namespace:${this.namespace}`])\n });\n }\n}\n\ninterface CmsModelModifierCallableParams {\n modifier: IFolderModelFieldsModifier;\n}\n\nexport interface CmsModelModifierCallable {\n (params: CmsModelModifierCallableParams): Promise<void> | void;\n}\n\ninterface FolderCmsModelModifierPluginParams {\n modifier: IFolderModelFieldsModifier;\n callback: CmsModelModifierCallable;\n}\n\nexport class FolderCmsModelModifierPlugin extends Plugin {\n public static override type = \"aco.folder.cms-model-modifier\";\n private readonly modifier: IFolderModelFieldsModifier;\n private readonly callback: CmsModelModifierCallable;\n\n constructor(params: FolderCmsModelModifierPluginParams) {\n super();\n this.modifier = params.modifier;\n this.callback = params.callback;\n }\n\n async modifyModel(model: CmsPrivateModelFull): Promise<void> {\n if (model.modelId !== FOLDER_MODEL_ID) {\n return;\n }\n\n let extensionsField = model.fields.find(field => field.fieldId === \"extensions\");\n if (!extensionsField) {\n extensionsField = createModelField({\n label: \"Extensions\",\n type: \"object\",\n settings: {\n layout: [],\n fields: []\n }\n });\n model.fields.push(extensionsField);\n }\n\n this.modifier.setFields(extensionsField.settings!.fields!);\n\n await this.callback({ modifier: this.modifier });\n }\n}\n\nexport const createFolderModelModifier = (callback: CmsModelModifierCallable) => {\n const modifier = new FolderModelFieldsModifier(\"global\");\n\n return new FolderCmsModelModifierPlugin({\n callback,\n modifier\n });\n};\n"],"names":["FolderModelFieldsModifier","namespace","fields","field","tags","rest","FolderCmsModelModifierPlugin","Plugin","params","model","FOLDER_MODEL_ID","extensionsField","createModelField","createFolderModelModifier","callback","modifier"],"mappings":";;;AAaO,MAAMA;IAIT,YAAYC,SAAiB,CAAE;aAHvB,MAAM,GAAqB,EAAE;QAIjC,IAAI,CAAC,SAAS,GAAGA;IACrB;IAEA,UAAUC,MAAwB,EAAE;QAChC,IAAI,CAAC,MAAM,GAAGA;IAClB;IAEA,SAASC,KAAoB,EAAE;QAC3B,MAAM,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGF;QAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACb,GAAGE,IAAI;YACP,WAAW,GAAGF,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAEA,MAAM,EAAE,EAAE;YACxD,MAAOC,AAAAA,CAAAA,QAAQ,EAAC,EAAG,MAAM,CAAC;gBAAC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;aAAC;QAC9D;IACJ;AACJ;AAeO,MAAME,qCAAqCC;;aACvB,IAAI,GAAG;;IAI9B,YAAYC,MAA0C,CAAE;QACpD,KAAK;QACL,IAAI,CAAC,QAAQ,GAAGA,OAAO,QAAQ;QAC/B,IAAI,CAAC,QAAQ,GAAGA,OAAO,QAAQ;IACnC;IAEA,MAAM,YAAYC,KAA0B,EAAiB;QACzD,IAAIA,MAAM,OAAO,KAAKC,iBAClB;QAGJ,IAAIC,kBAAkBF,MAAM,MAAM,CAAC,IAAI,CAACN,CAAAA,QAASA,AAAkB,iBAAlBA,MAAM,OAAO;QAC9D,IAAI,CAACQ,iBAAiB;YAClBA,kBAAkBC,iBAAiB;gBAC/B,OAAO;gBACP,MAAM;gBACN,UAAU;oBACN,QAAQ,EAAE;oBACV,QAAQ,EAAE;gBACd;YACJ;YACAH,MAAM,MAAM,CAAC,IAAI,CAACE;QACtB;QAEA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAACA,gBAAgB,QAAQ,CAAE,MAAM;QAExD,MAAM,IAAI,CAAC,QAAQ,CAAC;YAAE,UAAU,IAAI,CAAC,QAAQ;QAAC;IAClD;AACJ;AAEO,MAAME,4BAA4B,CAACC;IACtC,MAAMC,WAAW,IAAIf,0BAA0B;IAE/C,OAAO,IAAIM,6BAA6B;QACpCQ;QACAC;IACJ;AACJ"}