@webiny/api-aco 0.0.0-unstable.de38392959 → 0.0.0-unstable.e0bfc55d5a

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 (483) hide show
  1. package/apps/AcoApp.d.ts +2 -2
  2. package/apps/AcoApp.js +4 -4
  3. package/apps/AcoApp.js.map +1 -1
  4. package/apps/AcoApps.d.ts +1 -1
  5. package/apps/AcoApps.js.map +1 -1
  6. package/apps/app.gql.d.ts +1 -1
  7. package/apps/app.gql.js +1 -2
  8. package/apps/app.gql.js.map +1 -1
  9. package/apps/index.js.map +1 -1
  10. package/constants.d.ts +3 -0
  11. package/constants.js +26 -0
  12. package/constants.js.map +1 -0
  13. package/createAcoContext.d.ts +4 -2
  14. package/createAcoContext.js +16 -80
  15. package/createAcoContext.js.map +1 -1
  16. package/createAcoGraphQL.d.ts +3 -2
  17. package/createAcoGraphQL.js +39 -1
  18. package/createAcoGraphQL.js.map +1 -1
  19. package/createAcoHooks.d.ts +1 -1
  20. package/createAcoHooks.js +2 -0
  21. package/createAcoHooks.js.map +1 -1
  22. package/createAcoModels.d.ts +2 -2
  23. package/createAcoModels.js +9 -3
  24. package/createAcoModels.js.map +1 -1
  25. package/createAcoStorageOperations.d.ts +6 -4
  26. package/createAcoStorageOperations.js +7 -5
  27. package/createAcoStorageOperations.js.map +1 -1
  28. package/createAcoTasks.d.ts +1 -0
  29. package/createAcoTasks.js +13 -0
  30. package/createAcoTasks.js.map +1 -0
  31. package/filter/filter.crud.d.ts +2 -2
  32. package/filter/filter.crud.js +7 -7
  33. package/filter/filter.crud.js.map +1 -1
  34. package/filter/filter.gql.d.ts +1 -1
  35. package/filter/filter.gql.js +1 -2
  36. package/filter/filter.gql.js.map +1 -1
  37. package/filter/filter.model.d.ts +1 -1
  38. package/filter/filter.model.js +5 -6
  39. package/filter/filter.model.js.map +1 -1
  40. package/filter/filter.so.d.ts +2 -2
  41. package/filter/filter.so.js.map +1 -1
  42. package/filter/filter.types.d.ts +5 -5
  43. package/filter/filter.types.js +1 -2
  44. package/filter/filter.types.js.map +1 -1
  45. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  46. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  47. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  48. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  49. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  54. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  55. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  56. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  57. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  58. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  63. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  64. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  65. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  66. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  67. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  72. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  73. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  74. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  75. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  76. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  81. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  82. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  83. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  84. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  85. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  90. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  91. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  92. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  93. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  94. package/flp/FolderLevelPermissions/index.js +116 -0
  95. package/flp/FolderLevelPermissions/index.js.map +1 -0
  96. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  97. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  98. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  99. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  100. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  114. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  115. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  116. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  117. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  118. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  123. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  124. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  125. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  126. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  127. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  141. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  142. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  143. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  144. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  145. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  150. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  151. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  152. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  153. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  154. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  165. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  166. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  167. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  168. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  169. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  174. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  175. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  176. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  177. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  178. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  183. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  184. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  185. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  186. package/flp/flp.crud.d.ts +9 -0
  187. package/flp/flp.crud.js +172 -0
  188. package/flp/flp.crud.js.map +1 -0
  189. package/flp/flp.so.d.ts +26 -0
  190. package/flp/flp.so.js +304 -0
  191. package/flp/flp.so.js.map +1 -0
  192. package/flp/flp.types.d.ts +147 -0
  193. package/flp/flp.types.js +18 -0
  194. package/flp/flp.types.js.map +1 -0
  195. package/flp/hooks/index.d.ts +2 -0
  196. package/flp/hooks/index.js +17 -0
  197. package/flp/hooks/index.js.map +1 -0
  198. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  199. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  200. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  201. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  202. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  203. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  204. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  205. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  206. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  207. package/flp/index.d.ts +5 -0
  208. package/flp/index.js +62 -0
  209. package/flp/index.js.map +1 -0
  210. package/flp/tasks/createFlp.task.d.ts +2 -0
  211. package/flp/tasks/createFlp.task.js +49 -0
  212. package/flp/tasks/createFlp.task.js.map +1 -0
  213. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  214. package/flp/tasks/deleteFlp.task.js +49 -0
  215. package/flp/tasks/deleteFlp.task.js.map +1 -0
  216. package/flp/tasks/index.d.ts +5 -0
  217. package/flp/tasks/index.js +20 -0
  218. package/flp/tasks/index.js.map +1 -0
  219. package/flp/tasks/syncFlp.task.d.ts +2 -0
  220. package/flp/tasks/syncFlp.task.js +126 -0
  221. package/flp/tasks/syncFlp.task.js.map +1 -0
  222. package/flp/tasks/updateFlp.task.d.ts +2 -0
  223. package/flp/tasks/updateFlp.task.js +55 -0
  224. package/flp/tasks/updateFlp.task.js.map +1 -0
  225. package/flp/useCases/CreateFlp.d.ts +7 -0
  226. package/flp/useCases/CreateFlp.js +51 -0
  227. package/flp/useCases/CreateFlp.js.map +1 -0
  228. package/flp/useCases/DeleteFlp.d.ts +6 -0
  229. package/flp/useCases/DeleteFlp.js +30 -0
  230. package/flp/useCases/DeleteFlp.js.map +1 -0
  231. package/flp/useCases/UpdateFlp.d.ts +26 -0
  232. package/flp/useCases/UpdateFlp.js +198 -0
  233. package/flp/useCases/UpdateFlp.js.map +1 -0
  234. package/flp/useCases/index.d.ts +3 -0
  235. package/flp/useCases/index.js +40 -0
  236. package/flp/useCases/index.js.map +1 -0
  237. package/folder/createFolderModelModifier.d.ts +36 -0
  238. package/folder/createFolderModelModifier.js +70 -0
  239. package/folder/createFolderModelModifier.js.map +1 -0
  240. package/folder/createFolderTypeDefs.d.ts +7 -0
  241. package/folder/createFolderTypeDefs.js +207 -0
  242. package/folder/createFolderTypeDefs.js.map +1 -0
  243. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  244. package/folder/ensureFolderIsEmpty.js +63 -0
  245. package/folder/ensureFolderIsEmpty.js.map +1 -0
  246. package/folder/folder.crud.d.ts +5 -7
  247. package/folder/folder.crud.js +93 -225
  248. package/folder/folder.crud.js.map +1 -1
  249. package/folder/folder.gql.d.ts +3 -2
  250. package/folder/folder.gql.js +117 -177
  251. package/folder/folder.gql.js.map +1 -1
  252. package/folder/folder.model.d.ts +1 -1
  253. package/folder/folder.model.js +29 -7
  254. package/folder/folder.model.js.map +1 -1
  255. package/folder/folder.so.d.ts +2 -2
  256. package/folder/folder.so.js +31 -5
  257. package/folder/folder.so.js.map +1 -1
  258. package/folder/folder.types.d.ts +41 -8
  259. package/folder/folder.types.js.map +1 -1
  260. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -2
  261. package/folder/onFolderBeforeDeleteAco.hook.js +26 -39
  262. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -1
  263. package/folder/onFolderBeforeDeleteFm.hook.d.ts +1 -1
  264. package/folder/onFolderBeforeDeleteFm.hook.js +15 -13
  265. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -1
  266. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +1 -1
  267. package/folder/onFolderBeforeDeleteHcms.hook.js +17 -15
  268. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -1
  269. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  270. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  271. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  272. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  273. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  274. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  275. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  276. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  277. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  278. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  279. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  280. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  281. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  282. package/folder/useCases/CreateFolder/index.js +20 -0
  283. package/folder/useCases/CreateFolder/index.js.map +1 -0
  284. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  285. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  286. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  287. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  288. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  289. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  293. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  294. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  295. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  296. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  297. package/folder/useCases/DeleteFolder/index.js +20 -0
  298. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  299. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  300. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  301. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  302. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  303. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  304. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  305. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  306. package/folder/useCases/GetAncestors/index.js +16 -0
  307. package/folder/useCases/GetAncestors/index.js.map +1 -0
  308. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  309. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  310. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  311. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  312. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  313. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  314. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  315. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  316. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  317. package/folder/useCases/GetFolder/index.d.ts +13 -0
  318. package/folder/useCases/GetFolder/index.js +19 -0
  319. package/folder/useCases/GetFolder/index.js.map +1 -0
  320. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  321. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  322. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  323. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  324. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  325. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  326. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  327. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  328. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  329. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  330. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  331. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  332. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  333. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  334. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  335. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  336. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  337. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  353. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  354. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  355. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  356. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  357. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  358. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  359. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  360. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  361. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  362. package/folder/useCases/ListFolders/index.d.ts +13 -0
  363. package/folder/useCases/ListFolders/index.js +19 -0
  364. package/folder/useCases/ListFolders/index.js.map +1 -0
  365. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  366. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  367. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  368. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  369. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  370. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  371. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  372. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  373. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  377. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  378. package/folder/useCases/UpdateFolder/index.js +20 -0
  379. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  380. package/folder/useCases/index.d.ts +8 -0
  381. package/folder/useCases/index.js +95 -0
  382. package/folder/useCases/index.js.map +1 -0
  383. package/index.d.ts +4 -1
  384. package/index.js +15 -2
  385. package/index.js.map +1 -1
  386. package/package.json +33 -37
  387. package/plugins/AcoAppModifierPlugin.d.ts +3 -3
  388. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  389. package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
  390. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  391. package/plugins/index.js.map +1 -1
  392. package/record/graphql/createAppResolvers.d.ts +2 -2
  393. package/record/graphql/createAppResolvers.js.map +1 -1
  394. package/record/graphql/createAppSchema.d.ts +2 -2
  395. package/record/graphql/createAppSchema.js +4 -5
  396. package/record/graphql/createAppSchema.js.map +1 -1
  397. package/record/record.crud.d.ts +2 -2
  398. package/record/record.crud.js +10 -10
  399. package/record/record.crud.js.map +1 -1
  400. package/record/record.gql.d.ts +1 -1
  401. package/record/record.gql.js.map +1 -1
  402. package/record/record.model.d.ts +3 -3
  403. package/record/record.model.js +13 -8
  404. package/record/record.model.js.map +1 -1
  405. package/record/record.so.d.ts +2 -2
  406. package/record/record.so.js +108 -99
  407. package/record/record.so.js.map +1 -1
  408. package/record/record.types.d.ts +13 -13
  409. package/record/record.types.js.map +1 -1
  410. package/types.d.ts +30 -21
  411. package/types.js +13 -2
  412. package/types.js.map +1 -1
  413. package/utils/FoldersCacheFactory.d.ts +10 -0
  414. package/utils/FoldersCacheFactory.js +31 -0
  415. package/utils/FoldersCacheFactory.js.map +1 -0
  416. package/utils/ListCache.d.ts +23 -0
  417. package/utils/ListCache.js +31 -0
  418. package/utils/ListCache.js.map +1 -0
  419. package/utils/ListFoldersRepository.d.ts +10 -0
  420. package/utils/ListFoldersRepository.js +35 -0
  421. package/utils/ListFoldersRepository.js.map +1 -0
  422. package/utils/Path.d.ts +3 -0
  423. package/utils/Path.js +18 -0
  424. package/utils/Path.js.map +1 -0
  425. package/utils/acoRecordId.js.map +1 -1
  426. package/utils/compress.d.ts +4 -0
  427. package/utils/compress.js +19 -0
  428. package/utils/compress.js.map +1 -0
  429. package/utils/createListSort.d.ts +3 -2
  430. package/utils/createListSort.js +3 -1
  431. package/utils/createListSort.js.map +1 -1
  432. package/utils/createModelField.d.ts +1 -1
  433. package/utils/createModelField.js.map +1 -1
  434. package/utils/createOperationsWrapper.d.ts +2 -2
  435. package/utils/createOperationsWrapper.js +5 -9
  436. package/utils/createOperationsWrapper.js.map +1 -1
  437. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +2 -2
  438. package/utils/decorators/CmsEntriesCrudDecorators.js +102 -82
  439. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -1
  440. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  441. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  442. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  443. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  444. package/utils/decorators/ListEntriesFactory.js +107 -0
  445. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  446. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  447. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  448. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  449. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  450. package/utils/decorators/hasRootFolderId.js +27 -0
  451. package/utils/decorators/hasRootFolderId.js.map +1 -0
  452. package/utils/decorators/isPageModel.d.ts +1 -1
  453. package/utils/decorators/isPageModel.js.map +1 -1
  454. package/utils/ensureAuthentication.d.ts +1 -1
  455. package/utils/ensureAuthentication.js.map +1 -1
  456. package/utils/modelFactory.d.ts +1 -1
  457. package/utils/modelFactory.js.map +1 -1
  458. package/utils/pickEntryFieldValues.d.ts +1 -1
  459. package/utils/pickEntryFieldValues.js +2 -3
  460. package/utils/pickEntryFieldValues.js.map +1 -1
  461. package/utils/resolve.d.ts +1 -1
  462. package/utils/resolve.js.map +1 -1
  463. package/utils/FolderLevelPermissions.d.ts +0 -71
  464. package/utils/FolderLevelPermissions.js +0 -353
  465. package/utils/FolderLevelPermissions.js.map +0 -1
  466. package/utils/decorators/constants.d.ts +0 -1
  467. package/utils/decorators/constants.js +0 -10
  468. package/utils/decorators/constants.js.map +0 -1
  469. package/utils/decorators/createFolderType.d.ts +0 -2
  470. package/utils/decorators/createFolderType.js +0 -18
  471. package/utils/decorators/createFolderType.js.map +0 -1
  472. package/utils/decorators/filterEntriesByFolderFactory.d.ts +0 -6
  473. package/utils/decorators/filterEntriesByFolderFactory.js +0 -37
  474. package/utils/decorators/filterEntriesByFolderFactory.js.map +0 -1
  475. package/utils/decorators/where.d.ts +0 -15
  476. package/utils/decorators/where.js +0 -60
  477. package/utils/decorators/where.js.map +0 -1
  478. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  479. package/utils/getFolderAndItsAncestors.js +0 -53
  480. package/utils/getFolderAndItsAncestors.js.map +0 -1
  481. package/utils/isInstallationPending.d.ts +0 -4
  482. package/utils/isInstallationPending.js +0 -23
  483. package/utils/isInstallationPending.js.map +0 -1
package/apps/AcoApp.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { AcoContext, AcoSearchRecordCrudBase, IAcoApp, IAcoAppModifyFieldCallableCallback, IAcoAppParams } from "../types";
2
- import { CmsModel, CmsModelField } from "@webiny/api-headless-cms/types";
1
+ import type { AcoContext, AcoSearchRecordCrudBase, IAcoApp, IAcoAppModifyFieldCallableCallback, IAcoAppParams } from "../types";
2
+ import type { CmsModel, CmsModelField } from "@webiny/api-headless-cms/types";
3
3
  export declare class AcoApp implements IAcoApp {
4
4
  readonly name: string;
5
5
  readonly context: AcoContext;
package/apps/AcoApp.js CHANGED
@@ -21,7 +21,7 @@ class AcoApp {
21
21
  if (!this.onEntry) {
22
22
  return result;
23
23
  }
24
- return this.onEntry(result);
24
+ return await this.onEntry(result, this.context);
25
25
  },
26
26
  update: async (id, data) => {
27
27
  await this.execOnAnyRequest("update");
@@ -29,7 +29,7 @@ class AcoApp {
29
29
  if (!this.onEntry) {
30
30
  return result;
31
31
  }
32
- return this.onEntry(result);
32
+ return await this.onEntry(result, this.context);
33
33
  },
34
34
  move: async (id, folderId) => {
35
35
  await this.execOnAnyRequest("move");
@@ -41,7 +41,7 @@ class AcoApp {
41
41
  if (!result || !this.onEntry) {
42
42
  return result;
43
43
  }
44
- return this.onEntry(result);
44
+ return await this.onEntry(result, this.context);
45
45
  },
46
46
  list: async params => {
47
47
  await this.execOnAnyRequest("fetch");
@@ -51,7 +51,7 @@ class AcoApp {
51
51
  return result;
52
52
  }
53
53
  const [entries, meta] = result;
54
- const items = await onEntryList(entries);
54
+ const items = await onEntryList(entries, this.context);
55
55
  return [items, meta];
56
56
  },
57
57
  delete: async id => {
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_upperFirst","_camelCase","_record","createApiName","name","lodashUpperFirst","lodashCamelCase","AcoApp","search","create","data","execOnAnyRequest","result","context","aco","getModel","onEntry","update","id","move","folderId","get","list","params","onEntryList","entries","meta","items","delete","listTags","folder","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","code","model","constructor","structuredClone","modelId","toLowerCase","apiName","singularApiName","pluralApiName","index","fields","findIndex","f","fieldId","WebinyError","settings","push","getFields","addField","field","removeField","DEFAULT_FIELDS","includes","splice","modifyField","cb","action","onAnyRequest","exports"],"sources":["AcoApp.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n AcoContext,\n AcoRequestAction,\n AcoSearchRecordCrudBase,\n CreateSearchRecordParams,\n IAcoApp,\n IAcoAppModifyFieldCallableCallback,\n IAcoAppOnAnyRequest,\n IAcoAppOnEntry,\n IAcoAppOnEntryList,\n IAcoAppParams,\n ListSearchRecordsParams,\n ListSearchRecordTagsParams,\n SearchRecord\n} from \"~/types\";\nimport { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport lodashCamelCase from \"lodash/camelCase\";\nimport { DEFAULT_FIELDS } from \"~/record/record.model\";\n\nconst createApiName = (name: string) => {\n return lodashUpperFirst(lodashCamelCase(name));\n};\n\nexport class AcoApp implements IAcoApp {\n public readonly name: string;\n public readonly context: AcoContext;\n public readonly model: CmsModel;\n private readonly fields: CmsModelField[];\n private readonly onEntry?: IAcoAppOnEntry;\n private readonly onEntryList?: IAcoAppOnEntryList;\n private readonly onAnyRequest?: IAcoAppOnAnyRequest;\n\n public get search(): AcoSearchRecordCrudBase {\n return {\n create: async <TData>(data: CreateSearchRecordParams<TData>) => {\n await this.execOnAnyRequest(\"create\");\n const result = await this.context.aco.search.create<TData>(this.getModel(), data);\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n update: async <TData>(id: string, data: SearchRecord<TData>) => {\n await this.execOnAnyRequest(\"update\");\n const result = await this.context.aco.search.update<TData>(\n this.getModel(),\n id,\n data\n );\n if (!this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n move: async (id: string, folderId?: string) => {\n await this.execOnAnyRequest(\"move\");\n return this.context.aco.search.move(this.getModel(), id, folderId);\n },\n get: async <TData>(id: string) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.get<TData>(this.getModel(), id);\n if (!result || !this.onEntry) {\n return result;\n }\n return this.onEntry(result);\n },\n list: async <TData>(params: ListSearchRecordsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.list<TData>(this.getModel(), params);\n const onEntryList = this.onEntryList;\n if (!onEntryList) {\n return result;\n }\n const [entries, meta] = result;\n const items = await onEntryList(entries);\n return [items, meta];\n },\n delete: async (id: string): Promise<boolean> => {\n await this.execOnAnyRequest(\"delete\");\n return this.context.aco.search.delete(this.getModel(), id);\n },\n listTags: async (params: ListSearchRecordTagsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n return this.context.aco.search.listTags(this.getModel(), params);\n }\n };\n }\n\n public get folder() {\n return this.context.aco.folder;\n }\n\n private getModel() {\n const tenant = this.context.tenancy.getCurrentTenant().id;\n const locale = this.context.i18n.getContentLocale()!.code;\n\n return { ...this.model, tenant, locale };\n }\n\n private constructor(context: AcoContext, params: IAcoAppParams) {\n this.context = context;\n this.name = params.name;\n this.onEntry = params.onEntry;\n this.onEntryList = params.onEntryList;\n this.model = structuredClone(params.model);\n /**\n * We can safely define the api name of the model as we control everything here.\n */\n this.model.name = `${this.model.name} ${this.name}`;\n this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;\n const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;\n this.model.singularApiName = apiName;\n this.model.pluralApiName = apiName;\n\n const index = this.model.fields.findIndex(f => f.fieldId === \"data\");\n if (index === -1) {\n throw new WebinyError(\n `The \"data\" field does not exist in model \"${this.model.modelId}\".`,\n \"MODEL_DATA_FIELD_ERROR\",\n {\n modelId: this.model.modelId\n }\n );\n } else if (!this.model.fields[index].settings?.fields) {\n this.model.fields[index].settings!.fields = [];\n }\n this.fields = this.model.fields[index].settings!.fields as CmsModelField[];\n this.fields.push(...params.fields);\n }\n\n public static create(context: AcoContext, params: IAcoAppParams) {\n return new AcoApp(context, params);\n }\n\n public getFields(): CmsModelField[] {\n return this.fields;\n }\n\n public addField(field: CmsModelField): void {\n this.fields.push(field);\n }\n\n public removeField(id: string): void {\n if (DEFAULT_FIELDS.includes(id)) {\n throw new WebinyError(\n `Cannot remove the default field from the ACO App.`,\n \"REMOVE_DEFAULT_FIELD_ERROR\",\n {\n fieldId: id\n }\n );\n }\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n return;\n }\n this.fields.splice(index, 1);\n }\n\n public modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void {\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n throw new WebinyError(\n `There is no field \"${id}\" in app \"${this.name}\".`,\n \"FIELD_NOT_FOUND_ERROR\",\n {\n id\n }\n );\n }\n this.fields[index] = cb(structuredClone(this.fields[index]));\n }\n\n private async execOnAnyRequest(action: AcoRequestAction): Promise<void> {\n if (!this.onAnyRequest) {\n return;\n }\n await this.onAnyRequest(this.context, action);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_upperFirst","_camelCase","_record","createApiName","name","lodashUpperFirst","lodashCamelCase","AcoApp","search","create","data","execOnAnyRequest","result","context","aco","getModel","onEntry","update","id","move","folderId","get","list","params","onEntryList","entries","meta","items","delete","listTags","folder","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","code","model","constructor","structuredClone","modelId","toLowerCase","apiName","singularApiName","pluralApiName","index","fields","findIndex","f","fieldId","WebinyError","settings","push","getFields","addField","field","removeField","DEFAULT_FIELDS","includes","splice","modifyField","cb","action","onAnyRequest","exports"],"sources":["AcoApp.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type {\n AcoContext,\n AcoRequestAction,\n AcoSearchRecordCrudBase,\n CreateSearchRecordParams,\n GenericSearchData,\n IAcoApp,\n IAcoAppModifyFieldCallableCallback,\n IAcoAppOnAnyRequest,\n IAcoAppOnEntry,\n IAcoAppOnEntryList,\n IAcoAppParams,\n ListSearchRecordsParams,\n ListSearchRecordTagsParams,\n SearchRecord,\n UpdateSearchRecordParams\n} from \"~/types\";\nimport type { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport lodashCamelCase from \"lodash/camelCase\";\nimport { DEFAULT_FIELDS } from \"~/record/record.model\";\n\nconst createApiName = (name: string) => {\n return lodashUpperFirst(lodashCamelCase(name));\n};\n\nexport class AcoApp implements IAcoApp {\n public readonly name: string;\n public readonly context: AcoContext;\n public readonly model: CmsModel;\n private readonly fields: CmsModelField[];\n private readonly onEntry?: IAcoAppOnEntry;\n private readonly onEntryList?: IAcoAppOnEntryList;\n private readonly onAnyRequest?: IAcoAppOnAnyRequest;\n\n public get search(): AcoSearchRecordCrudBase {\n return {\n create: async <TData extends GenericSearchData = GenericSearchData>(\n data: CreateSearchRecordParams<TData>\n ) => {\n await this.execOnAnyRequest(\"create\");\n const result = await this.context.aco.search.create<TData>(this.getModel(), data);\n if (!this.onEntry) {\n return result;\n }\n return (await this.onEntry(result, this.context)) as SearchRecord<TData>;\n },\n update: async <TData extends GenericSearchData = GenericSearchData>(\n id: string,\n data: UpdateSearchRecordParams<TData>\n ) => {\n await this.execOnAnyRequest(\"update\");\n const result = await this.context.aco.search.update<TData>(\n this.getModel(),\n id,\n data\n );\n if (!this.onEntry) {\n return result;\n }\n return (await this.onEntry(result, this.context)) as SearchRecord<TData>;\n },\n move: async (id: string, folderId?: string) => {\n await this.execOnAnyRequest(\"move\");\n return this.context.aco.search.move(this.getModel(), id, folderId);\n },\n get: async <TData extends GenericSearchData = GenericSearchData>(id: string) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.get<TData>(this.getModel(), id);\n if (!result || !this.onEntry) {\n return result;\n }\n return (await this.onEntry(result, this.context)) as SearchRecord<TData>;\n },\n list: async <TData extends GenericSearchData = GenericSearchData>(\n params: ListSearchRecordsParams\n ) => {\n await this.execOnAnyRequest(\"fetch\");\n const result = await this.context.aco.search.list<TData>(this.getModel(), params);\n const onEntryList = this.onEntryList;\n if (!onEntryList) {\n return result;\n }\n const [entries, meta] = result;\n const items = (await onEntryList(entries, this.context)) as SearchRecord<TData>[];\n return [items, meta];\n },\n delete: async (id: string): Promise<boolean> => {\n await this.execOnAnyRequest(\"delete\");\n return this.context.aco.search.delete(this.getModel(), id);\n },\n listTags: async (params: ListSearchRecordTagsParams) => {\n await this.execOnAnyRequest(\"fetch\");\n return this.context.aco.search.listTags(this.getModel(), params);\n }\n };\n }\n\n public get folder() {\n return this.context.aco.folder;\n }\n\n private getModel() {\n const tenant = this.context.tenancy.getCurrentTenant().id;\n const locale = this.context.i18n.getContentLocale()!.code;\n\n return { ...this.model, tenant, locale };\n }\n\n private constructor(context: AcoContext, params: IAcoAppParams) {\n this.context = context;\n this.name = params.name;\n this.onEntry = params.onEntry;\n this.onEntryList = params.onEntryList;\n this.model = structuredClone(params.model);\n /**\n * We can safely define the api name of the model as we control everything here.\n */\n this.model.name = `${this.model.name} ${this.name}`;\n this.model.modelId = `${this.model.modelId}-${this.name.toLowerCase()}`;\n const apiName = `AcoSearchRecord${createApiName(params.apiName)}`;\n this.model.singularApiName = apiName;\n this.model.pluralApiName = apiName;\n\n const index = this.model.fields.findIndex(f => f.fieldId === \"data\");\n if (index === -1) {\n throw new WebinyError(\n `The \"data\" field does not exist in model \"${this.model.modelId}\".`,\n \"MODEL_DATA_FIELD_ERROR\",\n {\n modelId: this.model.modelId\n }\n );\n } else if (!this.model.fields[index].settings?.fields) {\n this.model.fields[index].settings!.fields = [];\n }\n this.fields = this.model.fields[index].settings!.fields as CmsModelField[];\n this.fields.push(...params.fields);\n }\n\n public static create(context: AcoContext, params: IAcoAppParams) {\n return new AcoApp(context, params);\n }\n\n public getFields(): CmsModelField[] {\n return this.fields;\n }\n\n public addField(field: CmsModelField): void {\n this.fields.push(field);\n }\n\n public removeField(id: string): void {\n if (DEFAULT_FIELDS.includes(id)) {\n throw new WebinyError(\n `Cannot remove the default field from the ACO App.`,\n \"REMOVE_DEFAULT_FIELD_ERROR\",\n {\n fieldId: id\n }\n );\n }\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n return;\n }\n this.fields.splice(index, 1);\n }\n\n public modifyField(id: string, cb: IAcoAppModifyFieldCallableCallback): void {\n const index = this.fields.findIndex(field => field.id === id);\n if (index === -1) {\n throw new WebinyError(\n `There is no field \"${id}\" in app \"${this.name}\".`,\n \"FIELD_NOT_FOUND_ERROR\",\n {\n id\n }\n );\n }\n this.fields[index] = cb(structuredClone(this.fields[index]));\n }\n\n private async execOnAnyRequest(action: AcoRequestAction): Promise<void> {\n if (!this.onAnyRequest) {\n return;\n }\n await this.onAnyRequest(this.context, action);\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAmBA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,MAAMI,aAAa,GAAIC,IAAY,IAAK;EACpC,OAAO,IAAAC,mBAAgB,EAAC,IAAAC,kBAAe,EAACF,IAAI,CAAC,CAAC;AAClD,CAAC;AAEM,MAAMG,MAAM,CAAoB;EASnC,IAAWC,MAAMA,CAAA,EAA4B;IACzC,OAAO;MACHC,MAAM,EAAE,MACJC,IAAqC,IACpC;QACD,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC;QACrC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACC,MAAM,CAAQ,IAAI,CAACM,QAAQ,CAAC,CAAC,EAAEL,IAAI,CAAC;QACjF,IAAI,CAAC,IAAI,CAACM,OAAO,EAAE;UACf,OAAOJ,MAAM;QACjB;QACA,OAAQ,MAAM,IAAI,CAACI,OAAO,CAACJ,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;MACpD,CAAC;MACDI,MAAM,EAAE,MAAAA,CACJC,EAAU,EACVR,IAAqC,KACpC;QACD,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC;QACrC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACS,MAAM,CAC/C,IAAI,CAACF,QAAQ,CAAC,CAAC,EACfG,EAAE,EACFR,IACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAACM,OAAO,EAAE;UACf,OAAOJ,MAAM;QACjB;QACA,OAAQ,MAAM,IAAI,CAACI,OAAO,CAACJ,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;MACpD,CAAC;MACDM,IAAI,EAAE,MAAAA,CAAOD,EAAU,EAAEE,QAAiB,KAAK;QAC3C,MAAM,IAAI,CAACT,gBAAgB,CAAC,MAAM,CAAC;QACnC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACW,IAAI,CAAC,IAAI,CAACJ,QAAQ,CAAC,CAAC,EAAEG,EAAE,EAAEE,QAAQ,CAAC;MACtE,CAAC;MACDC,GAAG,EAAE,MAA4DH,EAAU,IAAK;QAC5E,MAAM,IAAI,CAACP,gBAAgB,CAAC,OAAO,CAAC;QACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACa,GAAG,CAAQ,IAAI,CAACN,QAAQ,CAAC,CAAC,EAAEG,EAAE,CAAC;QAC5E,IAAI,CAACN,MAAM,IAAI,CAAC,IAAI,CAACI,OAAO,EAAE;UAC1B,OAAOJ,MAAM;QACjB;QACA,OAAQ,MAAM,IAAI,CAACI,OAAO,CAACJ,MAAM,EAAE,IAAI,CAACC,OAAO,CAAC;MACpD,CAAC;MACDS,IAAI,EAAE,MACFC,MAA+B,IAC9B;QACD,MAAM,IAAI,CAACZ,gBAAgB,CAAC,OAAO,CAAC;QACpC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,OAAO,CAACC,GAAG,CAACN,MAAM,CAACc,IAAI,CAAQ,IAAI,CAACP,QAAQ,CAAC,CAAC,EAAEQ,MAAM,CAAC;QACjF,MAAMC,WAAW,GAAG,IAAI,CAACA,WAAW;QACpC,IAAI,CAACA,WAAW,EAAE;UACd,OAAOZ,MAAM;QACjB;QACA,MAAM,CAACa,OAAO,EAAEC,IAAI,CAAC,GAAGd,MAAM;QAC9B,MAAMe,KAAK,GAAI,MAAMH,WAAW,CAACC,OAAO,EAAE,IAAI,CAACZ,OAAO,CAA2B;QACjF,OAAO,CAACc,KAAK,EAAED,IAAI,CAAC;MACxB,CAAC;MACDE,MAAM,EAAE,MAAOV,EAAU,IAAuB;QAC5C,MAAM,IAAI,CAACP,gBAAgB,CAAC,QAAQ,CAAC;QACrC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACoB,MAAM,CAAC,IAAI,CAACb,QAAQ,CAAC,CAAC,EAAEG,EAAE,CAAC;MAC9D,CAAC;MACDW,QAAQ,EAAE,MAAON,MAAkC,IAAK;QACpD,MAAM,IAAI,CAACZ,gBAAgB,CAAC,OAAO,CAAC;QACpC,OAAO,IAAI,CAACE,OAAO,CAACC,GAAG,CAACN,MAAM,CAACqB,QAAQ,CAAC,IAAI,CAACd,QAAQ,CAAC,CAAC,EAAEQ,MAAM,CAAC;MACpE;IACJ,CAAC;EACL;EAEA,IAAWO,MAAMA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACjB,OAAO,CAACC,GAAG,CAACgB,MAAM;EAClC;EAEQf,QAAQA,CAAA,EAAG;IACf,MAAMgB,MAAM,GAAG,IAAI,CAAClB,OAAO,CAACmB,OAAO,CAACC,gBAAgB,CAAC,CAAC,CAACf,EAAE;IACzD,MAAMgB,MAAM,GAAG,IAAI,CAACrB,OAAO,CAACsB,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAEC,IAAI;IAEzD,OAAO;MAAE,GAAG,IAAI,CAACC,KAAK;MAAEP,MAAM;MAAEG;IAAO,CAAC;EAC5C;EAEQK,WAAWA,CAAC1B,OAAmB,EAAEU,MAAqB,EAAE;IAC5D,IAAI,CAACV,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACT,IAAI,GAAGmB,MAAM,CAACnB,IAAI;IACvB,IAAI,CAACY,OAAO,GAAGO,MAAM,CAACP,OAAO;IAC7B,IAAI,CAACQ,WAAW,GAAGD,MAAM,CAACC,WAAW;IACrC,IAAI,CAACc,KAAK,GAAGE,eAAe,CAACjB,MAAM,CAACe,KAAK,CAAC;IAC1C;AACR;AACA;IACQ,IAAI,CAACA,KAAK,CAAClC,IAAI,GAAG,GAAG,IAAI,CAACkC,KAAK,CAAClC,IAAI,IAAI,IAAI,CAACA,IAAI,EAAE;IACnD,IAAI,CAACkC,KAAK,CAACG,OAAO,GAAG,GAAG,IAAI,CAACH,KAAK,CAACG,OAAO,IAAI,IAAI,CAACrC,IAAI,CAACsC,WAAW,CAAC,CAAC,EAAE;IACvE,MAAMC,OAAO,GAAG,kBAAkBxC,aAAa,CAACoB,MAAM,CAACoB,OAAO,CAAC,EAAE;IACjE,IAAI,CAACL,KAAK,CAACM,eAAe,GAAGD,OAAO;IACpC,IAAI,CAACL,KAAK,CAACO,aAAa,GAAGF,OAAO;IAElC,MAAMG,KAAK,GAAG,IAAI,CAACR,KAAK,CAACS,MAAM,CAACC,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,MAAM,CAAC;IACpE,IAAIJ,KAAK,KAAK,CAAC,CAAC,EAAE;MACd,MAAM,IAAIK,cAAW,CACjB,6CAA6C,IAAI,CAACb,KAAK,CAACG,OAAO,IAAI,EACnE,wBAAwB,EACxB;QACIA,OAAO,EAAE,IAAI,CAACH,KAAK,CAACG;MACxB,CACJ,CAAC;IACL,CAAC,MAAM,IAAI,CAAC,IAAI,CAACH,KAAK,CAACS,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,EAAEL,MAAM,EAAE;MACnD,IAAI,CAACT,KAAK,CAACS,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,CAAEL,MAAM,GAAG,EAAE;IAClD;IACA,IAAI,CAACA,MAAM,GAAG,IAAI,CAACT,KAAK,CAACS,MAAM,CAACD,KAAK,CAAC,CAACM,QAAQ,CAAEL,MAAyB;IAC1E,IAAI,CAACA,MAAM,CAACM,IAAI,CAAC,GAAG9B,MAAM,CAACwB,MAAM,CAAC;EACtC;EAEA,OAActC,MAAMA,CAACI,OAAmB,EAAEU,MAAqB,EAAE;IAC7D,OAAO,IAAIhB,MAAM,CAACM,OAAO,EAAEU,MAAM,CAAC;EACtC;EAEO+B,SAASA,CAAA,EAAoB;IAChC,OAAO,IAAI,CAACP,MAAM;EACtB;EAEOQ,QAAQA,CAACC,KAAoB,EAAQ;IACxC,IAAI,CAACT,MAAM,CAACM,IAAI,CAACG,KAAK,CAAC;EAC3B;EAEOC,WAAWA,CAACvC,EAAU,EAAQ;IACjC,IAAIwC,sBAAc,CAACC,QAAQ,CAACzC,EAAE,CAAC,EAAE;MAC7B,MAAM,IAAIiC,cAAW,CACjB,mDAAmD,EACnD,4BAA4B,EAC5B;QACID,OAAO,EAAEhC;MACb,CACJ,CAAC;IACL;IACA,MAAM4B,KAAK,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAACQ,KAAK,IAAIA,KAAK,CAACtC,EAAE,KAAKA,EAAE,CAAC;IAC7D,IAAI4B,KAAK,KAAK,CAAC,CAAC,EAAE;MACd;IACJ;IACA,IAAI,CAACC,MAAM,CAACa,MAAM,CAACd,KAAK,EAAE,CAAC,CAAC;EAChC;EAEOe,WAAWA,CAAC3C,EAAU,EAAE4C,EAAsC,EAAQ;IACzE,MAAMhB,KAAK,GAAG,IAAI,CAACC,MAAM,CAACC,SAAS,CAACQ,KAAK,IAAIA,KAAK,CAACtC,EAAE,KAAKA,EAAE,CAAC;IAC7D,IAAI4B,KAAK,KAAK,CAAC,CAAC,EAAE;MACd,MAAM,IAAIK,cAAW,CACjB,sBAAsBjC,EAAE,aAAa,IAAI,CAACd,IAAI,IAAI,EAClD,uBAAuB,EACvB;QACIc;MACJ,CACJ,CAAC;IACL;IACA,IAAI,CAAC6B,MAAM,CAACD,KAAK,CAAC,GAAGgB,EAAE,CAACtB,eAAe,CAAC,IAAI,CAACO,MAAM,CAACD,KAAK,CAAC,CAAC,CAAC;EAChE;EAEA,MAAcnC,gBAAgBA,CAACoD,MAAwB,EAAiB;IACpE,IAAI,CAAC,IAAI,CAACC,YAAY,EAAE;MACpB;IACJ;IACA,MAAM,IAAI,CAACA,YAAY,CAAC,IAAI,CAACnD,OAAO,EAAEkD,MAAM,CAAC;EACjD;AACJ;AAACE,OAAA,CAAA1D,MAAA,GAAAA,MAAA","ignoreList":[]}
package/apps/AcoApps.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from "../types";
1
+ import type { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from "../types";
2
2
  export declare class AcoApps implements IAcoApps {
3
3
  private readonly apps;
4
4
  private readonly context;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_AcoApp","_plugins","_apiHeadlessCms","_record","AcoApps","apps","Map","constructor","context","options","get","name","app","WebinyError","Array","from","keys","list","values","register","exists","has","AcoApp","create","modifiers","plugins","byType","AcoAppModifierPlugin","type","modifier","canUse","modify","CmsModelPlugin","model","singularApiName","undefined","pluralApiName","isPrivate","noValidate","set","searchRecordSchema","createSchema","exports"],"sources":["AcoApps.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoApp } from \"./AcoApp\";\nimport { AcoAppModifierPlugin } from \"~/plugins\";\nimport { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from \"~/types\";\nimport { CmsModelPlugin } from \"@webiny/api-headless-cms\";\nimport { createSchema } from \"~/record/record.gql\";\n\nexport class AcoApps implements IAcoApps {\n private readonly apps: Map<string, IAcoApp> = new Map();\n private readonly context: AcoContext;\n private readonly options: IAcoAppsOptions;\n\n public constructor(context: AcoContext, options: IAcoAppsOptions) {\n this.context = context;\n this.options = options;\n }\n\n public get(name: string): IAcoApp {\n const app = this.apps.get(name);\n if (app) {\n return app;\n }\n throw new WebinyError(`App \"${name}\" is not registered.`, \"APP_NOT_REGISTERED\", {\n name,\n apps: Array.from(this.apps.keys())\n });\n }\n\n public list(): IAcoApp[] {\n return Array.from(this.apps.values());\n }\n\n public async register(options: IAcoAppParams): Promise<IAcoApp> {\n const exists = this.apps.has(options.name);\n if (exists) {\n throw new WebinyError(\n `An app with the name \"${options.name}\" is already registered.`,\n \"APP_EXISTS\",\n {\n name: options.name\n }\n );\n }\n /**\n * We need to create the app and run the modifiers on it.\n */\n const app = AcoApp.create(this.context, options);\n const modifiers = this.context.plugins.byType<AcoAppModifierPlugin>(\n AcoAppModifierPlugin.type\n );\n for (const modifier of modifiers) {\n if (modifier.canUse(app) === false) {\n continue;\n }\n await modifier.modify({\n context: this.context,\n app\n });\n }\n /**\n * Also, we need to register the app model as the plugin one, so it can be used in the CMS.\n * We do not need to validate model or show it in the API.\n */\n this.context.plugins.register(\n new CmsModelPlugin({\n ...app.model,\n singularApiName: undefined,\n pluralApiName: undefined,\n isPrivate: true,\n noValidate: true\n })\n );\n this.apps.set(app.name, app);\n\n const searchRecordSchema = await createSchema({\n context: this.context,\n app\n });\n this.context.plugins.register(searchRecordSchema);\n\n return app;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,OAAO,CAAqB;EACpBC,IAAI,GAAyB,IAAIC,GAAG,CAAC,CAAC;EAIhDC,WAAWA,CAACC,OAAmB,EAAEC,OAAwB,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEOC,GAAGA,CAACC,IAAY,EAAW;IAC9B,MAAMC,GAAG,GAAG,IAAI,CAACP,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC;IAC/B,IAAIC,GAAG,EAAE;MACL,OAAOA,GAAG;IACd;IACA,MAAM,IAAIC,cAAW,CAAE,QAAOF,IAAK,sBAAqB,EAAE,oBAAoB,EAAE;MAC5EA,IAAI;MACJN,IAAI,EAAES,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACW,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;EACN;EAEOC,IAAIA,CAAA,EAAc;IACrB,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACa,MAAM,CAAC,CAAC,CAAC;EACzC;EAEA,MAAaC,QAAQA,CAACV,OAAsB,EAAoB;IAC5D,MAAMW,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,GAAG,CAACZ,OAAO,CAACE,IAAI,CAAC;IAC1C,IAAIS,MAAM,EAAE;MACR,MAAM,IAAIP,cAAW,CAChB,yBAAwBJ,OAAO,CAACE,IAAK,0BAAyB,EAC/D,YAAY,EACZ;QACIA,IAAI,EAAEF,OAAO,CAACE;MAClB,CACJ,CAAC;IACL;IACA;AACR;AACA;IACQ,MAAMC,GAAG,GAAGU,cAAM,CAACC,MAAM,CAAC,IAAI,CAACf,OAAO,EAAEC,OAAO,CAAC;IAChD,MAAMe,SAAS,GAAG,IAAI,CAAChB,OAAO,CAACiB,OAAO,CAACC,MAAM,CACzCC,6BAAoB,CAACC,IACzB,CAAC;IACD,KAAK,MAAMC,QAAQ,IAAIL,SAAS,EAAE;MAC9B,IAAIK,QAAQ,CAACC,MAAM,CAAClB,GAAG,CAAC,KAAK,KAAK,EAAE;QAChC;MACJ;MACA,MAAMiB,QAAQ,CAACE,MAAM,CAAC;QAClBvB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CACzB,IAAIa,8BAAc,CAAC;MACf,GAAGpB,GAAG,CAACqB,KAAK;MACZC,eAAe,EAAEC,SAAS;MAC1BC,aAAa,EAAED,SAAS;MACxBE,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE;IAChB,CAAC,CACL,CAAC;IACD,IAAI,CAACjC,IAAI,CAACkC,GAAG,CAAC3B,GAAG,CAACD,IAAI,EAAEC,GAAG,CAAC;IAE5B,MAAM4B,kBAAkB,GAAG,MAAM,IAAAC,oBAAY,EAAC;MAC1CjC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI;IACJ,CAAC,CAAC;IACF,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CAACqB,kBAAkB,CAAC;IAEjD,OAAO5B,GAAG;EACd;AACJ;AAAC8B,OAAA,CAAAtC,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_AcoApp","_plugins","_apiHeadlessCms","_record","AcoApps","apps","Map","constructor","context","options","get","name","app","WebinyError","Array","from","keys","list","values","register","exists","has","AcoApp","create","modifiers","plugins","byType","AcoAppModifierPlugin","type","modifier","canUse","modify","CmsModelPlugin","model","singularApiName","undefined","pluralApiName","isPrivate","noValidate","set","searchRecordSchema","createSchema","exports"],"sources":["AcoApps.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { AcoApp } from \"./AcoApp\";\nimport { AcoAppModifierPlugin } from \"~/plugins\";\nimport type { AcoContext, IAcoApp, IAcoAppParams, IAcoApps, IAcoAppsOptions } from \"~/types\";\nimport { CmsModelPlugin } from \"@webiny/api-headless-cms\";\nimport { createSchema } from \"~/record/record.gql\";\n\nexport class AcoApps implements IAcoApps {\n private readonly apps: Map<string, IAcoApp> = new Map();\n private readonly context: AcoContext;\n private readonly options: IAcoAppsOptions;\n\n public constructor(context: AcoContext, options: IAcoAppsOptions) {\n this.context = context;\n this.options = options;\n }\n\n public get(name: string): IAcoApp {\n const app = this.apps.get(name);\n if (app) {\n return app;\n }\n throw new WebinyError(`App \"${name}\" is not registered.`, \"APP_NOT_REGISTERED\", {\n name,\n apps: Array.from(this.apps.keys())\n });\n }\n\n public list(): IAcoApp[] {\n return Array.from(this.apps.values());\n }\n\n public async register(options: IAcoAppParams): Promise<IAcoApp> {\n const exists = this.apps.has(options.name);\n if (exists) {\n throw new WebinyError(\n `An app with the name \"${options.name}\" is already registered.`,\n \"APP_EXISTS\",\n {\n name: options.name\n }\n );\n }\n /**\n * We need to create the app and run the modifiers on it.\n */\n const app = AcoApp.create(this.context, options);\n const modifiers = this.context.plugins.byType<AcoAppModifierPlugin>(\n AcoAppModifierPlugin.type\n );\n for (const modifier of modifiers) {\n if (modifier.canUse(app) === false) {\n continue;\n }\n await modifier.modify({\n context: this.context,\n app\n });\n }\n /**\n * Also, we need to register the app model as the plugin one, so it can be used in the CMS.\n * We do not need to validate model or show it in the API.\n */\n this.context.plugins.register(\n new CmsModelPlugin({\n ...app.model,\n singularApiName: undefined,\n pluralApiName: undefined,\n isPrivate: true,\n noValidate: true\n })\n );\n this.apps.set(app.name, app);\n\n const searchRecordSchema = await createSchema({\n context: this.context,\n app\n });\n this.context.plugins.register(searchRecordSchema);\n\n return app;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,OAAO,CAAqB;EACpBC,IAAI,GAAyB,IAAIC,GAAG,CAAC,CAAC;EAIhDC,WAAWA,CAACC,OAAmB,EAAEC,OAAwB,EAAE;IAC9D,IAAI,CAACD,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,OAAO,GAAGA,OAAO;EAC1B;EAEOC,GAAGA,CAACC,IAAY,EAAW;IAC9B,MAAMC,GAAG,GAAG,IAAI,CAACP,IAAI,CAACK,GAAG,CAACC,IAAI,CAAC;IAC/B,IAAIC,GAAG,EAAE;MACL,OAAOA,GAAG;IACd;IACA,MAAM,IAAIC,cAAW,CAAC,QAAQF,IAAI,sBAAsB,EAAE,oBAAoB,EAAE;MAC5EA,IAAI;MACJN,IAAI,EAAES,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACW,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;EACN;EAEOC,IAAIA,CAAA,EAAc;IACrB,OAAOH,KAAK,CAACC,IAAI,CAAC,IAAI,CAACV,IAAI,CAACa,MAAM,CAAC,CAAC,CAAC;EACzC;EAEA,MAAaC,QAAQA,CAACV,OAAsB,EAAoB;IAC5D,MAAMW,MAAM,GAAG,IAAI,CAACf,IAAI,CAACgB,GAAG,CAACZ,OAAO,CAACE,IAAI,CAAC;IAC1C,IAAIS,MAAM,EAAE;MACR,MAAM,IAAIP,cAAW,CACjB,yBAAyBJ,OAAO,CAACE,IAAI,0BAA0B,EAC/D,YAAY,EACZ;QACIA,IAAI,EAAEF,OAAO,CAACE;MAClB,CACJ,CAAC;IACL;IACA;AACR;AACA;IACQ,MAAMC,GAAG,GAAGU,cAAM,CAACC,MAAM,CAAC,IAAI,CAACf,OAAO,EAAEC,OAAO,CAAC;IAChD,MAAMe,SAAS,GAAG,IAAI,CAAChB,OAAO,CAACiB,OAAO,CAACC,MAAM,CACzCC,6BAAoB,CAACC,IACzB,CAAC;IACD,KAAK,MAAMC,QAAQ,IAAIL,SAAS,EAAE;MAC9B,IAAIK,QAAQ,CAACC,MAAM,CAAClB,GAAG,CAAC,KAAK,KAAK,EAAE;QAChC;MACJ;MACA,MAAMiB,QAAQ,CAACE,MAAM,CAAC;QAClBvB,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBI;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CACzB,IAAIa,8BAAc,CAAC;MACf,GAAGpB,GAAG,CAACqB,KAAK;MACZC,eAAe,EAAEC,SAAS;MAC1BC,aAAa,EAAED,SAAS;MACxBE,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE;IAChB,CAAC,CACL,CAAC;IACD,IAAI,CAACjC,IAAI,CAACkC,GAAG,CAAC3B,GAAG,CAACD,IAAI,EAAEC,GAAG,CAAC;IAE5B,MAAM4B,kBAAkB,GAAG,MAAM,IAAAC,oBAAY,EAAC;MAC1CjC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBI;IACJ,CAAC,CAAC;IACF,IAAI,CAACJ,OAAO,CAACiB,OAAO,CAACN,QAAQ,CAACqB,kBAAkB,CAAC;IAEjD,OAAO5B,GAAG;EACd;AACJ;AAAC8B,OAAA,CAAAtC,OAAA,GAAAA,OAAA","ignoreList":[]}
package/apps/app.gql.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import { AcoContext } from "../types";
2
+ import type { AcoContext } from "../types";
3
3
  export declare const appGql: GraphQLSchemaPlugin<AcoContext>;
package/apps/app.gql.js CHANGED
@@ -12,7 +12,7 @@ var _resolve = require("../utils/resolve");
12
12
  const cleanModel = model => {
13
13
  return (0, _omit.default)(model, ["webinyVersion", "tags", "locale", "tenant", "layout", "group", "description", "isPrivate"]);
14
14
  };
15
- const appGql = new _handlerGraphql.GraphQLSchemaPlugin({
15
+ const appGql = exports.appGql = new _handlerGraphql.GraphQLSchemaPlugin({
16
16
  typeDefs: /* GraphQL */`
17
17
  type AcoApp {
18
18
  id: ID!
@@ -55,6 +55,5 @@ const appGql = new _handlerGraphql.GraphQLSchemaPlugin({
55
55
  }
56
56
  }
57
57
  });
58
- exports.appGql = appGql;
59
58
 
60
59
  //# sourceMappingURL=app.gql.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_omit","_interopRequireDefault","_ensureAuthentication","_resolve","cleanModel","model","lodashOmit","appGql","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getApp","_","args","context","resolve","ensureAuthentication","app","aco","id","name","getAppModel","exports"],"sources":["app.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { AcoContext } from \"~/types\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport lodashOmit from \"lodash/omit\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\n\nconst cleanModel = (model: CmsModel): Partial<CmsModel> => {\n return lodashOmit(model, [\n \"webinyVersion\",\n \"tags\",\n \"locale\",\n \"tenant\",\n \"layout\",\n \"group\",\n \"description\",\n \"isPrivate\"\n ]);\n};\n\nexport const appGql = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n type AcoApp {\n id: ID!\n name: String!\n model: JSON!\n }\n type GetAppResponse {\n data: AcoApp\n error: AcoError\n }\n type GetAppModelResponse {\n data: JSON\n error: AcoError\n }\n extend type AcoQuery {\n getApp(id: ID!): GetAppResponse!\n getAppModel(id: ID!): GetAppModelResponse!\n }\n `,\n resolvers: {\n AcoQuery: {\n getApp: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return {\n id: args.id,\n name: app.name,\n model: cleanModel(app.model)\n };\n });\n },\n getAppModel: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return cleanModel(app.model);\n });\n }\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAIC,KAAe,IAAwB;EACvD,OAAO,IAAAC,aAAU,EAACD,KAAK,EAAE,CACrB,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAW,CACd,CAAC;AACN,CAAC;AAEM,MAAME,MAAM,GAAG,IAAIC,mCAAmB,CAAa;EACtDC,QAAQ,EAAE,aAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,MAAM,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QAChC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAO;YACHA,EAAE,EAAEN,IAAI,CAACM,EAAE;YACXC,IAAI,EAAEH,GAAG,CAACG,IAAI;YACdhB,KAAK,EAAED,UAAU,CAACc,GAAG,CAACb,KAAK;UAC/B,CAAC;QACL,CAAC,CAAC;MACN,CAAC;MACDiB,WAAW,EAAE,MAAAA,CAAOT,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAOhB,UAAU,CAACc,GAAG,CAACb,KAAK,CAAC;QAChC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC;AAACkB,OAAA,CAAAhB,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_handlerGraphql","require","_omit","_interopRequireDefault","_ensureAuthentication","_resolve","cleanModel","model","lodashOmit","appGql","exports","GraphQLSchemaPlugin","typeDefs","resolvers","AcoQuery","getApp","_","args","context","resolve","ensureAuthentication","app","aco","id","name","getAppModel"],"sources":["app.gql.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { AcoContext } from \"~/types\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport lodashOmit from \"lodash/omit\";\nimport { ensureAuthentication } from \"~/utils/ensureAuthentication\";\nimport { resolve } from \"~/utils/resolve\";\n\nconst cleanModel = (model: CmsModel): Partial<CmsModel> => {\n return lodashOmit(model, [\n \"webinyVersion\",\n \"tags\",\n \"locale\",\n \"tenant\",\n \"layout\",\n \"group\",\n \"description\",\n \"isPrivate\"\n ]);\n};\n\nexport const appGql = new GraphQLSchemaPlugin<AcoContext>({\n typeDefs: /* GraphQL */ `\n type AcoApp {\n id: ID!\n name: String!\n model: JSON!\n }\n type GetAppResponse {\n data: AcoApp\n error: AcoError\n }\n type GetAppModelResponse {\n data: JSON\n error: AcoError\n }\n extend type AcoQuery {\n getApp(id: ID!): GetAppResponse!\n getAppModel(id: ID!): GetAppModelResponse!\n }\n `,\n resolvers: {\n AcoQuery: {\n getApp: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return {\n id: args.id,\n name: app.name,\n model: cleanModel(app.model)\n };\n });\n },\n getAppModel: async (_, args, context) => {\n return resolve(async () => {\n ensureAuthentication(context);\n const app = context.aco.getApp(args.id);\n return cleanModel(app.model);\n });\n }\n }\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAIC,KAAe,IAAwB;EACvD,OAAO,IAAAC,aAAU,EAACD,KAAK,EAAE,CACrB,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,WAAW,CACd,CAAC;AACN,CAAC;AAEM,MAAME,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAIE,mCAAmB,CAAa;EACtDC,QAAQ,EAAE,aAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;EACDC,SAAS,EAAE;IACPC,QAAQ,EAAE;MACNC,MAAM,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QAChC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAO;YACHA,EAAE,EAAEN,IAAI,CAACM,EAAE;YACXC,IAAI,EAAEH,GAAG,CAACG,IAAI;YACdjB,KAAK,EAAED,UAAU,CAACe,GAAG,CAACd,KAAK;UAC/B,CAAC;QACL,CAAC,CAAC;MACN,CAAC;MACDkB,WAAW,EAAE,MAAAA,CAAOT,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;QACrC,OAAO,IAAAC,gBAAO,EAAC,YAAY;UACvB,IAAAC,0CAAoB,EAACF,OAAO,CAAC;UAC7B,MAAMG,GAAG,GAAGH,OAAO,CAACI,GAAG,CAACP,MAAM,CAACE,IAAI,CAACM,EAAE,CAAC;UACvC,OAAOjB,UAAU,CAACe,GAAG,CAACd,KAAK,CAAC;QAChC,CAAC,CAAC;MACN;IACJ;EACJ;AACJ,CAAC,CAAC","ignoreList":[]}
package/apps/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_AcoApp","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_AcoApps"],"sources":["index.ts"],"sourcesContent":["export * from \"./AcoApp\";\nexport * from \"./AcoApps\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_AcoApp","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_AcoApps"],"sources":["index.ts"],"sourcesContent":["export * from \"./AcoApp\";\nexport * from \"./AcoApps\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
package/constants.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from "@webiny/shared-aco";
2
+ export declare const PB_PAGE_TYPE = "PbPage";
3
+ export declare const FM_FILE_TYPE = "FmFile";
package/constants.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ PB_PAGE_TYPE: true,
8
+ FM_FILE_TYPE: true
9
+ };
10
+ exports.PB_PAGE_TYPE = exports.FM_FILE_TYPE = void 0;
11
+ var _sharedAco = require("@webiny/shared-aco");
12
+ Object.keys(_sharedAco).forEach(function (key) {
13
+ if (key === "default" || key === "__esModule") return;
14
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
15
+ if (key in exports && exports[key] === _sharedAco[key]) return;
16
+ Object.defineProperty(exports, key, {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _sharedAco[key];
20
+ }
21
+ });
22
+ });
23
+ const PB_PAGE_TYPE = exports.PB_PAGE_TYPE = "PbPage";
24
+ const FM_FILE_TYPE = exports.FM_FILE_TYPE = "FmFile";
25
+
26
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_sharedAco","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","PB_PAGE_TYPE","FM_FILE_TYPE"],"sources":["constants.ts"],"sourcesContent":["export * from \"@webiny/shared-aco\";\nexport const PB_PAGE_TYPE = \"PbPage\";\nexport const FM_FILE_TYPE = \"FmFile\";\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACO,MAAMS,YAAY,GAAAJ,OAAA,CAAAI,YAAA,GAAG,QAAQ;AAC7B,MAAMC,YAAY,GAAAL,OAAA,CAAAK,YAAA,GAAG,QAAQ","ignoreList":[]}
@@ -1,7 +1,9 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { AcoContext } from "./types";
2
+ import type { DynamoDBDocument } from "@webiny/aws-sdk/client-dynamodb";
3
+ import type { AcoContext } from "./types";
3
4
  interface CreateAcoContextParams {
4
5
  useFolderLevelPermissions?: boolean;
6
+ documentClient: DynamoDBDocument;
5
7
  }
6
- export declare const createAcoContext: (params?: CreateAcoContextParams) => ContextPlugin<AcoContext>;
8
+ export declare const createAcoContext: (params: CreateAcoContextParams) => ContextPlugin<AcoContext>;
7
9
  export {};
@@ -7,20 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.createAcoContext = void 0;
8
8
  var _error = _interopRequireDefault(require("@webiny/error"));
9
9
  var _api = require("@webiny/api");
10
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
10
11
  var _createAcoHooks = require("./createAcoHooks");
11
12
  var _createAcoStorageOperations = require("./createAcoStorageOperations");
12
- var _isInstallationPending = require("./utils/isInstallationPending");
13
13
  var _folder = require("./folder/folder.crud");
14
14
  var _record = require("./record/record.crud");
15
15
  var _apps = require("./apps");
16
16
  var _record2 = require("./record/record.model");
17
17
  var _plugins = require("./plugins");
18
- var _FolderLevelPermissions = require("./utils/FolderLevelPermissions");
19
18
  var _CmsEntriesCrudDecorators = require("./utils/decorators/CmsEntriesCrudDecorators");
20
- var _folder2 = require("./folder/folder.model");
21
- var _createOperationsWrapper = require("./utils/createOperationsWrapper");
22
- var _pickEntryFieldValues = require("./utils/pickEntryFieldValues");
23
19
  var _filter = require("./filter/filter.crud");
20
+ var _flp = require("./flp");
24
21
  const setupAcoContext = async (context, setupAcoContextParams) => {
25
22
  const {
26
23
  tenancy,
@@ -37,7 +34,7 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
37
34
  const getTenant = () => {
38
35
  return tenancy.getCurrentTenant();
39
36
  };
40
- const storageOperations = (0, _createAcoStorageOperations.createAcoStorageOperations)({
37
+ const storageOperations = await (0, _createAcoStorageOperations.createAcoStorageOperations)({
41
38
  /**
42
39
  * TODO: We need to figure out a way to pass "cms" from outside (e.g. apps/api/graphql)
43
40
  */
@@ -46,67 +43,17 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
46
43
  * TODO: This is required for "entryFieldFromStorageTransform" which access plugins from context.
47
44
  */
48
45
  getCmsContext: () => context,
46
+ documentClient: setupAcoContextParams.documentClient,
49
47
  security
50
48
  });
51
- const folderLevelPermissions = new _FolderLevelPermissions.FolderLevelPermissions({
52
- getIdentity: () => security.getIdentity(),
53
- getIdentityTeam: async () => {
54
- return security.withoutAuthorization(async () => {
55
- const identity = security.getIdentity();
56
- if (!identity) {
57
- return null;
58
- }
59
- const adminUser = await context.adminUsers.getUser({
60
- where: {
61
- id: identity.id
62
- }
63
- });
64
- if (!adminUser) {
65
- return null;
66
- }
67
- if (!adminUser.team) {
68
- return null;
69
- }
70
- return context.security.getTeam({
71
- where: {
72
- id: adminUser.team
73
- }
74
- });
75
- });
76
- },
77
- listPermissions: () => security.listPermissions(),
78
- listAllFolders: type => {
79
- // When retrieving a list of all folders, we want to do it in the
80
- // fastest way and that is by directly using CMS's storage operations.
81
- const {
82
- withModel
83
- } = (0, _createOperationsWrapper.createOperationsWrapper)({
84
- modelName: _folder2.FOLDER_MODEL_ID,
85
- cms: context.cms,
86
- getCmsContext: () => context,
87
- security
88
- });
89
- return withModel(async model => {
90
- const results = await context.cms.storageOperations.entries.list(model, {
91
- limit: 100_000,
92
- where: {
93
- type,
94
- // Folders always work with latest entries. We never publish them.
95
- latest: true
96
- },
97
- sort: ["title_ASC"]
98
- });
99
- return results.items.map(_pickEntryFieldValues.pickEntryFieldValues);
100
- });
101
- },
102
- canUseTeams: () => context.wcp.canUseTeams(),
103
- canUseFolderLevelPermissions: () => {
104
- if (setupAcoContextParams.useFolderLevelPermissions === false) {
105
- return false;
106
- }
107
- return context.wcp.canUseFolderLevelPermissions();
108
- },
109
- isAuthorizationEnabled: () => context.security.isAuthorizationEnabled()
49
+ const flpCrudMethods = (0, _flp.createFlpCrudMethods)({
50
+ getLocale,
51
+ getTenant,
52
+ storageOperations
53
+ });
54
+ const folderLevelPermissions = new _flp.FolderLevelPermissions({
55
+ context,
56
+ crud: flpCrudMethods
110
57
  });
111
58
  const params = {
112
59
  getLocale,
@@ -132,25 +79,15 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
132
79
  ...plugin.app
133
80
  });
134
81
  }
135
- const listAdminUsers = () => {
136
- return security.withoutAuthorization(async () => {
137
- return context.adminUsers.listUsers();
138
- });
139
- };
140
- const listTeams = () => {
141
- return security.withoutAuthorization(async () => {
142
- return context.security.listTeams();
143
- });
144
- };
145
82
  context.aco = {
146
83
  folder: (0, _folder.createFolderCrudMethods)({
147
84
  ...params,
148
- listAdminUsers,
149
- listTeams
85
+ context
150
86
  }),
151
87
  search: (0, _record.createSearchRecordCrudMethods)(params),
152
88
  folderLevelPermissions,
153
89
  filter: (0, _filter.createFilterCrudMethods)(params),
90
+ flp: flpCrudMethods,
154
91
  apps,
155
92
  getApp: name => apps.get(name),
156
93
  listApps: () => apps.list(),
@@ -170,13 +107,12 @@ const setupAcoContext = async (context, setupAcoContextParams) => {
170
107
  // new PageBuilderCrudDecorators({ context }).decorate();
171
108
  }
172
109
  };
173
-
174
- const createAcoContext = (params = {}) => {
110
+ const createAcoContext = params => {
175
111
  const plugin = new _api.ContextPlugin(async context => {
176
112
  /**
177
113
  * We can skip the ACO initialization if the installation is pending.
178
114
  */
179
- if ((0, _isInstallationPending.isInstallationPending)(context)) {
115
+ if (!(await (0, _apiHeadlessCms.isHeadlessCmsReady)(context))) {
180
116
  return;
181
117
  }
182
118
  await context.benchmark.measure("aco.context.setup", async () => {
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_api","_createAcoHooks","_createAcoStorageOperations","_isInstallationPending","_folder","_record","_apps","_record2","_plugins","_FolderLevelPermissions","_CmsEntriesCrudDecorators","_folder2","_createOperationsWrapper","_pickEntryFieldValues","_filter","setupAcoContext","context","setupAcoContextParams","tenancy","security","i18n","getLocale","locale","getContentLocale","WebinyError","getTenant","getCurrentTenant","storageOperations","createAcoStorageOperations","cms","getCmsContext","folderLevelPermissions","FolderLevelPermissions","getIdentity","getIdentityTeam","withoutAuthorization","identity","adminUser","adminUsers","getUser","where","id","team","getTeam","listPermissions","listAllFolders","type","withModel","createOperationsWrapper","modelName","FOLDER_MODEL_ID","model","results","entries","list","limit","latest","sort","items","map","pickEntryFieldValues","canUseTeams","wcp","canUseFolderLevelPermissions","useFolderLevelPermissions","isAuthorizationEnabled","params","defaultRecordModel","getModel","SEARCH_RECORD_MODEL_ID","apps","AcoApps","plugins","byType","AcoAppRegisterPlugin","plugin","register","app","listAdminUsers","listUsers","listTeams","aco","folder","createFolderCrudMethods","search","createSearchRecordCrudMethods","filter","createFilterCrudMethods","getApp","name","get","listApps","registerApp","CmsEntriesCrudDecorators","decorate","createAcoContext","ContextPlugin","isInstallationPending","benchmark","measure","createAcoHooks","exports"],"sources":["createAcoContext.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { Tenant } from \"@webiny/api-tenancy/types\";\nimport { createAcoHooks } from \"~/createAcoHooks\";\nimport { createAcoStorageOperations } from \"~/createAcoStorageOperations\";\nimport { isInstallationPending } from \"~/utils/isInstallationPending\";\nimport { AcoContext, CreateAcoParams, Folder, IAcoAppRegisterParams } from \"~/types\";\nimport { createFolderCrudMethods } from \"~/folder/folder.crud\";\nimport { createSearchRecordCrudMethods } from \"~/record/record.crud\";\nimport { AcoApps } from \"./apps\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\nimport { AcoAppRegisterPlugin } from \"~/plugins\";\nimport { FolderLevelPermissions } from \"~/utils/FolderLevelPermissions\";\nimport { CmsEntriesCrudDecorators } from \"~/utils/decorators/CmsEntriesCrudDecorators\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security, i18n } = context;\n\n const getLocale = (): I18NLocale => {\n const locale = i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in api-aco/plugins/context.ts\",\n \"LOCALE_ERROR\"\n );\n }\n\n return locale;\n };\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n /**\n * TODO: This is required for \"entryFieldFromStorageTransform\" which access plugins from context.\n */\n getCmsContext: () => context,\n security\n });\n\n const folderLevelPermissions = new FolderLevelPermissions({\n getIdentity: () => security.getIdentity(),\n getIdentityTeam: async () => {\n return security.withoutAuthorization(async () => {\n const identity = security.getIdentity();\n if (!identity) {\n return null;\n }\n\n const adminUser = await context.adminUsers.getUser({ where: { id: identity.id } });\n if (!adminUser) {\n return null;\n }\n\n if (!adminUser.team) {\n return null;\n }\n\n return context.security.getTeam({ where: { id: adminUser.team } });\n });\n },\n listPermissions: () => security.listPermissions(),\n listAllFolders: type => {\n // When retrieving a list of all folders, we want to do it in the\n // fastest way and that is by directly using CMS's storage operations.\n const { withModel } = createOperationsWrapper({\n modelName: FOLDER_MODEL_ID,\n cms: context.cms,\n getCmsContext: () => context,\n security\n });\n\n return withModel(async model => {\n const results = await context.cms.storageOperations.entries.list(model, {\n limit: 100_000,\n where: {\n type,\n\n // Folders always work with latest entries. We never publish them.\n latest: true\n },\n sort: [\"title_ASC\"]\n });\n\n return results.items.map(pickEntryFieldValues<Folder>);\n });\n },\n canUseTeams: () => context.wcp.canUseTeams(),\n canUseFolderLevelPermissions: () => {\n if (setupAcoContextParams.useFolderLevelPermissions === false) {\n return false;\n }\n\n return context.wcp.canUseFolderLevelPermissions();\n },\n isAuthorizationEnabled: () => context.security.isAuthorizationEnabled()\n });\n\n const params: CreateAcoParams = {\n getLocale,\n getTenant,\n storageOperations,\n folderLevelPermissions\n };\n\n const defaultRecordModel = await context.security.withoutAuthorization(async () => {\n return context.cms.getModel(SEARCH_RECORD_MODEL_ID);\n });\n\n if (!defaultRecordModel) {\n throw new WebinyError(`There is no default record model in ${SEARCH_RECORD_MODEL_ID}`);\n }\n\n /**\n * First we need to create all the apps.\n */\n const apps = new AcoApps(context, params);\n const plugins = context.plugins.byType<AcoAppRegisterPlugin>(AcoAppRegisterPlugin.type);\n for (const plugin of plugins) {\n await apps.register({\n model: defaultRecordModel,\n ...plugin.app\n });\n }\n\n const listAdminUsers = () => {\n return security.withoutAuthorization(async () => {\n return context.adminUsers.listUsers();\n });\n };\n const listTeams = () => {\n return security.withoutAuthorization(async () => {\n return context.security.listTeams();\n });\n };\n\n context.aco = {\n folder: createFolderCrudMethods({\n ...params,\n listAdminUsers,\n listTeams\n }),\n search: createSearchRecordCrudMethods(params),\n folderLevelPermissions,\n filter: createFilterCrudMethods(params),\n apps,\n getApp: (name: string) => apps.get(name),\n listApps: () => apps.list(),\n registerApp: async (params: IAcoAppRegisterParams) => {\n return apps.register({\n model: defaultRecordModel,\n ...params\n });\n }\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n new CmsEntriesCrudDecorators({ context }).decorate();\n\n // PB decorators registered here: packages/api-page-builder-aco/src/index.ts\n // new PageBuilderCrudDecorators({ context }).decorate();\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams = {}) => {\n const plugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (isInstallationPending(context)) {\n return;\n }\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n\n await context.benchmark.measure(\"aco.context.hooks\", async () => {\n await createAcoHooks(context);\n });\n });\n\n plugin.name = \"aco.createContext\";\n\n return plugin;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_api","_apiHeadlessCms","_createAcoHooks","_createAcoStorageOperations","_folder","_record","_apps","_record2","_plugins","_CmsEntriesCrudDecorators","_filter","_flp","setupAcoContext","context","setupAcoContextParams","tenancy","security","i18n","getLocale","locale","getContentLocale","WebinyError","getTenant","getCurrentTenant","storageOperations","createAcoStorageOperations","cms","getCmsContext","documentClient","flpCrudMethods","createFlpCrudMethods","folderLevelPermissions","FolderLevelPermissions","crud","params","defaultRecordModel","withoutAuthorization","getModel","SEARCH_RECORD_MODEL_ID","apps","AcoApps","plugins","byType","AcoAppRegisterPlugin","type","plugin","register","model","app","aco","folder","createFolderCrudMethods","search","createSearchRecordCrudMethods","filter","createFilterCrudMethods","flp","getApp","name","get","listApps","list","registerApp","wcp","canUseFolderLevelPermissions","CmsEntriesCrudDecorators","decorate","createAcoContext","ContextPlugin","isHeadlessCmsReady","benchmark","measure","createAcoHooks","exports"],"sources":["createAcoContext.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport type { I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { Tenant } from \"@webiny/api-tenancy/types\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { DynamoDBDocument } from \"@webiny/aws-sdk/client-dynamodb\";\nimport { createAcoHooks } from \"~/createAcoHooks\";\nimport { createAcoStorageOperations } from \"~/createAcoStorageOperations\";\nimport type { AcoContext, CreateAcoParams, IAcoAppRegisterParams } from \"~/types\";\nimport { createFolderCrudMethods } from \"~/folder/folder.crud\";\nimport { createSearchRecordCrudMethods } from \"~/record/record.crud\";\nimport { AcoApps } from \"./apps\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\nimport { AcoAppRegisterPlugin } from \"~/plugins\";\nimport { CmsEntriesCrudDecorators } from \"~/utils/decorators/CmsEntriesCrudDecorators\";\nimport { createFilterCrudMethods } from \"~/filter/filter.crud\";\nimport { createFlpCrudMethods, FolderLevelPermissions } from \"~/flp\";\n\ninterface CreateAcoContextParams {\n useFolderLevelPermissions?: boolean;\n documentClient: DynamoDBDocument;\n}\n\nconst setupAcoContext = async (\n context: AcoContext,\n setupAcoContextParams: CreateAcoContextParams\n): Promise<void> => {\n const { tenancy, security, i18n } = context;\n\n const getLocale = (): I18NLocale => {\n const locale = i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in api-aco/plugins/context.ts\",\n \"LOCALE_ERROR\"\n );\n }\n\n return locale;\n };\n\n const getTenant = (): Tenant => {\n return tenancy.getCurrentTenant();\n };\n\n const storageOperations = await createAcoStorageOperations({\n /**\n * TODO: We need to figure out a way to pass \"cms\" from outside (e.g. apps/api/graphql)\n */\n cms: context.cms,\n /**\n * TODO: This is required for \"entryFieldFromStorageTransform\" which access plugins from context.\n */\n getCmsContext: () => context,\n documentClient: setupAcoContextParams.documentClient,\n security\n });\n\n const flpCrudMethods = createFlpCrudMethods({\n getLocale,\n getTenant,\n storageOperations\n });\n\n const folderLevelPermissions = new FolderLevelPermissions({ context, crud: flpCrudMethods });\n\n const params: CreateAcoParams = {\n getLocale,\n getTenant,\n storageOperations,\n folderLevelPermissions\n };\n\n const defaultRecordModel = await context.security.withoutAuthorization(async () => {\n return context.cms.getModel(SEARCH_RECORD_MODEL_ID);\n });\n\n if (!defaultRecordModel) {\n throw new WebinyError(`There is no default record model in ${SEARCH_RECORD_MODEL_ID}`);\n }\n\n /**\n * First we need to create all the apps.\n */\n const apps = new AcoApps(context, params);\n const plugins = context.plugins.byType<AcoAppRegisterPlugin>(AcoAppRegisterPlugin.type);\n for (const plugin of plugins) {\n await apps.register({\n model: defaultRecordModel,\n ...plugin.app\n });\n }\n\n context.aco = {\n folder: createFolderCrudMethods({\n ...params,\n context\n }),\n search: createSearchRecordCrudMethods(params),\n folderLevelPermissions,\n filter: createFilterCrudMethods(params),\n flp: flpCrudMethods,\n apps,\n getApp: (name: string) => apps.get(name),\n listApps: () => apps.list(),\n registerApp: async (params: IAcoAppRegisterParams) => {\n return apps.register({\n model: defaultRecordModel,\n ...params\n });\n }\n };\n\n if (context.wcp.canUseFolderLevelPermissions()) {\n new CmsEntriesCrudDecorators({ context }).decorate();\n\n // PB decorators registered here: packages/api-page-builder-aco/src/index.ts\n // new PageBuilderCrudDecorators({ context }).decorate();\n }\n};\n\nexport const createAcoContext = (params: CreateAcoContextParams) => {\n const plugin = new ContextPlugin<AcoContext>(async context => {\n /**\n * We can skip the ACO initialization if the installation is pending.\n */\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n await context.benchmark.measure(\"aco.context.setup\", async () => {\n await setupAcoContext(context, params);\n });\n\n await context.benchmark.measure(\"aco.context.hooks\", async () => {\n await createAcoHooks(context);\n });\n });\n\n plugin.name = \"aco.createContext\";\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAGA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,yBAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,IAAA,GAAAZ,OAAA;AAOA,MAAMa,eAAe,GAAG,MAAAA,CACpBC,OAAmB,EACnBC,qBAA6C,KAC7B;EAChB,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAK,CAAC,GAAGJ,OAAO;EAE3C,MAAMK,SAAS,GAAGA,CAAA,KAAkB;IAChC,MAAMC,MAAM,GAAGF,IAAI,CAACG,gBAAgB,CAAC,CAAC;IACtC,IAAI,CAACD,MAAM,EAAE;MACT,MAAM,IAAIE,cAAW,CACjB,sDAAsD,EACtD,cACJ,CAAC;IACL;IAEA,OAAOF,MAAM;EACjB,CAAC;EAED,MAAMG,SAAS,GAAGA,CAAA,KAAc;IAC5B,OAAOP,OAAO,CAACQ,gBAAgB,CAAC,CAAC;EACrC,CAAC;EAED,MAAMC,iBAAiB,GAAG,MAAM,IAAAC,sDAA0B,EAAC;IACvD;AACR;AACA;IACQC,GAAG,EAAEb,OAAO,CAACa,GAAG;IAChB;AACR;AACA;IACQC,aAAa,EAAEA,CAAA,KAAMd,OAAO;IAC5Be,cAAc,EAAEd,qBAAqB,CAACc,cAAc;IACpDZ;EACJ,CAAC,CAAC;EAEF,MAAMa,cAAc,GAAG,IAAAC,yBAAoB,EAAC;IACxCZ,SAAS;IACTI,SAAS;IACTE;EACJ,CAAC,CAAC;EAEF,MAAMO,sBAAsB,GAAG,IAAIC,2BAAsB,CAAC;IAAEnB,OAAO;IAAEoB,IAAI,EAAEJ;EAAe,CAAC,CAAC;EAE5F,MAAMK,MAAuB,GAAG;IAC5BhB,SAAS;IACTI,SAAS;IACTE,iBAAiB;IACjBO;EACJ,CAAC;EAED,MAAMI,kBAAkB,GAAG,MAAMtB,OAAO,CAACG,QAAQ,CAACoB,oBAAoB,CAAC,YAAY;IAC/E,OAAOvB,OAAO,CAACa,GAAG,CAACW,QAAQ,CAACC,+BAAsB,CAAC;EACvD,CAAC,CAAC;EAEF,IAAI,CAACH,kBAAkB,EAAE;IACrB,MAAM,IAAId,cAAW,CAAC,uCAAuCiB,+BAAsB,EAAE,CAAC;EAC1F;;EAEA;AACJ;AACA;EACI,MAAMC,IAAI,GAAG,IAAIC,aAAO,CAAC3B,OAAO,EAAEqB,MAAM,CAAC;EACzC,MAAMO,OAAO,GAAG5B,OAAO,CAAC4B,OAAO,CAACC,MAAM,CAAuBC,6BAAoB,CAACC,IAAI,CAAC;EACvF,KAAK,MAAMC,MAAM,IAAIJ,OAAO,EAAE;IAC1B,MAAMF,IAAI,CAACO,QAAQ,CAAC;MAChBC,KAAK,EAAEZ,kBAAkB;MACzB,GAAGU,MAAM,CAACG;IACd,CAAC,CAAC;EACN;EAEAnC,OAAO,CAACoC,GAAG,GAAG;IACVC,MAAM,EAAE,IAAAC,+BAAuB,EAAC;MAC5B,GAAGjB,MAAM;MACTrB;IACJ,CAAC,CAAC;IACFuC,MAAM,EAAE,IAAAC,qCAA6B,EAACnB,MAAM,CAAC;IAC7CH,sBAAsB;IACtBuB,MAAM,EAAE,IAAAC,+BAAuB,EAACrB,MAAM,CAAC;IACvCsB,GAAG,EAAE3B,cAAc;IACnBU,IAAI;IACJkB,MAAM,EAAGC,IAAY,IAAKnB,IAAI,CAACoB,GAAG,CAACD,IAAI,CAAC;IACxCE,QAAQ,EAAEA,CAAA,KAAMrB,IAAI,CAACsB,IAAI,CAAC,CAAC;IAC3BC,WAAW,EAAE,MAAO5B,MAA6B,IAAK;MAClD,OAAOK,IAAI,CAACO,QAAQ,CAAC;QACjBC,KAAK,EAAEZ,kBAAkB;QACzB,GAAGD;MACP,CAAC,CAAC;IACN;EACJ,CAAC;EAED,IAAIrB,OAAO,CAACkD,GAAG,CAACC,4BAA4B,CAAC,CAAC,EAAE;IAC5C,IAAIC,kDAAwB,CAAC;MAAEpD;IAAQ,CAAC,CAAC,CAACqD,QAAQ,CAAC,CAAC;;IAEpD;IACA;EACJ;AACJ,CAAC;AAEM,MAAMC,gBAAgB,GAAIjC,MAA8B,IAAK;EAChE,MAAMW,MAAM,GAAG,IAAIuB,kBAAa,CAAa,MAAMvD,OAAO,IAAI;IAC1D;AACR;AACA;IACQ,IAAI,EAAE,MAAM,IAAAwD,kCAAkB,EAACxD,OAAO,CAAC,CAAC,EAAE;MACtC;IACJ;IAEA,MAAMA,OAAO,CAACyD,SAAS,CAACC,OAAO,CAAC,mBAAmB,EAAE,YAAY;MAC7D,MAAM3D,eAAe,CAACC,OAAO,EAAEqB,MAAM,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAMrB,OAAO,CAACyD,SAAS,CAACC,OAAO,CAAC,mBAAmB,EAAE,YAAY;MAC7D,MAAM,IAAAC,8BAAc,EAAC3D,OAAO,CAAC;IACjC,CAAC,CAAC;EACN,CAAC,CAAC;EAEFgC,MAAM,CAACa,IAAI,GAAG,mBAAmB;EAEjC,OAAOb,MAAM;AACjB,CAAC;AAAC4B,OAAA,CAAAN,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
2
- import { AcoContext } from "./types";
3
- export declare const createAcoGraphQL: () => GraphQLSchemaPlugin<AcoContext>[];
2
+ import type { AcoContext } from "./types";
3
+ import { ContextPlugin } from "@webiny/api";
4
+ export declare const createAcoGraphQL: () => (ContextPlugin<AcoContext> | GraphQLSchemaPlugin<AcoContext>)[];
@@ -8,6 +8,11 @@ var _handlerGraphql = require("@webiny/handler-graphql");
8
8
  var _filter = require("./filter/filter.gql");
9
9
  var _folder = require("./folder/folder.gql");
10
10
  var _app = require("./apps/app.gql");
11
+ var _api = require("@webiny/api");
12
+ var _apiHeadlessCms = require("@webiny/api-headless-cms");
13
+ var _createFieldTypePluginRecords = require("@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords");
14
+ var _getSchemaFromFieldPlugins = require("@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins");
15
+ var _folder2 = require("./folder/folder.model");
11
16
  const emptyResolver = () => ({});
12
17
  const baseSchema = new _handlerGraphql.GraphQLSchemaPlugin({
13
18
  typeDefs: /* GraphQL */`
@@ -118,7 +123,40 @@ const baseSchema = new _handlerGraphql.GraphQLSchemaPlugin({
118
123
  }
119
124
  });
120
125
  const createAcoGraphQL = () => {
121
- return [baseSchema, _app.appGql, _folder.folderSchema, _filter.filterSchema];
126
+ const folderSchema = new _api.ContextPlugin(async context => {
127
+ if (!(await (0, _apiHeadlessCms.isHeadlessCmsReady)(context))) {
128
+ return;
129
+ }
130
+ await context.security.withoutAuthorization(async () => {
131
+ const model = await context.cms.getModel(_folder2.FOLDER_MODEL_ID);
132
+ const models = await context.cms.listModels();
133
+ const fieldPlugins = (0, _createFieldTypePluginRecords.createFieldTypePluginRecords)(context.plugins);
134
+ /**
135
+ * We need to register all plugins for all the CMS fields.
136
+ */
137
+ const plugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
138
+ models,
139
+ type: "manage",
140
+ fieldTypePlugins: fieldPlugins,
141
+ createPlugin: ({
142
+ schema,
143
+ type,
144
+ fieldType
145
+ }) => {
146
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin(schema);
147
+ plugin.name = `aco.graphql.folder.schema.${type}.field.${fieldType}`;
148
+ return plugin;
149
+ }
150
+ });
151
+ const graphQlPlugin = (0, _folder.createFoldersSchema)({
152
+ model,
153
+ models,
154
+ plugins: fieldPlugins
155
+ });
156
+ context.plugins.register([...plugins, graphQlPlugin]);
157
+ });
158
+ });
159
+ return [baseSchema, _app.appGql, folderSchema, _filter.filterSchema];
122
160
  };
123
161
  exports.createAcoGraphQL = createAcoGraphQL;
124
162
 
@@ -1 +1 @@
1
- {"version":3,"names":["_handlerGraphql","require","_filter","_folder","_app","emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","aco","search","Mutation","createAcoGraphQL","appGql","folderSchema","filterSchema","exports"],"sources":["createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { filterSchema } from \"~/filter/filter.gql\";\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 modifiedOn: 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, filterSchema];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAGA,MAAMI,aAAa,GAAGA,CAAA,MAAO,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;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,GAAGA,CAAA,KAAyC;EACrE,OAAO,CAACR,UAAU,EAAES,WAAM,EAAEC,oBAAY,EAAEC,oBAAY,CAAC;AAC3D,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["_handlerGraphql","require","_filter","_folder","_app","_api","_apiHeadlessCms","_createFieldTypePluginRecords","_getSchemaFromFieldPlugins","_folder2","emptyResolver","baseSchema","GraphQLSchemaPlugin","typeDefs","resolvers","Query","aco","search","Mutation","createAcoGraphQL","folderSchema","ContextPlugin","context","isHeadlessCmsReady","security","withoutAuthorization","model","cms","getModel","FOLDER_MODEL_ID","models","listModels","fieldPlugins","createFieldTypePluginRecords","plugins","createGraphQLSchemaPluginFromFieldPlugins","type","fieldTypePlugins","createPlugin","schema","fieldType","plugin","name","graphQlPlugin","createFoldersSchema","register","appGql","filterSchema","exports"],"sources":["createAcoGraphQL.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { filterSchema } from \"~/filter/filter.gql\";\nimport { createFoldersSchema } from \"~/folder/folder.gql\";\nimport { appGql } from \"~/apps/app.gql\";\nimport type { AcoContext } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"@webiny/api-headless-cms/utils/getSchemaFromFieldPlugins\";\nimport { FOLDER_MODEL_ID } from \"~/folder/folder.model\";\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 modifiedOn: 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 = () => {\n const folderSchema = new ContextPlugin<AcoContext>(async context => {\n if (!(await isHeadlessCmsReady(context))) {\n return;\n }\n\n await context.security.withoutAuthorization(async () => {\n const model = (await context.cms.getModel(FOLDER_MODEL_ID)) as CmsModel;\n const models = await context.cms.listModels();\n const fieldPlugins = createFieldTypePluginRecords(context.plugins);\n /**\n * We need to register all plugins for all the CMS fields.\n */\n const plugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n type: \"manage\",\n fieldTypePlugins: fieldPlugins,\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({\n model,\n models,\n plugins: fieldPlugins\n });\n\n context.plugins.register([...plugins, graphQlPlugin]);\n });\n });\n\n return [baseSchema, appGql, folderSchema, filterSchema];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import { AcoContext } from "./types";
1
+ import type { AcoContext } from "./types";
2
2
  export declare const createAcoHooks: (context: AcoContext) => void;
package/createAcoHooks.js CHANGED
@@ -7,10 +7,12 @@ exports.createAcoHooks = void 0;
7
7
  var _onFolderBeforeDeleteAco = require("./folder/onFolderBeforeDeleteAco.hook");
8
8
  var _onFolderBeforeDeleteHcms = require("./folder/onFolderBeforeDeleteHcms.hook");
9
9
  var _onFolderBeforeDeleteFm = require("./folder/onFolderBeforeDeleteFm.hook");
10
+ var _flp = require("./flp");
10
11
  const createAcoHooks = context => {
11
12
  (0, _onFolderBeforeDeleteAco.onFolderBeforeDeleteAcoHook)(context);
12
13
  (0, _onFolderBeforeDeleteHcms.onFolderBeforeDeleteHcmsHook)(context);
13
14
  (0, _onFolderBeforeDeleteFm.onFolderBeforeDeleteFmHook)(context);
15
+ (0, _flp.createFlpHooks)(context);
14
16
  };
15
17
  exports.createAcoHooks = createAcoHooks;
16
18
 
@@ -1 +1 @@
1
- {"version":3,"names":["_onFolderBeforeDeleteAco","require","_onFolderBeforeDeleteHcms","_onFolderBeforeDeleteFm","createAcoHooks","context","onFolderBeforeDeleteAcoHook","onFolderBeforeDeleteHcmsHook","onFolderBeforeDeleteFmHook","exports"],"sources":["createAcoHooks.ts"],"sourcesContent":["import { onFolderBeforeDeleteAcoHook } from \"~/folder/onFolderBeforeDeleteAco.hook\";\nimport { onFolderBeforeDeleteHcmsHook } from \"~/folder/onFolderBeforeDeleteHcms.hook\";\nimport { onFolderBeforeDeleteFmHook } from \"~/folder/onFolderBeforeDeleteFm.hook\";\n\nimport { AcoContext } from \"~/types\";\n\nexport const createAcoHooks = (context: AcoContext) => {\n onFolderBeforeDeleteAcoHook(context);\n onFolderBeforeDeleteHcmsHook(context);\n onFolderBeforeDeleteFmHook(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAIO,MAAMG,cAAc,GAAIC,OAAmB,IAAK;EACnD,IAAAC,oDAA2B,EAACD,OAAO,CAAC;EACpC,IAAAE,sDAA4B,EAACF,OAAO,CAAC;EACrC,IAAAG,kDAA0B,EAACH,OAAO,CAAC;AACvC,CAAC;AAACI,OAAA,CAAAL,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"names":["_onFolderBeforeDeleteAco","require","_onFolderBeforeDeleteHcms","_onFolderBeforeDeleteFm","_flp","createAcoHooks","context","onFolderBeforeDeleteAcoHook","onFolderBeforeDeleteHcmsHook","onFolderBeforeDeleteFmHook","createFlpHooks","exports"],"sources":["createAcoHooks.ts"],"sourcesContent":["import { onFolderBeforeDeleteAcoHook } from \"~/folder/onFolderBeforeDeleteAco.hook\";\nimport { onFolderBeforeDeleteHcmsHook } from \"~/folder/onFolderBeforeDeleteHcms.hook\";\nimport { onFolderBeforeDeleteFmHook } from \"~/folder/onFolderBeforeDeleteFm.hook\";\nimport { createFlpHooks } from \"~/flp\";\n\nimport type { AcoContext } from \"~/types\";\n\nexport const createAcoHooks = (context: AcoContext) => {\n onFolderBeforeDeleteAcoHook(context);\n onFolderBeforeDeleteHcmsHook(context);\n onFolderBeforeDeleteFmHook(context);\n\n createFlpHooks(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AAIO,MAAMI,cAAc,GAAIC,OAAmB,IAAK;EACnD,IAAAC,oDAA2B,EAACD,OAAO,CAAC;EACpC,IAAAE,sDAA4B,EAACF,OAAO,CAAC;EACrC,IAAAG,kDAA0B,EAACH,OAAO,CAAC;EAEnC,IAAAI,mBAAc,EAACJ,OAAO,CAAC;AAC3B,CAAC;AAACK,OAAA,CAAAN,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import { CmsContext } from "@webiny/api-headless-cms/types";
2
- export declare const createAcoModels: (context: CmsContext) => void;
1
+ import type { CmsContext } from "@webiny/api-headless-cms/types";
2
+ export declare const createAcoModels: (context: CmsContext) => Promise<void>;
@@ -8,11 +8,17 @@ var _filter = require("./filter/filter.model");
8
8
  var _folder = require("./folder/folder.model");
9
9
  var _record = require("./record/record.model");
10
10
  var _modelFactory = require("./utils/modelFactory");
11
- const createAcoModels = context => {
11
+ var _createFolderModelModifier = require("./folder/createFolderModelModifier");
12
+ const createAcoModels = async context => {
12
13
  /**
13
- * Create CmsModel plugins.
14
+ * Create CmsModel plugins.
14
15
  */
15
- const modelDefinitions = [(0, _folder.createFolderModelDefinition)(), (0, _record.createSearchModelDefinition)(), (0, _filter.createFilterModelDefinition)()];
16
+ const folderModel = (0, _folder.createFolderModel)();
17
+ const modelModifiers = context.plugins.byType(_createFolderModelModifier.FolderCmsModelModifierPlugin.type);
18
+ for (const modifier of modelModifiers) {
19
+ await modifier.modifyModel(folderModel);
20
+ }
21
+ const modelDefinitions = [folderModel, (0, _record.createSearchModel)(), (0, _filter.createFilterModel)()];
16
22
  const cmsModelPlugins = modelDefinitions.map(modelDefinition => {
17
23
  return (0, _modelFactory.modelFactory)({
18
24
  modelDefinition