@webiny/api-aco 0.0.0-unstable.e3f4727c56 → 0.0.0-unstable.eb196ccd2f

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 (527) hide show
  1. package/README.md +6 -6
  2. package/apps/AcoApp.d.ts +21 -0
  3. package/apps/AcoApp.js +143 -0
  4. package/apps/AcoApp.js.map +1 -0
  5. package/apps/AcoApps.d.ts +10 -0
  6. package/apps/AcoApps.js +75 -0
  7. package/apps/AcoApps.js.map +1 -0
  8. package/apps/app.gql.d.ts +3 -0
  9. package/apps/app.gql.js +59 -0
  10. package/apps/app.gql.js.map +1 -0
  11. package/apps/index.d.ts +2 -0
  12. package/apps/index.js +29 -0
  13. package/apps/index.js.map +1 -0
  14. package/constants.d.ts +3 -0
  15. package/constants.js +26 -0
  16. package/constants.js.map +1 -0
  17. package/createAcoContext.d.ts +8 -2
  18. package/createAcoContext.js +97 -30
  19. package/createAcoContext.js.map +1 -1
  20. package/createAcoGraphQL.d.ts +3 -2
  21. package/createAcoGraphQL.js +86 -14
  22. package/createAcoGraphQL.js.map +1 -1
  23. package/createAcoHooks.d.ts +1 -1
  24. package/createAcoHooks.js +11 -3
  25. package/createAcoHooks.js.map +1 -1
  26. package/createAcoModels.d.ts +2 -2
  27. package/createAcoModels.js +13 -45
  28. package/createAcoModels.js.map +1 -1
  29. package/createAcoStorageOperations.d.ts +6 -5
  30. package/createAcoStorageOperations.js +14 -9
  31. package/createAcoStorageOperations.js.map +1 -1
  32. package/createAcoTasks.d.ts +1 -0
  33. package/createAcoTasks.js +13 -0
  34. package/createAcoTasks.js.map +1 -0
  35. package/filter/filter.crud.d.ts +3 -0
  36. package/filter/filter.crud.js +94 -0
  37. package/filter/filter.crud.js.map +1 -0
  38. package/filter/filter.gql.d.ts +3 -0
  39. package/filter/filter.gql.js +152 -0
  40. package/filter/filter.gql.js.map +1 -0
  41. package/filter/filter.model.d.ts +2 -0
  42. package/filter/filter.model.js +124 -0
  43. package/filter/filter.model.js.map +1 -0
  44. package/filter/filter.so.d.ts +3 -0
  45. package/filter/filter.so.js +98 -0
  46. package/filter/filter.so.js.map +1 -0
  47. package/filter/filter.types.d.ts +95 -0
  48. package/filter/filter.types.js +13 -0
  49. package/filter/filter.types.js.map +1 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  57. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  58. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  66. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  67. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  75. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  76. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  84. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  85. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  93. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  94. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  95. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  96. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  97. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  98. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  99. package/flp/FolderLevelPermissions/index.js +116 -0
  100. package/flp/FolderLevelPermissions/index.js.map +1 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  117. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  118. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  126. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  127. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  144. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  145. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  153. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  154. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  168. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  169. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  177. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  178. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  186. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  187. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  188. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  189. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  190. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  191. package/flp/flp.crud.d.ts +9 -0
  192. package/flp/flp.crud.js +172 -0
  193. package/flp/flp.crud.js.map +1 -0
  194. package/flp/flp.so.d.ts +26 -0
  195. package/flp/flp.so.js +304 -0
  196. package/flp/flp.so.js.map +1 -0
  197. package/flp/flp.types.d.ts +147 -0
  198. package/flp/flp.types.js +18 -0
  199. package/flp/flp.types.js.map +1 -0
  200. package/flp/hooks/index.d.ts +2 -0
  201. package/flp/hooks/index.js +17 -0
  202. package/flp/hooks/index.js.map +1 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  204. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  205. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  207. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  208. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  210. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  211. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  212. package/flp/index.d.ts +5 -0
  213. package/flp/index.js +62 -0
  214. package/flp/index.js.map +1 -0
  215. package/flp/tasks/createFlp.task.d.ts +2 -0
  216. package/flp/tasks/createFlp.task.js +49 -0
  217. package/flp/tasks/createFlp.task.js.map +1 -0
  218. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  219. package/flp/tasks/deleteFlp.task.js +49 -0
  220. package/flp/tasks/deleteFlp.task.js.map +1 -0
  221. package/flp/tasks/index.d.ts +5 -0
  222. package/flp/tasks/index.js +20 -0
  223. package/flp/tasks/index.js.map +1 -0
  224. package/flp/tasks/syncFlp.task.d.ts +2 -0
  225. package/flp/tasks/syncFlp.task.js +126 -0
  226. package/flp/tasks/syncFlp.task.js.map +1 -0
  227. package/flp/tasks/updateFlp.task.d.ts +2 -0
  228. package/flp/tasks/updateFlp.task.js +55 -0
  229. package/flp/tasks/updateFlp.task.js.map +1 -0
  230. package/flp/useCases/CreateFlp.d.ts +7 -0
  231. package/flp/useCases/CreateFlp.js +51 -0
  232. package/flp/useCases/CreateFlp.js.map +1 -0
  233. package/flp/useCases/DeleteFlp.d.ts +6 -0
  234. package/flp/useCases/DeleteFlp.js +30 -0
  235. package/flp/useCases/DeleteFlp.js.map +1 -0
  236. package/flp/useCases/UpdateFlp.d.ts +26 -0
  237. package/flp/useCases/UpdateFlp.js +198 -0
  238. package/flp/useCases/UpdateFlp.js.map +1 -0
  239. package/flp/useCases/index.d.ts +3 -0
  240. package/flp/useCases/index.js +40 -0
  241. package/flp/useCases/index.js.map +1 -0
  242. package/folder/createFolderModelModifier.d.ts +36 -0
  243. package/folder/createFolderModelModifier.js +70 -0
  244. package/folder/createFolderModelModifier.js.map +1 -0
  245. package/folder/createFolderTypeDefs.d.ts +7 -0
  246. package/folder/createFolderTypeDefs.js +207 -0
  247. package/folder/createFolderTypeDefs.js.map +1 -0
  248. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  249. package/folder/ensureFolderIsEmpty.js +63 -0
  250. package/folder/ensureFolderIsEmpty.js.map +1 -0
  251. package/folder/folder.crud.d.ts +8 -3
  252. package/folder/folder.crud.js +114 -49
  253. package/folder/folder.crud.js.map +1 -1
  254. package/folder/folder.gql.d.ts +3 -2
  255. package/folder/folder.gql.js +121 -89
  256. package/folder/folder.gql.js.map +1 -1
  257. package/folder/folder.model.d.ts +2 -4
  258. package/folder/folder.model.js +81 -34
  259. package/folder/folder.model.js.map +1 -1
  260. package/folder/folder.so.d.ts +2 -2
  261. package/folder/folder.so.js +73 -21
  262. package/folder/folder.so.js.map +1 -1
  263. package/folder/folder.types.d.ts +74 -9
  264. package/folder/folder.types.js +3 -1
  265. package/folder/folder.types.js.map +1 -1
  266. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  267. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  268. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  270. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  271. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  273. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  274. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  276. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  277. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  282. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  283. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  285. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  286. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  287. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  288. package/folder/useCases/CreateFolder/index.js +20 -0
  289. package/folder/useCases/CreateFolder/index.js.map +1 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  297. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  298. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  300. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  301. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  302. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  303. package/folder/useCases/DeleteFolder/index.js +20 -0
  304. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  306. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  307. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  309. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  310. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  311. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  312. package/folder/useCases/GetAncestors/index.js +16 -0
  313. package/folder/useCases/GetAncestors/index.js.map +1 -0
  314. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  315. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  316. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  318. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  319. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  320. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  321. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  322. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  323. package/folder/useCases/GetFolder/index.d.ts +13 -0
  324. package/folder/useCases/GetFolder/index.js +19 -0
  325. package/folder/useCases/GetFolder/index.js.map +1 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  330. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  331. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  333. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  334. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  335. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  336. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  337. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  357. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  358. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  359. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  360. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  361. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  362. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  363. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  364. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  366. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  367. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  368. package/folder/useCases/ListFolders/index.d.ts +13 -0
  369. package/folder/useCases/ListFolders/index.js +19 -0
  370. package/folder/useCases/ListFolders/index.js.map +1 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  372. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  373. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  381. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  382. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  383. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  384. package/folder/useCases/UpdateFolder/index.js +20 -0
  385. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  386. package/folder/useCases/index.d.ts +8 -0
  387. package/folder/useCases/index.js +95 -0
  388. package/folder/useCases/index.js.map +1 -0
  389. package/index.d.ts +12 -1
  390. package/index.js +70 -6
  391. package/index.js.map +1 -1
  392. package/package.json +36 -34
  393. package/plugins/AcoAppModifierPlugin.d.ts +43 -0
  394. package/plugins/AcoAppModifierPlugin.js +58 -0
  395. package/plugins/AcoAppModifierPlugin.js.map +1 -0
  396. package/plugins/AcoAppRegisterPlugin.d.ts +8 -0
  397. package/plugins/AcoAppRegisterPlugin.js +21 -0
  398. package/plugins/AcoAppRegisterPlugin.js.map +1 -0
  399. package/plugins/index.d.ts +2 -0
  400. package/plugins/index.js +29 -0
  401. package/plugins/index.js.map +1 -0
  402. package/record/graphql/createAppResolvers.d.ts +14 -0
  403. package/record/graphql/createAppResolvers.js +115 -0
  404. package/record/graphql/createAppResolvers.js.map +1 -0
  405. package/record/graphql/createAppSchema.d.ts +9 -0
  406. package/record/graphql/createAppSchema.js +146 -0
  407. package/record/graphql/createAppSchema.js.map +1 -0
  408. package/record/record.crud.d.ts +2 -2
  409. package/record/record.crud.js +49 -13
  410. package/record/record.crud.js.map +1 -1
  411. package/record/record.gql.d.ts +8 -3
  412. package/record/record.gql.js +38 -112
  413. package/record/record.gql.js.map +1 -1
  414. package/record/record.model.d.ts +8 -4
  415. package/record/record.model.js +49 -21
  416. package/record/record.model.js.map +1 -1
  417. package/record/record.so.d.ts +2 -2
  418. package/record/record.so.js +126 -47
  419. package/record/record.so.js.map +1 -1
  420. package/record/record.types.d.ts +75 -22
  421. package/record/record.types.js +3 -1
  422. package/record/record.types.js.map +1 -1
  423. package/types.d.ts +90 -11
  424. package/types.js +67 -1
  425. package/types.js.map +1 -1
  426. package/utils/FoldersCacheFactory.d.ts +10 -0
  427. package/utils/FoldersCacheFactory.js +31 -0
  428. package/utils/FoldersCacheFactory.js.map +1 -0
  429. package/utils/ListCache.d.ts +23 -0
  430. package/utils/ListCache.js +31 -0
  431. package/utils/ListCache.js.map +1 -0
  432. package/utils/ListFoldersRepository.d.ts +10 -0
  433. package/utils/ListFoldersRepository.js +35 -0
  434. package/utils/ListFoldersRepository.js.map +1 -0
  435. package/utils/Path.d.ts +3 -0
  436. package/utils/Path.js +18 -0
  437. package/utils/Path.js.map +1 -0
  438. package/utils/acoRecordId.d.ts +6 -0
  439. package/utils/acoRecordId.js +35 -0
  440. package/utils/acoRecordId.js.map +1 -0
  441. package/utils/compress.d.ts +4 -0
  442. package/utils/compress.js +19 -0
  443. package/utils/compress.js.map +1 -0
  444. package/utils/createListSort.d.ts +3 -0
  445. package/utils/createListSort.js +17 -0
  446. package/utils/createListSort.js.map +1 -0
  447. package/utils/createModelField.d.ts +1 -2
  448. package/utils/createModelField.js +5 -5
  449. package/utils/createModelField.js.map +1 -1
  450. package/utils/createOperationsWrapper.d.ts +2 -2
  451. package/utils/createOperationsWrapper.js +4 -6
  452. package/utils/createOperationsWrapper.js.map +1 -1
  453. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  454. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  455. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  456. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  457. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  458. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  459. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  460. package/utils/decorators/ListEntriesFactory.js +107 -0
  461. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  462. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  463. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  464. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  465. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  466. package/utils/decorators/hasRootFolderId.js +27 -0
  467. package/utils/decorators/hasRootFolderId.js.map +1 -0
  468. package/utils/decorators/isPageModel.d.ts +5 -0
  469. package/utils/decorators/isPageModel.js +20 -0
  470. package/utils/decorators/isPageModel.js.map +1 -0
  471. package/utils/ensureAuthentication.d.ts +2 -0
  472. package/utils/ensureAuthentication.js +16 -0
  473. package/utils/ensureAuthentication.js.map +1 -0
  474. package/utils/modelFactory.d.ts +2 -4
  475. package/utils/modelFactory.js +7 -8
  476. package/utils/modelFactory.js.map +1 -1
  477. package/utils/pickEntryFieldValues.d.ts +3 -0
  478. package/utils/pickEntryFieldValues.js +30 -0
  479. package/utils/pickEntryFieldValues.js.map +1 -0
  480. package/utils/resolve.d.ts +2 -1
  481. package/utils/resolve.js +13 -2
  482. package/utils/resolve.js.map +1 -1
  483. package/context/folders.d.ts +0 -2
  484. package/context/folders.js +0 -261
  485. package/context/folders.js.map +0 -1
  486. package/context/index.d.ts +0 -2
  487. package/context/index.js +0 -22
  488. package/context/index.js.map +0 -1
  489. package/context/links.d.ts +0 -2
  490. package/context/links.js +0 -270
  491. package/context/links.js.map +0 -1
  492. package/createAcoCrud.d.ts +0 -2
  493. package/createAcoCrud.js +0 -17
  494. package/createAcoCrud.js.map +0 -1
  495. package/createAcoFields.d.ts +0 -2
  496. package/createAcoFields.js +0 -40
  497. package/createAcoFields.js.map +0 -1
  498. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  499. package/folder/onFolderBeforeDelete.hook.js +0 -53
  500. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  501. package/graphql/base.gql.d.ts +0 -3
  502. package/graphql/base.gql.js +0 -63
  503. package/graphql/base.gql.js.map +0 -1
  504. package/graphql/folders.gql.d.ts +0 -3
  505. package/graphql/folders.gql.js +0 -126
  506. package/graphql/folders.gql.js.map +0 -1
  507. package/graphql/index.d.ts +0 -1
  508. package/graphql/index.js +0 -15
  509. package/graphql/index.js.map +0 -1
  510. package/graphql/links.gql.d.ts +0 -3
  511. package/graphql/links.gql.js +0 -123
  512. package/graphql/links.gql.js.map +0 -1
  513. package/subscriptions/afterFolderDelete.d.ts +0 -3
  514. package/subscriptions/afterFolderDelete.js +0 -62
  515. package/subscriptions/afterFolderDelete.js.map +0 -1
  516. package/subscriptions/index.d.ts +0 -3
  517. package/subscriptions/index.js +0 -14
  518. package/subscriptions/index.js.map +0 -1
  519. package/utils/fieldResolver.d.ts +0 -16
  520. package/utils/fieldResolver.js +0 -44
  521. package/utils/fieldResolver.js.map +0 -1
  522. package/utils/getFieldValues.d.ts +0 -2
  523. package/utils/getFieldValues.js +0 -19
  524. package/utils/getFieldValues.js.map +0 -1
  525. package/utils/isInstallationPending.d.ts +0 -4
  526. package/utils/isInstallationPending.js +0 -21
  527. package/utils/isInstallationPending.js.map +0 -1
@@ -5,36 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createSearchRecordOperations = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _valueKeyStorageConverter = require("@webiny/api-headless-cms/utils/converters/valueKeyStorageConverter");
8
+ var _omit = _interopRequireDefault(require("lodash/omit"));
10
9
  var _error = _interopRequireDefault(require("@webiny/error"));
10
+ var _pickEntryFieldValues = require("../utils/pickEntryFieldValues");
11
+ var _acoRecordId = require("../utils/acoRecordId");
11
12
  var _record = require("./record.model");
12
- var _createAcoStorageOperations = require("../createAcoStorageOperations");
13
- var _createOperationsWrapper = require("../utils/createOperationsWrapper");
14
- var _getFieldValues = require("../utils/getFieldValues");
13
+ var _constants = require("@webiny/api-headless-cms/constants");
15
14
  const createSearchRecordOperations = params => {
16
15
  const {
17
- cms,
18
- getCmsContext
16
+ cms
19
17
  } = params;
20
- const {
21
- withModel
22
- } = (0, _createOperationsWrapper.createOperationsWrapper)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
23
- modelName: _record.SEARCH_RECORD_MODEL_ID
24
- }));
25
- const getRecord = async (initialModel, id) => {
26
- const context = getCmsContext();
27
- const model = (0, _valueKeyStorageConverter.attachCmsModelFieldConverters)({
28
- model: initialModel,
29
- plugins: context.plugins
30
- });
31
-
18
+ const getRecord = async (model, id) => {
32
19
  /**
33
20
  * The record "id" has been passed by the original entry.
34
21
  * We need to retrieve it via `cms.storageOperations.entries.getLatestByIds()` method and return the first one.
35
22
  */
36
23
  const revisions = await cms.storageOperations.entries.getLatestByIds(model, {
37
- ids: [id]
24
+ ids: [(0, _acoRecordId.attachAcoRecordPrefix)(id)]
38
25
  });
39
26
  if (revisions.length === 0) {
40
27
  throw new _error.default("Record not found.", "NOT_FOUND", {
@@ -44,49 +31,141 @@ const createSearchRecordOperations = params => {
44
31
  return revisions[0];
45
32
  };
46
33
  return {
47
- async getRecord({
34
+ async getRecord(model, {
48
35
  id
49
36
  }) {
50
- return withModel(async model => {
51
- const record = await getRecord(model, id);
52
- return (0, _getFieldValues.getFieldValues)(record, _createAcoStorageOperations.baseFields, true);
37
+ const record = await getRecord(model, id);
38
+ return (0, _pickEntryFieldValues.pickEntryFieldValues)(record);
39
+ },
40
+ async listRecords(model, params) {
41
+ const {
42
+ sort,
43
+ where
44
+ } = params;
45
+ const [entries, meta] = await cms.listLatestEntries(model, {
46
+ ...params,
47
+ sort,
48
+ where: {
49
+ ...(where || {})
50
+ }
53
51
  });
52
+ const items = entries.map(_pickEntryFieldValues.pickEntryFieldValues);
53
+ return [items, meta];
54
54
  },
55
- listRecords(params) {
56
- return withModel(async model => {
57
- const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
58
- where: (0, _objectSpread2.default)({}, params.where || {})
59
- }));
60
- return [entries.map(entry => (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields, true)), meta];
55
+ async listTags(model, params) {
56
+ const {
57
+ where
58
+ } = params;
59
+ const items = await cms.getUniqueFieldValues(model, {
60
+ where: {
61
+ ...(where || {}),
62
+ latest: true
63
+ },
64
+ fieldId: "tags"
61
65
  });
66
+ const meta = {
67
+ hasMoreItems: false,
68
+ totalCount: items.length,
69
+ cursor: null
70
+ };
71
+ const tags = items.map(item => {
72
+ return {
73
+ tag: item.value,
74
+ count: item.count
75
+ };
76
+ });
77
+ return [tags, meta];
62
78
  },
63
- createRecord({
64
- data
79
+ async createRecord(model, {
80
+ data: searchRecordData
65
81
  }) {
66
- return withModel(async model => {
67
- const entry = await cms.createEntry(model, data);
68
- return (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields, true);
82
+ const {
83
+ tags = [],
84
+ data = {},
85
+ ...rest
86
+ } = searchRecordData;
87
+
88
+ // We added this so that if the main record has its meta fields set with
89
+ // custom values, we can propagate them to the search record as well.
90
+ const {
91
+ createdBy,
92
+ createdOn,
93
+ modifiedBy,
94
+ modifiedOn,
95
+ savedBy,
96
+ savedOn
97
+ } = (0, _constants.pickEntryMetaFields)(data);
98
+ const entry = await cms.createEntry(model, {
99
+ tags,
100
+ data,
101
+ ...rest,
102
+ createdBy,
103
+ createdOn,
104
+ modifiedBy,
105
+ modifiedOn,
106
+ savedBy,
107
+ savedOn,
108
+ revisionCreatedBy: createdBy,
109
+ revisionCreatedOn: createdOn,
110
+ revisionModifiedBy: modifiedBy,
111
+ revisionModifiedOn: modifiedOn,
112
+ revisionSavedBy: savedBy,
113
+ revisionSavedOn: savedOn,
114
+ id: (0, _acoRecordId.attachAcoRecordPrefix)(rest.id)
69
115
  });
116
+ return (0, _pickEntryFieldValues.pickEntryFieldValues)(entry);
70
117
  },
71
- updateRecord({
118
+ async updateRecord(model, {
72
119
  id,
73
120
  data
74
121
  }) {
75
- return withModel(async model => {
76
- const original = await getRecord(model, id);
77
- const input = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
78
- const entry = await cms.updateEntry(model, original.id, input);
79
- return (0, _getFieldValues.getFieldValues)(entry, _createAcoStorageOperations.baseFields, true);
122
+ const original = await this.getRecord(model, {
123
+ id
124
+ });
125
+ const input = {
126
+ /**
127
+ * We are omitting the standard entry meta fields:
128
+ * we don't want to override them with the ones coming from the `original` entry.
129
+ */
130
+ ...(0, _omit.default)(original, _constants.ENTRY_META_FIELDS),
131
+ ...data
132
+ };
133
+ const entry = await cms.updateEntry(model, (0, _acoRecordId.attachAcoRecordPrefix)(original.id), input);
134
+ return (0, _pickEntryFieldValues.pickEntryFieldValues)(entry);
135
+ },
136
+ async moveRecord(model, params) {
137
+ const {
138
+ id,
139
+ folderId
140
+ } = params;
141
+ const original = await this.getRecord(model, {
142
+ id
80
143
  });
144
+ const input = {
145
+ wbyAco_location: {
146
+ folderId
147
+ }
148
+ };
149
+ /**
150
+ * We only apply the location to the search record model as we do not want to override the users data.
151
+ */
152
+ const lookFor = `${_record.SEARCH_RECORD_MODEL_ID}-`;
153
+ if (model.modelId.substring(0, lookFor.length) === lookFor) {
154
+ input.location = {
155
+ folderId
156
+ };
157
+ }
158
+ await cms.updateEntry(model, (0, _acoRecordId.attachAcoRecordPrefix)(original.id), input);
159
+ return true;
81
160
  },
82
- deleteRecord({
161
+ async deleteRecord(model, {
83
162
  id
84
163
  }) {
85
- return withModel(async model => {
86
- await cms.deleteEntry(model, id);
87
- return true;
88
- });
164
+ await cms.deleteEntry(model, (0, _acoRecordId.attachAcoRecordPrefix)(id));
165
+ return true;
89
166
  }
90
167
  };
91
168
  };
92
- exports.createSearchRecordOperations = createSearchRecordOperations;
169
+ exports.createSearchRecordOperations = createSearchRecordOperations;
170
+
171
+ //# sourceMappingURL=record.so.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSearchRecordOperations","params","cms","getCmsContext","withModel","createOperationsWrapper","modelName","SEARCH_RECORD_MODEL_ID","getRecord","initialModel","id","context","model","attachCmsModelFieldConverters","plugins","revisions","storageOperations","entries","getLatestByIds","ids","length","WebinyError","record","getFieldValues","baseFields","listRecords","meta","listLatestEntries","where","map","entry","createRecord","data","createEntry","updateRecord","original","input","updateEntry","deleteRecord","deleteEntry"],"sources":["record.so.ts"],"sourcesContent":["import { attachCmsModelFieldConverters } from \"@webiny/api-headless-cms/utils/converters/valueKeyStorageConverter\";\n\nimport WebinyError from \"@webiny/error\";\n\nimport { SEARCH_RECORD_MODEL_ID } from \"./record.model\";\nimport { baseFields, CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { createOperationsWrapper } from \"~/utils/createOperationsWrapper\";\nimport { getFieldValues } from \"~/utils/getFieldValues\";\n\nimport { AcoSearchRecordStorageOperations } from \"./record.types\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\n\nexport const createSearchRecordOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoSearchRecordStorageOperations => {\n const { cms, getCmsContext } = params;\n\n const { withModel } = createOperationsWrapper({\n ...params,\n modelName: SEARCH_RECORD_MODEL_ID\n });\n\n const getRecord = async (initialModel: CmsModel, id: string) => {\n const context = getCmsContext();\n\n const model = attachCmsModelFieldConverters({\n model: initialModel,\n plugins: context.plugins\n });\n\n /**\n * The record \"id\" has been passed by the original entry.\n * We need to retrieve it via `cms.storageOperations.entries.getLatestByIds()` method and return the first one.\n */\n const revisions = await cms.storageOperations.entries.getLatestByIds(model, {\n ids: [id]\n });\n\n if (revisions.length === 0) {\n throw new WebinyError(\"Record not found.\", \"NOT_FOUND\", {\n id\n });\n }\n\n return revisions[0];\n };\n\n return {\n async getRecord({ id }) {\n return withModel(async model => {\n const record = await getRecord(model, id);\n return getFieldValues(record, baseFields, true);\n });\n },\n listRecords(params) {\n return withModel(async model => {\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...(params.where || {})\n }\n });\n\n return [entries.map(entry => getFieldValues(entry, baseFields, true)), meta];\n });\n },\n createRecord({ data }) {\n return withModel(async model => {\n const entry = await cms.createEntry(model, data);\n\n return getFieldValues(entry, baseFields, true);\n });\n },\n updateRecord({ id, data }) {\n return withModel(async model => {\n const original = await getRecord(model, id);\n\n const input = {\n ...original,\n ...data\n };\n\n const entry = await cms.updateEntry(model, original.id, input);\n\n return getFieldValues(entry, baseFields, true);\n });\n },\n deleteRecord({ id }) {\n return withModel(async model => {\n await cms.deleteEntry(model, id);\n return true;\n });\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_omit","_interopRequireDefault","require","_error","_pickEntryFieldValues","_acoRecordId","_record","_constants","createSearchRecordOperations","params","cms","getRecord","model","id","revisions","storageOperations","entries","getLatestByIds","ids","attachAcoRecordPrefix","length","WebinyError","record","pickEntryFieldValues","listRecords","sort","where","meta","listLatestEntries","items","map","listTags","getUniqueFieldValues","latest","fieldId","hasMoreItems","totalCount","cursor","tags","item","tag","value","count","createRecord","data","searchRecordData","rest","createdBy","createdOn","modifiedBy","modifiedOn","savedBy","savedOn","pickEntryMetaFields","entry","createEntry","revisionCreatedBy","revisionCreatedOn","revisionModifiedBy","revisionModifiedOn","revisionSavedBy","revisionSavedOn","updateRecord","original","input","omit","ENTRY_META_FIELDS","updateEntry","moveRecord","folderId","wbyAco_location","lookFor","SEARCH_RECORD_MODEL_ID","modelId","substring","location","deleteRecord","deleteEntry","exports"],"sources":["record.so.ts"],"sourcesContent":["import omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport type { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { pickEntryFieldValues } from \"~/utils/pickEntryFieldValues\";\nimport type { AcoSearchRecordStorageOperations, SearchRecord } from \"./record.types\";\nimport type { CmsModel, UpdateCmsEntryInput } from \"@webiny/api-headless-cms/types\";\nimport { attachAcoRecordPrefix } from \"~/utils/acoRecordId\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\nimport { ENTRY_META_FIELDS, pickEntryMetaFields } from \"@webiny/api-headless-cms/constants\";\n\nexport const createSearchRecordOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoSearchRecordStorageOperations => {\n const { cms } = params;\n\n const getRecord = async (model: CmsModel, id: string) => {\n /**\n * The record \"id\" has been passed by the original entry.\n * We need to retrieve it via `cms.storageOperations.entries.getLatestByIds()` method and return the first one.\n */\n const revisions = await cms.storageOperations.entries.getLatestByIds(model, {\n ids: [attachAcoRecordPrefix(id)]\n });\n\n if (revisions.length === 0) {\n throw new WebinyError(\"Record not found.\", \"NOT_FOUND\", {\n id\n });\n }\n\n return revisions[0];\n };\n\n return {\n async getRecord(model, { id }) {\n const record = await getRecord(model, id);\n return pickEntryFieldValues<SearchRecord<any>>(record);\n },\n async listRecords(model, params) {\n const { sort, where } = params;\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n sort,\n where: {\n ...(where || {})\n }\n });\n\n const items = entries.map(pickEntryFieldValues<SearchRecord<any>>);\n\n return [items, meta];\n },\n async listTags(model, params) {\n const { where } = params;\n const items = await cms.getUniqueFieldValues(model, {\n where: {\n ...(where || {}),\n latest: true\n },\n fieldId: \"tags\"\n });\n\n const meta = {\n hasMoreItems: false,\n totalCount: items.length,\n cursor: null\n };\n\n const tags = items.map(item => {\n return {\n tag: item.value,\n count: item.count\n };\n });\n\n return [tags, meta];\n },\n async createRecord(model, { data: searchRecordData }) {\n const { tags = [], data = {}, ...rest } = searchRecordData;\n\n // We added this so that if the main record has its meta fields set with\n // custom values, we can propagate them to the search record as well.\n const { createdBy, createdOn, modifiedBy, modifiedOn, savedBy, savedOn } =\n pickEntryMetaFields(data);\n\n const entry = await cms.createEntry(model, {\n tags,\n data,\n ...rest,\n createdBy,\n createdOn,\n modifiedBy,\n modifiedOn,\n savedBy,\n savedOn,\n revisionCreatedBy: createdBy,\n revisionCreatedOn: createdOn,\n revisionModifiedBy: modifiedBy,\n revisionModifiedOn: modifiedOn,\n revisionSavedBy: savedBy,\n revisionSavedOn: savedOn,\n id: attachAcoRecordPrefix(rest.id)\n });\n\n return pickEntryFieldValues<SearchRecord<any>>(entry);\n },\n async updateRecord(this: AcoSearchRecordStorageOperations, model, { id, data }) {\n const original = await this.getRecord(model, { id });\n const input = {\n /**\n * We are omitting the standard entry meta fields:\n * we don't want to override them with the ones coming from the `original` entry.\n */\n ...omit(original, ENTRY_META_FIELDS),\n ...data\n };\n\n const entry = await cms.updateEntry(model, attachAcoRecordPrefix(original.id), input);\n\n return pickEntryFieldValues<SearchRecord<any>>(entry);\n },\n async moveRecord(this: AcoSearchRecordStorageOperations, model, params) {\n const { id, folderId } = params;\n const original = await this.getRecord(model, { id });\n\n const input: UpdateCmsEntryInput = {\n wbyAco_location: {\n folderId\n }\n };\n /**\n * We only apply the location to the search record model as we do not want to override the users data.\n */\n const lookFor = `${SEARCH_RECORD_MODEL_ID}-`;\n if (model.modelId.substring(0, lookFor.length) === lookFor) {\n input.location = {\n folderId\n };\n }\n\n await cms.updateEntry(model, attachAcoRecordPrefix(original.id), input);\n\n return true;\n },\n async deleteRecord(model, { id }) {\n await cms.deleteEntry(model, attachAcoRecordPrefix(id));\n return true;\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- import { AcoBaseFields, ListMeta } from "../types";
2
- import { Topic } from "@webiny/pubsub/types";
3
- export declare type GenericSearchData = {
1
+ import type { AcoBaseFields, ListMeta } from "../types";
2
+ import type { Topic } from "@webiny/pubsub/types";
3
+ import type { CmsEntryListSort, CmsModel } from "@webiny/api-headless-cms/types";
4
+ export type GenericSearchData = {
4
5
  [key: string]: any;
5
6
  };
6
7
  export interface Location {
@@ -8,38 +9,55 @@ export interface Location {
8
9
  }
9
10
  export interface SearchRecord<TData extends GenericSearchData = GenericSearchData> extends AcoBaseFields {
10
11
  type: string;
11
- title?: string;
12
+ title: string;
12
13
  content?: string;
13
- location?: Location;
14
- data?: TData;
14
+ location: Location;
15
+ data: TData;
16
+ tags: string[];
17
+ }
18
+ export interface SearchRecordTag {
19
+ tag: string;
20
+ count: number;
15
21
  }
16
- export interface ListSearchRecordsWhere {
22
+ export interface ListSearchRecordsWhere<TData extends GenericSearchData = GenericSearchData> {
17
23
  type: string;
18
24
  location?: {
19
25
  folderId: string;
20
26
  };
27
+ tags_in?: string[];
28
+ tags_startsWith?: string;
29
+ tags_not_startsWith?: string;
30
+ data?: TData;
21
31
  }
22
32
  export interface ListSearchRecordsParams {
23
33
  where?: ListSearchRecordsWhere;
24
34
  search?: string;
25
- sort?: string[];
35
+ sort?: CmsEntryListSort;
26
36
  limit?: number;
27
37
  after?: string | null;
28
38
  }
29
- export declare type CreateSearchRecordParams<TData> = Pick<SearchRecord<TData>, "id" | "title" | "content" | "type" | "location" | "data">;
39
+ export type CreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> = Pick<SearchRecord<TData>, "id" | "title" | "content" | "type" | "location" | "data" | "tags">;
30
40
  export interface UpdateSearchRecordParams<TData extends GenericSearchData> {
31
41
  title?: string;
32
42
  content?: string;
33
43
  location?: Location;
34
44
  data?: TData;
45
+ tags?: string[];
35
46
  }
36
47
  export interface DeleteSearchRecordParams {
37
48
  id: string;
38
49
  }
50
+ export interface ListSearchRecordTagsWhere {
51
+ type: string;
52
+ }
53
+ export interface ListSearchRecordTagsParams {
54
+ where?: ListSearchRecordTagsWhere;
55
+ }
39
56
  export interface StorageOperationsGetSearchRecordParams {
40
57
  id: string;
41
58
  }
42
- export declare type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;
59
+ export type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;
60
+ export type StorageOperationsListSearchRecordTagsParams = ListSearchRecordTagsParams;
43
61
  export interface StorageOperationsCreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> {
44
62
  data: CreateSearchRecordParams<TData>;
45
63
  }
@@ -47,45 +65,80 @@ export interface StorageOperationsUpdateSearchRecordParams<TData extends Generic
47
65
  id: string;
48
66
  data: UpdateSearchRecordParams<TData>;
49
67
  }
50
- export declare type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;
68
+ export interface StorageOperationsMoveSearchRecordParams {
69
+ id: string;
70
+ folderId?: string | null;
71
+ }
72
+ export type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;
51
73
  export interface OnSearchRecordBeforeCreateTopicParams<TData extends GenericSearchData = GenericSearchData> {
74
+ model: CmsModel;
52
75
  input: CreateSearchRecordParams<TData>;
53
76
  }
54
77
  export interface OnSearchRecordAfterCreateTopicParams<TData extends GenericSearchData = GenericSearchData> {
78
+ model: CmsModel;
55
79
  record: SearchRecord<TData>;
56
80
  }
57
81
  export interface OnSearchRecordBeforeUpdateTopicParams<TData extends GenericSearchData = GenericSearchData> {
82
+ model: CmsModel;
58
83
  original: SearchRecord<TData>;
59
84
  input: Record<string, any>;
60
85
  }
86
+ export interface OnSearchRecordBeforeMoveTopicParams<TData extends GenericSearchData = GenericSearchData> {
87
+ model: CmsModel;
88
+ original: SearchRecord<TData>;
89
+ folderId?: string | null;
90
+ }
91
+ export interface OnSearchRecordAfterMoveTopicParams<TData extends GenericSearchData = GenericSearchData> {
92
+ model: CmsModel;
93
+ original: SearchRecord<TData>;
94
+ folderId?: string | null;
95
+ }
61
96
  export interface OnSearchRecordAfterUpdateTopicParams<TData extends GenericSearchData = GenericSearchData> {
97
+ model: CmsModel;
62
98
  original: SearchRecord<TData>;
63
99
  record: SearchRecord<TData>;
64
100
  input: Record<string, any>;
65
101
  }
66
102
  export interface OnSearchRecordBeforeDeleteTopicParams<TData extends GenericSearchData = GenericSearchData> {
103
+ model: CmsModel;
67
104
  record: SearchRecord<TData>;
68
105
  }
69
106
  export interface OnSearchRecordAfterDeleteTopicParams<TData extends GenericSearchData = GenericSearchData> {
107
+ model: CmsModel;
70
108
  record: SearchRecord<TData>;
71
109
  }
72
- export interface AcoSearchRecordCrud {
73
- get<TData>(id: string): Promise<SearchRecord<TData>>;
74
- list<TData>(params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
75
- create<TData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
76
- update<TData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
77
- delete(id: string): Promise<Boolean>;
110
+ export interface AcoSearchRecordCrudBase {
111
+ get<TData extends GenericSearchData = GenericSearchData>(id: string): Promise<SearchRecord<TData>>;
112
+ list<TData extends GenericSearchData = GenericSearchData>(params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
113
+ listTags(params: ListSearchRecordTagsParams): Promise<[SearchRecordTag[], ListMeta]>;
114
+ create<TData extends GenericSearchData = GenericSearchData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
115
+ update<TData extends GenericSearchData = GenericSearchData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
116
+ move(id: string, folderId?: string | null): Promise<boolean>;
117
+ delete(id: string): Promise<boolean>;
118
+ }
119
+ export interface AcoSearchRecordCrud extends Omit<AcoSearchRecordCrudBase, "get" | "list" | "create" | "update" | "delete" | "listTags" | "move"> {
120
+ get<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, id: string): Promise<SearchRecord<TData>>;
121
+ list<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
122
+ listTags(model: CmsModel, params: ListSearchRecordTagsParams): Promise<[SearchRecordTag[], ListMeta]>;
123
+ create<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
124
+ update<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
125
+ move(model: CmsModel, id: string, folderId?: string | null): Promise<boolean>;
126
+ delete(model: CmsModel, id: string): Promise<boolean>;
78
127
  onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;
79
128
  onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;
80
129
  onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;
81
130
  onSearchRecordAfterUpdate: Topic<OnSearchRecordAfterUpdateTopicParams>;
131
+ onSearchRecordBeforeMove: Topic<OnSearchRecordBeforeMoveTopicParams>;
132
+ onSearchRecordAfterMove: Topic<OnSearchRecordAfterMoveTopicParams>;
82
133
  onSearchRecordBeforeDelete: Topic<OnSearchRecordBeforeDeleteTopicParams>;
83
134
  onSearchRecordAfterDelete: Topic<OnSearchRecordAfterDeleteTopicParams>;
84
135
  }
85
136
  export interface AcoSearchRecordStorageOperations {
86
- getRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsGetSearchRecordParams): Promise<SearchRecord<TData>>;
87
- listRecords<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
88
- createRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsCreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
89
- updateRecord<TData extends GenericSearchData = GenericSearchData>(params: StorageOperationsUpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
90
- deleteRecord(params: StorageOperationsDeleteSearchRecordParams): Promise<boolean>;
137
+ getRecord<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, params: StorageOperationsGetSearchRecordParams): Promise<SearchRecord<TData>>;
138
+ listRecords<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, params: StorageOperationsListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
139
+ listTags(model: CmsModel, params: StorageOperationsListSearchRecordTagsParams): Promise<[SearchRecordTag[], ListMeta]>;
140
+ createRecord<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, params: StorageOperationsCreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
141
+ updateRecord<TData extends GenericSearchData = GenericSearchData>(model: CmsModel, params: StorageOperationsUpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
142
+ moveRecord(model: CmsModel, params: StorageOperationsMoveSearchRecordParams): Promise<boolean>;
143
+ deleteRecord(model: CmsModel, params: StorageOperationsDeleteSearchRecordParams): Promise<boolean>;
91
144
  }
@@ -2,4 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+
7
+ //# sourceMappingURL=record.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["record.types.ts"],"sourcesContent":["import { AcoBaseFields, ListMeta } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\n\nexport type GenericSearchData = {\n [key: string]: any;\n};\n\nexport interface Location {\n folderId: string;\n}\n\nexport interface SearchRecord<TData extends GenericSearchData = GenericSearchData>\n extends AcoBaseFields {\n type: string;\n title?: string;\n content?: string;\n location?: Location;\n data?: TData;\n}\n\nexport interface ListSearchRecordsWhere {\n type: string;\n location?: {\n folderId: string;\n };\n}\n\nexport interface ListSearchRecordsParams {\n where?: ListSearchRecordsWhere;\n search?: string;\n sort?: string[];\n limit?: number;\n after?: string | null;\n}\n\nexport type CreateSearchRecordParams<TData> = Pick<\n SearchRecord<TData>,\n \"id\" | \"title\" | \"content\" | \"type\" | \"location\" | \"data\"\n>;\n\nexport interface UpdateSearchRecordParams<TData extends GenericSearchData> {\n title?: string;\n content?: string;\n location?: Location;\n data?: TData;\n}\n\nexport interface DeleteSearchRecordParams {\n id: string;\n}\n\nexport interface StorageOperationsGetSearchRecordParams {\n id: string;\n}\n\nexport type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;\n\nexport interface StorageOperationsCreateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n data: CreateSearchRecordParams<TData>;\n}\nexport interface StorageOperationsUpdateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n id: string;\n data: UpdateSearchRecordParams<TData>;\n}\nexport type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;\n\nexport interface OnSearchRecordBeforeCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n input: CreateSearchRecordParams<TData>;\n}\n\nexport interface OnSearchRecordAfterCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordBeforeUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n original: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordAfterUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n original: SearchRecord<TData>;\n record: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordBeforeDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordAfterDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n record: SearchRecord<TData>;\n}\n\nexport interface AcoSearchRecordCrud {\n get<TData>(id: string): Promise<SearchRecord<TData>>;\n list<TData>(params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;\n create<TData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;\n update<TData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;\n delete(id: string): Promise<Boolean>;\n onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;\n onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;\n onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;\n onSearchRecordAfterUpdate: Topic<OnSearchRecordAfterUpdateTopicParams>;\n onSearchRecordBeforeDelete: Topic<OnSearchRecordBeforeDeleteTopicParams>;\n onSearchRecordAfterDelete: Topic<OnSearchRecordAfterDeleteTopicParams>;\n}\nexport interface AcoSearchRecordStorageOperations {\n getRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsGetSearchRecordParams\n ): Promise<SearchRecord<TData>>;\n listRecords<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsListSearchRecordsParams\n ): Promise<[SearchRecord<TData>[], ListMeta]>;\n createRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsCreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n updateRecord<TData extends GenericSearchData = GenericSearchData>(\n params: StorageOperationsUpdateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n deleteRecord(params: StorageOperationsDeleteSearchRecordParams): Promise<boolean>;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["record.types.ts"],"sourcesContent":["import type { AcoBaseFields, ListMeta } from \"~/types\";\nimport type { Topic } from \"@webiny/pubsub/types\";\nimport type { CmsEntryListSort, CmsModel } from \"@webiny/api-headless-cms/types\";\n\nexport type GenericSearchData = {\n [key: string]: any;\n};\n\nexport interface Location {\n folderId: string;\n}\n\nexport interface SearchRecord<TData extends GenericSearchData = GenericSearchData>\n extends AcoBaseFields {\n type: string;\n title: string;\n content?: string;\n location: Location;\n data: TData;\n tags: string[];\n}\n\nexport interface SearchRecordTag {\n tag: string;\n count: number;\n}\n\nexport interface ListSearchRecordsWhere<TData extends GenericSearchData = GenericSearchData> {\n type: string;\n location?: {\n folderId: string;\n };\n tags_in?: string[];\n tags_startsWith?: string;\n tags_not_startsWith?: string;\n data?: TData;\n}\n\nexport interface ListSearchRecordsParams {\n where?: ListSearchRecordsWhere;\n search?: string;\n sort?: CmsEntryListSort;\n limit?: number;\n after?: string | null;\n}\n\nexport type CreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> = Pick<\n SearchRecord<TData>,\n \"id\" | \"title\" | \"content\" | \"type\" | \"location\" | \"data\" | \"tags\"\n>;\n\nexport interface UpdateSearchRecordParams<TData extends GenericSearchData> {\n title?: string;\n content?: string;\n location?: Location;\n data?: TData;\n tags?: string[];\n}\n\nexport interface DeleteSearchRecordParams {\n id: string;\n}\n\nexport interface ListSearchRecordTagsWhere {\n type: string;\n}\n\nexport interface ListSearchRecordTagsParams {\n where?: ListSearchRecordTagsWhere;\n}\n\nexport interface StorageOperationsGetSearchRecordParams {\n id: string;\n}\n\nexport type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;\nexport type StorageOperationsListSearchRecordTagsParams = ListSearchRecordTagsParams;\n\nexport interface StorageOperationsCreateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n data: CreateSearchRecordParams<TData>;\n}\n\nexport interface StorageOperationsUpdateSearchRecordParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n id: string;\n data: UpdateSearchRecordParams<TData>;\n}\n\nexport interface StorageOperationsMoveSearchRecordParams {\n id: string;\n folderId?: string | null;\n}\n\nexport type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;\n\nexport interface OnSearchRecordBeforeCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n input: CreateSearchRecordParams<TData>;\n}\n\nexport interface OnSearchRecordAfterCreateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordBeforeUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n original: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordBeforeMoveTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n original: SearchRecord<TData>;\n folderId?: string | null;\n}\n\nexport interface OnSearchRecordAfterMoveTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n original: SearchRecord<TData>;\n folderId?: string | null;\n}\n\nexport interface OnSearchRecordAfterUpdateTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n original: SearchRecord<TData>;\n record: SearchRecord<TData>;\n input: Record<string, any>;\n}\n\nexport interface OnSearchRecordBeforeDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n record: SearchRecord<TData>;\n}\n\nexport interface OnSearchRecordAfterDeleteTopicParams<\n TData extends GenericSearchData = GenericSearchData\n> {\n model: CmsModel;\n record: SearchRecord<TData>;\n}\n\nexport interface AcoSearchRecordCrudBase {\n get<TData extends GenericSearchData = GenericSearchData>(\n id: string\n ): Promise<SearchRecord<TData>>;\n list<TData extends GenericSearchData = GenericSearchData>(\n params: ListSearchRecordsParams\n ): Promise<[SearchRecord<TData>[], ListMeta]>;\n listTags(params: ListSearchRecordTagsParams): Promise<[SearchRecordTag[], ListMeta]>;\n create<TData extends GenericSearchData = GenericSearchData>(\n data: CreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n update<TData extends GenericSearchData = GenericSearchData>(\n id: string,\n data: UpdateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n move(id: string, folderId?: string | null): Promise<boolean>;\n delete(id: string): Promise<boolean>;\n}\n\nexport interface AcoSearchRecordCrud\n extends Omit<\n AcoSearchRecordCrudBase,\n \"get\" | \"list\" | \"create\" | \"update\" | \"delete\" | \"listTags\" | \"move\"\n > {\n get<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n id: string\n ): Promise<SearchRecord<TData>>;\n list<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n params: ListSearchRecordsParams\n ): Promise<[SearchRecord<TData>[], ListMeta]>;\n listTags(\n model: CmsModel,\n params: ListSearchRecordTagsParams\n ): Promise<[SearchRecordTag[], ListMeta]>;\n create<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n data: CreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n update<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n id: string,\n data: UpdateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n move(model: CmsModel, id: string, folderId?: string | null): Promise<boolean>;\n delete(model: CmsModel, id: string): Promise<boolean>;\n onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;\n onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;\n onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;\n onSearchRecordAfterUpdate: Topic<OnSearchRecordAfterUpdateTopicParams>;\n onSearchRecordBeforeMove: Topic<OnSearchRecordBeforeMoveTopicParams>;\n onSearchRecordAfterMove: Topic<OnSearchRecordAfterMoveTopicParams>;\n onSearchRecordBeforeDelete: Topic<OnSearchRecordBeforeDeleteTopicParams>;\n onSearchRecordAfterDelete: Topic<OnSearchRecordAfterDeleteTopicParams>;\n}\n\nexport interface AcoSearchRecordStorageOperations {\n getRecord<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n params: StorageOperationsGetSearchRecordParams\n ): Promise<SearchRecord<TData>>;\n listRecords<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n params: StorageOperationsListSearchRecordsParams\n ): Promise<[SearchRecord<TData>[], ListMeta]>;\n listTags(\n model: CmsModel,\n params: StorageOperationsListSearchRecordTagsParams\n ): Promise<[SearchRecordTag[], ListMeta]>;\n createRecord<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n params: StorageOperationsCreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n updateRecord<TData extends GenericSearchData = GenericSearchData>(\n model: CmsModel,\n params: StorageOperationsUpdateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n moveRecord(model: CmsModel, params: StorageOperationsMoveSearchRecordParams): Promise<boolean>;\n deleteRecord(\n model: CmsModel,\n params: StorageOperationsDeleteSearchRecordParams\n ): Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
package/types.d.ts CHANGED
@@ -1,10 +1,20 @@
1
- import { Tenant, TenancyContext } from "@webiny/api-tenancy/types";
2
- import { Context as BaseContext } from "@webiny/handler/types";
3
- import { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
4
- import { SecurityContext, SecurityIdentity } from "@webiny/api-security/types";
5
- import { CmsContext } from "@webiny/api-headless-cms/types";
6
- import { AcoSearchRecordCrud, AcoSearchRecordStorageOperations } from "./record/record.types";
7
- import { AcoFolderCrud, AcoFolderStorageOperations } from "./folder/folder.types";
1
+ import type { TenancyContext, Tenant } from "@webiny/api-tenancy/types";
2
+ import type { Context as BaseContext } from "@webiny/handler/types";
3
+ import type { I18NContext, I18NLocale } from "@webiny/api-i18n/types";
4
+ import type { SecurityContext } from "@webiny/api-security/types";
5
+ import type { AdminUsersContext } from "@webiny/api-admin-users/types";
6
+ import type { FileManagerContext } from "@webiny/api-file-manager/types";
7
+ import type { Context as TasksContext } from "@webiny/tasks/types";
8
+ import type { CmsContext, CmsModel, CmsModelField } from "@webiny/api-headless-cms/types";
9
+ import type { AcoSearchRecordCrud, AcoSearchRecordCrudBase, AcoSearchRecordStorageOperations, GenericSearchData, SearchRecord } from "./record/record.types";
10
+ import type { AcoFolderCrud, AcoFolderStorageOperations } from "./folder/folder.types";
11
+ import type { AcoFilterCrud, AcoFilterStorageOperations } from "./filter/filter.types";
12
+ import type { AcoFolderLevelPermissionsCrud, AcoFolderLevelPermissionsStorageOperations } from "./flp/flp.types";
13
+ import type { FolderLevelPermissions } from "./flp";
14
+ export * from "./filter/filter.types";
15
+ export * from "./folder/folder.types";
16
+ export * from "./record/record.types";
17
+ export * from "./flp/flp.types";
8
18
  export interface User {
9
19
  id: string;
10
20
  type: string;
@@ -15,24 +25,93 @@ export interface ListMeta {
15
25
  totalCount: number;
16
26
  hasMoreItems: boolean;
17
27
  }
28
+ export declare enum ListSortDirection {
29
+ ASC = 0,
30
+ DESC = 1
31
+ }
32
+ export type ListSort = Record<string, ListSortDirection>;
18
33
  export interface AcoBaseFields {
19
34
  id: string;
20
35
  entryId: string;
21
36
  createdOn: string;
22
- createdBy: User;
37
+ modifiedOn: string | null;
23
38
  savedOn: string;
39
+ createdBy: User;
40
+ modifiedBy: User | null;
41
+ savedBy: User;
24
42
  }
25
43
  export interface AdvancedContentOrganisation {
26
44
  folder: AcoFolderCrud;
27
45
  search: AcoSearchRecordCrud;
46
+ filter: AcoFilterCrud;
47
+ flp: AcoFolderLevelPermissionsCrud;
48
+ folderLevelPermissions: FolderLevelPermissions;
49
+ apps: IAcoApps;
50
+ registerApp: (params: IAcoAppRegisterParams) => Promise<IAcoApp>;
51
+ getApp: (name: string) => IAcoApp;
52
+ listApps: () => IAcoApp[];
28
53
  }
29
54
  export interface CreateAcoParams {
30
- getIdentity: () => SecurityIdentity;
31
55
  getLocale: () => I18NLocale;
32
56
  getTenant: () => Tenant;
33
57
  storageOperations: AcoStorageOperations;
58
+ folderLevelPermissions: FolderLevelPermissions;
34
59
  }
35
- export declare type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;
36
- export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, CmsContext {
60
+ export interface AcoStorageOperations {
61
+ folder: AcoFolderStorageOperations;
62
+ search: AcoSearchRecordStorageOperations;
63
+ filter: AcoFilterStorageOperations;
64
+ flp: AcoFolderLevelPermissionsStorageOperations;
65
+ }
66
+ export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, AdminUsersContext, CmsContext, FileManagerContext, TasksContext {
37
67
  aco: AdvancedContentOrganisation;
38
68
  }
69
+ /**
70
+ * @deprecated Use AcoContext instead
71
+ */
72
+ export type ACOContext = AcoContext;
73
+ /**
74
+ * Apps
75
+ */
76
+ export interface IAcoAppAddFieldCallable {
77
+ (field: CmsModelField): void;
78
+ }
79
+ export interface IAcoAppRemoveFieldCallable {
80
+ (id: string): void;
81
+ }
82
+ export interface IAcoAppModifyFieldCallableCallback {
83
+ (field: CmsModelField): CmsModelField;
84
+ }
85
+ export interface IAcoAppModifyFieldCallable {
86
+ (id: string, cb: IAcoAppModifyFieldCallableCallback): void;
87
+ }
88
+ export interface IAcoApp {
89
+ context: AcoContext;
90
+ search: AcoSearchRecordCrudBase;
91
+ folder: AcoFolderCrud;
92
+ name: string;
93
+ model: CmsModel;
94
+ getFields: () => CmsModelField[];
95
+ addField: IAcoAppAddFieldCallable;
96
+ removeField: IAcoAppRemoveFieldCallable;
97
+ modifyField: IAcoAppModifyFieldCallable;
98
+ }
99
+ export type IAcoAppOnEntry<T extends GenericSearchData = GenericSearchData> = (entry: SearchRecord<T>, context: AcoContext) => Promise<SearchRecord<T>>;
100
+ export type IAcoAppOnEntryList<T extends GenericSearchData = GenericSearchData> = (entries: SearchRecord<T>[], context: AcoContext) => Promise<SearchRecord<T>[]>;
101
+ export type AcoRequestAction = "create" | "update" | "delete" | "move" | "fetch";
102
+ export type IAcoAppOnAnyRequest = (context: AcoContext, action: AcoRequestAction) => Promise<void>;
103
+ export interface IAcoAppParams {
104
+ name: string;
105
+ apiName: string;
106
+ model: CmsModel;
107
+ fields: CmsModelField[];
108
+ onEntry?: IAcoAppOnEntry;
109
+ onEntryList?: IAcoAppOnEntryList;
110
+ onAnyRequest?: IAcoAppOnAnyRequest;
111
+ }
112
+ export type IAcoAppsOptions = CreateAcoParams;
113
+ export interface IAcoApps {
114
+ list: () => IAcoApp[];
115
+ register: (app: IAcoAppParams) => Promise<IAcoApp>;
116
+ }
117
+ export type IAcoAppRegisterParams = Omit<IAcoAppParams, "model">;