@webiny/api-aco 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.9bd236cf5e

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 (500) hide show
  1. package/apps/AcoApp.d.ts +7 -2
  2. package/apps/AcoApp.js +56 -21
  3. package/apps/AcoApp.js.map +1 -1
  4. package/apps/AcoApps.d.ts +1 -1
  5. package/apps/AcoApps.js +7 -8
  6. package/apps/AcoApps.js.map +1 -1
  7. package/apps/app.gql.d.ts +1 -1
  8. package/apps/app.gql.js +6 -5
  9. package/apps/app.gql.js.map +1 -1
  10. package/apps/index.js +3 -1
  11. package/apps/index.js.map +1 -1
  12. package/constants.d.ts +3 -0
  13. package/constants.js +26 -0
  14. package/constants.js.map +1 -0
  15. package/createAcoContext.d.ts +8 -2
  16. package/createAcoContext.js +57 -27
  17. package/createAcoContext.js.map +1 -1
  18. package/createAcoGraphQL.d.ts +3 -2
  19. package/createAcoGraphQL.js +44 -2
  20. package/createAcoGraphQL.js.map +1 -1
  21. package/createAcoHooks.d.ts +1 -1
  22. package/createAcoHooks.js +11 -3
  23. package/createAcoHooks.js.map +1 -1
  24. package/createAcoModels.d.ts +2 -2
  25. package/createAcoModels.js +14 -21
  26. package/createAcoModels.js.map +1 -1
  27. package/createAcoStorageOperations.d.ts +6 -5
  28. package/createAcoStorageOperations.js +14 -9
  29. package/createAcoStorageOperations.js.map +1 -1
  30. package/createAcoTasks.d.ts +1 -0
  31. package/createAcoTasks.js +13 -0
  32. package/createAcoTasks.js.map +1 -0
  33. package/filter/filter.crud.d.ts +3 -0
  34. package/filter/filter.crud.js +94 -0
  35. package/filter/filter.crud.js.map +1 -0
  36. package/filter/filter.gql.d.ts +3 -0
  37. package/filter/filter.gql.js +152 -0
  38. package/filter/filter.gql.js.map +1 -0
  39. package/filter/filter.model.d.ts +2 -0
  40. package/filter/filter.model.js +124 -0
  41. package/filter/filter.model.js.map +1 -0
  42. package/filter/filter.so.d.ts +3 -0
  43. package/filter/filter.so.js +98 -0
  44. package/filter/filter.so.js.map +1 -0
  45. package/filter/filter.types.d.ts +95 -0
  46. package/filter/filter.types.js +13 -0
  47. package/filter/filter.types.js.map +1 -0
  48. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.d.ts +7 -0
  49. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js +17 -0
  50. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/GetIdentityGatewayFromContext.js.map +1 -0
  51. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.d.ts +4 -0
  52. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js +7 -0
  53. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/IGetIdentityGateway.js.map +1 -0
  54. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.d.ts +2 -0
  55. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js +29 -0
  56. package/flp/FolderLevelPermissions/gateways/GetIdentityGateway/index.js.map +1 -0
  57. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.d.ts +7 -0
  58. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js +17 -0
  59. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/GetWcpGatewayFromContext.js.map +1 -0
  60. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.d.ts +4 -0
  61. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js +7 -0
  62. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/IGetWcpGateway.js.map +1 -0
  63. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.d.ts +2 -0
  64. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js +29 -0
  65. package/flp/FolderLevelPermissions/gateways/GetWcpGateway/index.js.map +1 -0
  66. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.d.ts +3 -0
  67. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js +7 -0
  68. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IIsAuthorizationEnabledGateway.js.map +1 -0
  69. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.d.ts +7 -0
  70. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js +17 -0
  71. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/IsAuthorizationEnabledGatewayFromContext.js.map +1 -0
  72. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.d.ts +2 -0
  73. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js +29 -0
  74. package/flp/FolderLevelPermissions/gateways/IsAuthorizationEnabled/index.js.map +1 -0
  75. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.d.ts +4 -0
  76. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js +7 -0
  77. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/IListIdentityTeamsGateway.js.map +1 -0
  78. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.d.ts +7 -0
  79. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js +39 -0
  80. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/ListIdentityTeamsGatewayFromContext.js.map +1 -0
  81. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.d.ts +2 -0
  82. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js +29 -0
  83. package/flp/FolderLevelPermissions/gateways/ListIdentityTeamsGateway/index.js.map +1 -0
  84. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.d.ts +4 -0
  85. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js +7 -0
  86. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/IListPermissionsGateway.js.map +1 -0
  87. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.d.ts +7 -0
  88. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js +17 -0
  89. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/ListPermissionsGatewayFromContext.js.map +1 -0
  90. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.d.ts +2 -0
  91. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js +29 -0
  92. package/flp/FolderLevelPermissions/gateways/ListPermissionsGateway/index.js.map +1 -0
  93. package/flp/FolderLevelPermissions/gateways/index.d.ts +5 -0
  94. package/flp/FolderLevelPermissions/gateways/index.js +62 -0
  95. package/flp/FolderLevelPermissions/gateways/index.js.map +1 -0
  96. package/flp/FolderLevelPermissions/index.d.ts +33 -0
  97. package/flp/FolderLevelPermissions/index.js +116 -0
  98. package/flp/FolderLevelPermissions/index.js.map +1 -0
  99. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.d.ts +7 -0
  100. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js +48 -0
  101. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/CanAccessFolder.js.map +1 -0
  102. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.d.ts +9 -0
  103. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js +7 -0
  104. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/ICanAccessFolder.js.map +1 -0
  105. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.d.ts +2 -0
  106. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js +29 -0
  107. package/flp/FolderLevelPermissions/useCases/CanAccessFolder/index.js.map +1 -0
  108. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.d.ts +7 -0
  109. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js +41 -0
  110. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/CanAccessFolderContent.js.map +1 -0
  111. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.d.ts +8 -0
  112. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js +7 -0
  113. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/ICanAccessFolderContent.js.map +1 -0
  114. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.d.ts +2 -0
  115. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js +29 -0
  116. package/flp/FolderLevelPermissions/useCases/CanAccessFolderContent/index.js.map +1 -0
  117. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.d.ts +4 -0
  118. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js +14 -0
  119. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/CanCreateFolderInRoot.js.map +1 -0
  120. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.d.ts +3 -0
  121. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js +7 -0
  122. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/ICanCreateFolderInRoot.js.map +1 -0
  123. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.d.ts +2 -0
  124. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js +29 -0
  125. package/flp/FolderLevelPermissions/useCases/CanCreateFolderInRoot/index.js.map +1 -0
  126. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.d.ts +9 -0
  127. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js +34 -0
  128. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/CanUseFolderLevelPermissions.js.map +1 -0
  129. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.d.ts +3 -0
  130. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js +7 -0
  131. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/ICanUseFolderPermissions.js.map +1 -0
  132. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.d.ts +2 -0
  133. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js +29 -0
  134. package/flp/FolderLevelPermissions/useCases/CanUseFolderLevelPermissions/index.js.map +1 -0
  135. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.d.ts +7 -0
  136. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js +17 -0
  137. package/flp/FolderLevelPermissions/useCases/CanUseTeams/CanUseTeams.js.map +1 -0
  138. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.d.ts +3 -0
  139. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js +7 -0
  140. package/flp/FolderLevelPermissions/useCases/CanUseTeams/ICanUseTeams.js.map +1 -0
  141. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.d.ts +2 -0
  142. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js +29 -0
  143. package/flp/FolderLevelPermissions/useCases/CanUseTeams/index.js.map +1 -0
  144. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.d.ts +5 -0
  145. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js +14 -0
  146. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/CheckNotInheritedPermissions.js.map +1 -0
  147. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.d.ts +4 -0
  148. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js +7 -0
  149. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/ICheckNotInheritedPermissions.js.map +1 -0
  150. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.d.ts +2 -0
  151. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js +29 -0
  152. package/flp/FolderLevelPermissions/useCases/CheckNotInheritedPermissions/index.js.map +1 -0
  153. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.d.ts +6 -0
  154. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js +77 -0
  155. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/DefaultPermissionsMerger.js.map +1 -0
  156. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.d.ts +9 -0
  157. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js +21 -0
  158. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissions.js.map +1 -0
  159. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.d.ts +10 -0
  160. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js +42 -0
  161. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/GetDefaultPermissionsWithTeams.js.map +1 -0
  162. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.d.ts +4 -0
  163. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js +7 -0
  164. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/IGetDefaultPermissions.js.map +1 -0
  165. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.d.ts +3 -0
  166. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js +40 -0
  167. package/flp/FolderLevelPermissions/useCases/GetDefaultPermissions/index.js.map +1 -0
  168. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.d.ts +7 -0
  169. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js +17 -0
  170. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/GetFolderPermission.js.map +1 -0
  171. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.d.ts +4 -0
  172. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js +7 -0
  173. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/IGetFolderPermission.js.map +1 -0
  174. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.d.ts +2 -0
  175. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js +29 -0
  176. package/flp/FolderLevelPermissions/useCases/GetFolderPermission/index.js.map +1 -0
  177. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.d.ts +4 -0
  178. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js +7 -0
  179. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/IListFolderPermissions.js.map +1 -0
  180. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.d.ts +7 -0
  181. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js +17 -0
  182. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/ListFolderPermissions.js.map +1 -0
  183. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.d.ts +2 -0
  184. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js +18 -0
  185. package/flp/FolderLevelPermissions/useCases/ListFolderPermissions/index.js.map +1 -0
  186. package/flp/FolderLevelPermissions/useCases/index.d.ts +9 -0
  187. package/flp/FolderLevelPermissions/useCases/index.js +106 -0
  188. package/flp/FolderLevelPermissions/useCases/index.js.map +1 -0
  189. package/flp/flp.crud.d.ts +9 -0
  190. package/flp/flp.crud.js +172 -0
  191. package/flp/flp.crud.js.map +1 -0
  192. package/flp/flp.so.d.ts +26 -0
  193. package/flp/flp.so.js +304 -0
  194. package/flp/flp.so.js.map +1 -0
  195. package/flp/flp.types.d.ts +147 -0
  196. package/flp/flp.types.js +18 -0
  197. package/flp/flp.types.js.map +1 -0
  198. package/flp/hooks/index.d.ts +2 -0
  199. package/flp/hooks/index.js +17 -0
  200. package/flp/hooks/index.js.map +1 -0
  201. package/flp/hooks/onFolderAfterCreateFlp.hook.d.ts +2 -0
  202. package/flp/hooks/onFolderAfterCreateFlp.hook.js +37 -0
  203. package/flp/hooks/onFolderAfterCreateFlp.hook.js.map +1 -0
  204. package/flp/hooks/onFolderAfterDeleteFlp.hook.d.ts +2 -0
  205. package/flp/hooks/onFolderAfterDeleteFlp.hook.js +37 -0
  206. package/flp/hooks/onFolderAfterDeleteFlp.hook.js.map +1 -0
  207. package/flp/hooks/onFolderAfterUpdateFlp.hook.d.ts +2 -0
  208. package/flp/hooks/onFolderAfterUpdateFlp.hook.js +39 -0
  209. package/flp/hooks/onFolderAfterUpdateFlp.hook.js.map +1 -0
  210. package/flp/index.d.ts +5 -0
  211. package/flp/index.js +62 -0
  212. package/flp/index.js.map +1 -0
  213. package/flp/tasks/createFlp.task.d.ts +2 -0
  214. package/flp/tasks/createFlp.task.js +49 -0
  215. package/flp/tasks/createFlp.task.js.map +1 -0
  216. package/flp/tasks/deleteFlp.task.d.ts +2 -0
  217. package/flp/tasks/deleteFlp.task.js +49 -0
  218. package/flp/tasks/deleteFlp.task.js.map +1 -0
  219. package/flp/tasks/index.d.ts +5 -0
  220. package/flp/tasks/index.js +20 -0
  221. package/flp/tasks/index.js.map +1 -0
  222. package/flp/tasks/syncFlp.task.d.ts +2 -0
  223. package/flp/tasks/syncFlp.task.js +126 -0
  224. package/flp/tasks/syncFlp.task.js.map +1 -0
  225. package/flp/tasks/updateFlp.task.d.ts +2 -0
  226. package/flp/tasks/updateFlp.task.js +55 -0
  227. package/flp/tasks/updateFlp.task.js.map +1 -0
  228. package/flp/useCases/CreateFlp.d.ts +7 -0
  229. package/flp/useCases/CreateFlp.js +51 -0
  230. package/flp/useCases/CreateFlp.js.map +1 -0
  231. package/flp/useCases/DeleteFlp.d.ts +6 -0
  232. package/flp/useCases/DeleteFlp.js +30 -0
  233. package/flp/useCases/DeleteFlp.js.map +1 -0
  234. package/flp/useCases/UpdateFlp.d.ts +26 -0
  235. package/flp/useCases/UpdateFlp.js +198 -0
  236. package/flp/useCases/UpdateFlp.js.map +1 -0
  237. package/flp/useCases/index.d.ts +3 -0
  238. package/flp/useCases/index.js +40 -0
  239. package/flp/useCases/index.js.map +1 -0
  240. package/folder/createFolderModelModifier.d.ts +36 -0
  241. package/folder/createFolderModelModifier.js +70 -0
  242. package/folder/createFolderModelModifier.js.map +1 -0
  243. package/folder/createFolderTypeDefs.d.ts +7 -0
  244. package/folder/createFolderTypeDefs.js +207 -0
  245. package/folder/createFolderTypeDefs.js.map +1 -0
  246. package/folder/ensureFolderIsEmpty.d.ts +8 -0
  247. package/folder/ensureFolderIsEmpty.js +63 -0
  248. package/folder/ensureFolderIsEmpty.js.map +1 -0
  249. package/folder/folder.crud.d.ts +8 -3
  250. package/folder/folder.crud.js +112 -65
  251. package/folder/folder.crud.js.map +1 -1
  252. package/folder/folder.gql.d.ts +3 -2
  253. package/folder/folder.gql.js +121 -104
  254. package/folder/folder.gql.js.map +1 -1
  255. package/folder/folder.model.d.ts +1 -3
  256. package/folder/folder.model.js +80 -11
  257. package/folder/folder.model.js.map +1 -1
  258. package/folder/folder.so.d.ts +2 -2
  259. package/folder/folder.so.js +68 -22
  260. package/folder/folder.so.js.map +1 -1
  261. package/folder/folder.types.d.ts +67 -8
  262. package/folder/folder.types.js +3 -1
  263. package/folder/folder.types.js.map +1 -1
  264. package/folder/onFolderBeforeDeleteAco.hook.d.ts +2 -0
  265. package/folder/onFolderBeforeDeleteAco.hook.js +54 -0
  266. package/folder/onFolderBeforeDeleteAco.hook.js.map +1 -0
  267. package/folder/onFolderBeforeDeleteFm.hook.d.ts +2 -0
  268. package/folder/onFolderBeforeDeleteFm.hook.js +51 -0
  269. package/folder/onFolderBeforeDeleteFm.hook.js.map +1 -0
  270. package/folder/onFolderBeforeDeleteHcms.hook.d.ts +2 -0
  271. package/folder/onFolderBeforeDeleteHcms.hook.js +58 -0
  272. package/folder/onFolderBeforeDeleteHcms.hook.js.map +1 -0
  273. package/folder/useCases/CreateFolder/CreateFolder.d.ts +7 -0
  274. package/folder/useCases/CreateFolder/CreateFolder.js +19 -0
  275. package/folder/useCases/CreateFolder/CreateFolder.js.map +1 -0
  276. package/folder/useCases/CreateFolder/CreateFolderWithEvents.d.ts +9 -0
  277. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js +25 -0
  278. package/folder/useCases/CreateFolder/CreateFolderWithEvents.js.map +1 -0
  279. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.d.ts +25 -0
  280. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js +39 -0
  281. package/folder/useCases/CreateFolder/CreateFolderWithFolderLevelPermissions.js.map +1 -0
  282. package/folder/useCases/CreateFolder/ICreateFolder.d.ts +4 -0
  283. package/folder/useCases/CreateFolder/ICreateFolder.js +7 -0
  284. package/folder/useCases/CreateFolder/ICreateFolder.js.map +1 -0
  285. package/folder/useCases/CreateFolder/index.d.ts +17 -0
  286. package/folder/useCases/CreateFolder/index.js +20 -0
  287. package/folder/useCases/CreateFolder/index.js.map +1 -0
  288. package/folder/useCases/DeleteFolder/DeleteFolder.d.ts +7 -0
  289. package/folder/useCases/DeleteFolder/DeleteFolder.js +18 -0
  290. package/folder/useCases/DeleteFolder/DeleteFolder.js.map +1 -0
  291. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.d.ts +10 -0
  292. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js +29 -0
  293. package/folder/useCases/DeleteFolder/DeleteFolderWithEvents.js.map +1 -0
  294. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.d.ts +9 -0
  295. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js +24 -0
  296. package/folder/useCases/DeleteFolder/DeleteFolderWithFolderLevelPermissions.js.map +1 -0
  297. package/folder/useCases/DeleteFolder/IDeleteFolder.d.ts +4 -0
  298. package/folder/useCases/DeleteFolder/IDeleteFolder.js +7 -0
  299. package/folder/useCases/DeleteFolder/IDeleteFolder.js.map +1 -0
  300. package/folder/useCases/DeleteFolder/index.d.ts +18 -0
  301. package/folder/useCases/DeleteFolder/index.js +20 -0
  302. package/folder/useCases/DeleteFolder/index.js.map +1 -0
  303. package/folder/useCases/GetAncestors/GetAncestors.d.ts +9 -0
  304. package/folder/useCases/GetAncestors/GetAncestors.js +77 -0
  305. package/folder/useCases/GetAncestors/GetAncestors.js.map +1 -0
  306. package/folder/useCases/GetAncestors/IGetAncestors.d.ts +7 -0
  307. package/folder/useCases/GetAncestors/IGetAncestors.js +7 -0
  308. package/folder/useCases/GetAncestors/IGetAncestors.js.map +1 -0
  309. package/folder/useCases/GetAncestors/index.d.ts +9 -0
  310. package/folder/useCases/GetAncestors/index.js +16 -0
  311. package/folder/useCases/GetAncestors/index.js.map +1 -0
  312. package/folder/useCases/GetFolder/GetFolder.d.ts +7 -0
  313. package/folder/useCases/GetFolder/GetFolder.js +17 -0
  314. package/folder/useCases/GetFolder/GetFolder.js.map +1 -0
  315. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.d.ts +25 -0
  316. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js +33 -0
  317. package/folder/useCases/GetFolder/GetFolderWithFolderLevelPermissions.js.map +1 -0
  318. package/folder/useCases/GetFolder/IGetFolder.d.ts +4 -0
  319. package/folder/useCases/GetFolder/IGetFolder.js +7 -0
  320. package/folder/useCases/GetFolder/IGetFolder.js.map +1 -0
  321. package/folder/useCases/GetFolder/index.d.ts +13 -0
  322. package/folder/useCases/GetFolder/index.js +19 -0
  323. package/folder/useCases/GetFolder/index.js.map +1 -0
  324. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.d.ts +11 -0
  325. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js +63 -0
  326. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchy.js.map +1 -0
  327. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.d.ts +17 -0
  328. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js +59 -0
  329. package/folder/useCases/GetFolderHierarchy/GetFolderHierarchyWithFolderLevelPermissions.js.map +1 -0
  330. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.d.ts +4 -0
  331. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js +7 -0
  332. package/folder/useCases/GetFolderHierarchy/IGetFolderHierarchy.js.map +1 -0
  333. package/folder/useCases/GetFolderHierarchy/index.d.ts +12 -0
  334. package/folder/useCases/GetFolderHierarchy/index.js +18 -0
  335. package/folder/useCases/GetFolderHierarchy/index.js.map +1 -0
  336. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.d.ts +4 -0
  337. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js +7 -0
  338. package/folder/useCases/ListFolderLevelPermissionsTargets/IListAdminUsersGateway.js.map +1 -0
  339. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.d.ts +4 -0
  340. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js +7 -0
  341. package/folder/useCases/ListFolderLevelPermissionsTargets/IListFolderLevelPermissionsTargets.js.map +1 -0
  342. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.d.ts +4 -0
  343. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js +7 -0
  344. package/folder/useCases/ListFolderLevelPermissionsTargets/IListTeamsGateway.js.map +1 -0
  345. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.d.ts +7 -0
  346. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js +23 -0
  347. package/folder/useCases/ListFolderLevelPermissionsTargets/ListAdminUsersGatewayFromContext.js.map +1 -0
  348. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.d.ts +13 -0
  349. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js +60 -0
  350. package/folder/useCases/ListFolderLevelPermissionsTargets/ListFolderLevelPermissionsTargets.js.map +1 -0
  351. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.d.ts +7 -0
  352. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js +22 -0
  353. package/folder/useCases/ListFolderLevelPermissionsTargets/ListTeamsGatewayFromContext.js.map +1 -0
  354. package/folder/useCases/ListFolderLevelPermissionsTargets/index.d.ts +9 -0
  355. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js +20 -0
  356. package/folder/useCases/ListFolderLevelPermissionsTargets/index.js.map +1 -0
  357. package/folder/useCases/ListFolders/IListFolders.d.ts +5 -0
  358. package/folder/useCases/ListFolders/IListFolders.js +7 -0
  359. package/folder/useCases/ListFolders/IListFolders.js.map +1 -0
  360. package/folder/useCases/ListFolders/ListFolders.d.ts +8 -0
  361. package/folder/useCases/ListFolders/ListFolders.js +17 -0
  362. package/folder/useCases/ListFolders/ListFolders.js.map +1 -0
  363. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.d.ts +14 -0
  364. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js +67 -0
  365. package/folder/useCases/ListFolders/ListFoldersWithFolderLevelPermissions.js.map +1 -0
  366. package/folder/useCases/ListFolders/index.d.ts +13 -0
  367. package/folder/useCases/ListFolders/index.js +19 -0
  368. package/folder/useCases/ListFolders/index.js.map +1 -0
  369. package/folder/useCases/UpdateFolder/IUpdateFolder.d.ts +4 -0
  370. package/folder/useCases/UpdateFolder/IUpdateFolder.js +7 -0
  371. package/folder/useCases/UpdateFolder/IUpdateFolder.js.map +1 -0
  372. package/folder/useCases/UpdateFolder/UpdateFolder.d.ts +7 -0
  373. package/folder/useCases/UpdateFolder/UpdateFolder.js +20 -0
  374. package/folder/useCases/UpdateFolder/UpdateFolder.js.map +1 -0
  375. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.d.ts +10 -0
  376. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js +38 -0
  377. package/folder/useCases/UpdateFolder/UpdateFolderWithEvents.js.map +1 -0
  378. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.d.ts +26 -0
  379. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js +78 -0
  380. package/folder/useCases/UpdateFolder/UpdateFolderWithFolderLevelPermissions.js.map +1 -0
  381. package/folder/useCases/UpdateFolder/index.d.ts +18 -0
  382. package/folder/useCases/UpdateFolder/index.js +20 -0
  383. package/folder/useCases/UpdateFolder/index.js.map +1 -0
  384. package/folder/useCases/index.d.ts +8 -0
  385. package/folder/useCases/index.js +95 -0
  386. package/folder/useCases/index.js.map +1 -0
  387. package/index.d.ts +8 -1
  388. package/index.js +27 -5
  389. package/index.js.map +1 -1
  390. package/package.json +33 -33
  391. package/plugins/AcoAppModifierPlugin.d.ts +3 -3
  392. package/plugins/AcoAppModifierPlugin.js +4 -5
  393. package/plugins/AcoAppModifierPlugin.js.map +1 -1
  394. package/plugins/AcoAppRegisterPlugin.d.ts +1 -1
  395. package/plugins/AcoAppRegisterPlugin.js +4 -5
  396. package/plugins/AcoAppRegisterPlugin.js.map +1 -1
  397. package/plugins/index.js +3 -1
  398. package/plugins/index.js.map +1 -1
  399. package/record/graphql/createAppResolvers.d.ts +2 -2
  400. package/record/graphql/createAppResolvers.js +26 -19
  401. package/record/graphql/createAppResolvers.js.map +1 -1
  402. package/record/graphql/createAppSchema.d.ts +2 -2
  403. package/record/graphql/createAppSchema.js +13 -9
  404. package/record/graphql/createAppSchema.js.map +1 -1
  405. package/record/record.crud.d.ts +2 -2
  406. package/record/record.crud.js +13 -11
  407. package/record/record.crud.js.map +1 -1
  408. package/record/record.gql.d.ts +1 -1
  409. package/record/record.gql.js +3 -1
  410. package/record/record.gql.js.map +1 -1
  411. package/record/record.model.d.ts +3 -5
  412. package/record/record.model.js +18 -13
  413. package/record/record.model.js.map +1 -1
  414. package/record/record.so.d.ts +2 -2
  415. package/record/record.so.js +114 -93
  416. package/record/record.so.js.map +1 -1
  417. package/record/record.types.d.ts +17 -16
  418. package/record/record.types.js +3 -1
  419. package/record/record.types.js.map +1 -1
  420. package/types.d.ts +41 -15
  421. package/types.js +36 -4
  422. package/types.js.map +1 -1
  423. package/utils/FoldersCacheFactory.d.ts +10 -0
  424. package/utils/FoldersCacheFactory.js +31 -0
  425. package/utils/FoldersCacheFactory.js.map +1 -0
  426. package/utils/ListCache.d.ts +23 -0
  427. package/utils/ListCache.js +31 -0
  428. package/utils/ListCache.js.map +1 -0
  429. package/utils/ListFoldersRepository.d.ts +10 -0
  430. package/utils/ListFoldersRepository.js +35 -0
  431. package/utils/ListFoldersRepository.js.map +1 -0
  432. package/utils/Path.d.ts +3 -0
  433. package/utils/Path.js +18 -0
  434. package/utils/Path.js.map +1 -0
  435. package/utils/acoRecordId.js +3 -1
  436. package/utils/acoRecordId.js.map +1 -1
  437. package/utils/compress.d.ts +4 -0
  438. package/utils/compress.js +19 -0
  439. package/utils/compress.js.map +1 -0
  440. package/utils/createListSort.d.ts +3 -2
  441. package/utils/createListSort.js +6 -2
  442. package/utils/createListSort.js.map +1 -1
  443. package/utils/createModelField.d.ts +1 -1
  444. package/utils/createModelField.js +3 -1
  445. package/utils/createModelField.js.map +1 -1
  446. package/utils/createOperationsWrapper.d.ts +2 -2
  447. package/utils/createOperationsWrapper.js +8 -10
  448. package/utils/createOperationsWrapper.js.map +1 -1
  449. package/utils/decorators/CmsEntriesCrudDecorators.d.ts +11 -0
  450. package/utils/decorators/CmsEntriesCrudDecorators.js +210 -0
  451. package/utils/decorators/CmsEntriesCrudDecorators.js.map +1 -0
  452. package/utils/decorators/FilterEntriesByFolderFactory.d.ts +7 -0
  453. package/utils/decorators/FilterEntriesByFolderFactory.js +30 -0
  454. package/utils/decorators/FilterEntriesByFolderFactory.js.map +1 -0
  455. package/utils/decorators/ListEntriesFactory.d.ts +16 -0
  456. package/utils/decorators/ListEntriesFactory.js +107 -0
  457. package/utils/decorators/ListEntriesFactory.js.map +1 -0
  458. package/utils/decorators/decorateIfModelAuthorizationEnabled.d.ts +23 -0
  459. package/utils/decorators/decorateIfModelAuthorizationEnabled.js +54 -0
  460. package/utils/decorators/decorateIfModelAuthorizationEnabled.js.map +1 -0
  461. package/utils/decorators/hasRootFolderId.d.ts +7 -0
  462. package/utils/decorators/hasRootFolderId.js +27 -0
  463. package/utils/decorators/hasRootFolderId.js.map +1 -0
  464. package/utils/decorators/isPageModel.d.ts +5 -0
  465. package/utils/decorators/isPageModel.js +20 -0
  466. package/utils/decorators/isPageModel.js.map +1 -0
  467. package/utils/ensureAuthentication.d.ts +2 -0
  468. package/utils/{checkPermissions.js → ensureAuthentication.js} +5 -3
  469. package/utils/ensureAuthentication.js.map +1 -0
  470. package/utils/modelFactory.d.ts +2 -4
  471. package/utils/modelFactory.js +7 -10
  472. package/utils/modelFactory.js.map +1 -1
  473. package/utils/pickEntryFieldValues.d.ts +3 -0
  474. package/utils/pickEntryFieldValues.js +30 -0
  475. package/utils/pickEntryFieldValues.js.map +1 -0
  476. package/utils/resolve.js +3 -1
  477. package/utils/resolve.js.map +1 -1
  478. package/fields/index.d.ts +0 -2
  479. package/fields/index.js +0 -12
  480. package/fields/index.js.map +0 -1
  481. package/fields/location.d.ts +0 -2
  482. package/fields/location.js +0 -44
  483. package/fields/location.js.map +0 -1
  484. package/folder/onFolderBeforeDelete.hook.d.ts +0 -2
  485. package/folder/onFolderBeforeDelete.hook.js +0 -66
  486. package/folder/onFolderBeforeDelete.hook.js.map +0 -1
  487. package/utils/checkPermissions.d.ts +0 -2
  488. package/utils/checkPermissions.js.map +0 -1
  489. package/utils/fieldResolver.d.ts +0 -16
  490. package/utils/fieldResolver.js +0 -44
  491. package/utils/fieldResolver.js.map +0 -1
  492. package/utils/getFieldValues.d.ts +0 -5
  493. package/utils/getFieldValues.js +0 -16
  494. package/utils/getFieldValues.js.map +0 -1
  495. package/utils/getFolderAndItsAncestors.d.ts +0 -7
  496. package/utils/getFolderAndItsAncestors.js +0 -48
  497. package/utils/getFolderAndItsAncestors.js.map +0 -1
  498. package/utils/isInstallationPending.d.ts +0 -4
  499. package/utils/isInstallationPending.js +0 -21
  500. package/utils/isInstallationPending.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createSearchRecordOperations","params","cms","security","getRecord","model","id","revisions","storageOperations","entries","getLatestByIds","ids","attachAcoRecordPrefix","length","WebinyError","withoutAuthorization","record","getRecordFieldValues","listRecords","sort","where","meta","listLatestEntries","map","entry","listTags","items","getUniqueFieldValues","latest","fieldId","hasMoreItems","totalCount","cursor","tags","item","tag","value","count","createRecord","data","SearchRecordData","rest","createEntry","updateRecord","original","input","updateEntry","moveRecord","folderId","wbyAco_location","lookFor","SEARCH_RECORD_MODEL_ID","modelId","substring","location","deleteRecord","deleteEntry"],"sources":["record.so.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CreateAcoStorageOperationsParams } from \"~/createAcoStorageOperations\";\nimport { getRecordFieldValues } from \"~/utils/getFieldValues\";\nimport { AcoSearchRecordStorageOperations } from \"./record.types\";\nimport { CmsModel, UpdateCmsEntryInput } from \"@webiny/api-headless-cms/types\";\nimport { attachAcoRecordPrefix } from \"~/utils/acoRecordId\";\nimport { SEARCH_RECORD_MODEL_ID } from \"~/record/record.model\";\n\nexport const createSearchRecordOperations = (\n params: CreateAcoStorageOperationsParams\n): AcoSearchRecordStorageOperations => {\n const { cms, security } = 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 return security.withoutAuthorization(async () => {\n const record = await getRecord(model, id);\n return getRecordFieldValues(record);\n });\n },\n listRecords(model, params) {\n return security.withoutAuthorization(async () => {\n const { sort, where } = params;\n\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n sort,\n where: {\n ...(where || {})\n }\n });\n\n return [entries.map(entry => getRecordFieldValues(entry)), meta];\n });\n },\n listTags(model, params) {\n return security.withoutAuthorization(async () => {\n const { where } = params;\n\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 },\n createRecord(model, { data: SearchRecordData }) {\n return security.withoutAuthorization(async () => {\n const { tags = [], data = {}, ...rest } = SearchRecordData;\n const entry = await cms.createEntry(model, {\n tags,\n data,\n ...rest,\n id: attachAcoRecordPrefix(rest.id)\n });\n\n return getRecordFieldValues(entry);\n });\n },\n updateRecord(this: AcoSearchRecordStorageOperations, model, { id, data }) {\n return security.withoutAuthorization(async () => {\n const original = await this.getRecord(model, { id });\n\n const input = {\n ...original,\n ...data\n };\n\n const entry = await cms.updateEntry(\n model,\n attachAcoRecordPrefix(original.id),\n input\n );\n\n return getRecordFieldValues(entry);\n });\n },\n moveRecord(this: AcoSearchRecordStorageOperations, model, params) {\n const { id, folderId } = params;\n return security.withoutAuthorization(async () => {\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 },\n deleteRecord(model, { id }) {\n return security.withoutAuthorization(async () => {\n await cms.deleteEntry(model, attachAcoRecordPrefix(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,7 +1,7 @@
1
- import { AcoBaseFields, ListMeta } from "../types";
2
- import { Topic } from "@webiny/pubsub/types";
3
- import { CmsModel } from "@webiny/api-headless-cms/types";
4
- 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 = {
5
5
  [key: string]: any;
6
6
  };
7
7
  export interface Location {
@@ -19,7 +19,7 @@ export interface SearchRecordTag {
19
19
  tag: string;
20
20
  count: number;
21
21
  }
22
- export interface ListSearchRecordsWhere {
22
+ export interface ListSearchRecordsWhere<TData extends GenericSearchData = GenericSearchData> {
23
23
  type: string;
24
24
  location?: {
25
25
  folderId: string;
@@ -27,15 +27,16 @@ export interface ListSearchRecordsWhere {
27
27
  tags_in?: string[];
28
28
  tags_startsWith?: string;
29
29
  tags_not_startsWith?: string;
30
+ data?: TData;
30
31
  }
31
32
  export interface ListSearchRecordsParams {
32
33
  where?: ListSearchRecordsWhere;
33
34
  search?: string;
34
- sort?: string[];
35
+ sort?: CmsEntryListSort;
35
36
  limit?: number;
36
37
  after?: string | null;
37
38
  }
38
- export declare type CreateSearchRecordParams<TData> = Pick<SearchRecord<TData>, "id" | "title" | "content" | "type" | "location" | "data" | "tags">;
39
+ export type CreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> = Pick<SearchRecord<TData>, "id" | "title" | "content" | "type" | "location" | "data" | "tags">;
39
40
  export interface UpdateSearchRecordParams<TData extends GenericSearchData> {
40
41
  title?: string;
41
42
  content?: string;
@@ -55,8 +56,8 @@ export interface ListSearchRecordTagsParams {
55
56
  export interface StorageOperationsGetSearchRecordParams {
56
57
  id: string;
57
58
  }
58
- export declare type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;
59
- export declare type StorageOperationsListSearchRecordTagsParams = ListSearchRecordTagsParams;
59
+ export type StorageOperationsListSearchRecordsParams = ListSearchRecordsParams;
60
+ export type StorageOperationsListSearchRecordTagsParams = ListSearchRecordTagsParams;
60
61
  export interface StorageOperationsCreateSearchRecordParams<TData extends GenericSearchData = GenericSearchData> {
61
62
  data: CreateSearchRecordParams<TData>;
62
63
  }
@@ -68,7 +69,7 @@ export interface StorageOperationsMoveSearchRecordParams {
68
69
  id: string;
69
70
  folderId?: string | null;
70
71
  }
71
- export declare type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;
72
+ export type StorageOperationsDeleteSearchRecordParams = DeleteSearchRecordParams;
72
73
  export interface OnSearchRecordBeforeCreateTopicParams<TData extends GenericSearchData = GenericSearchData> {
73
74
  model: CmsModel;
74
75
  input: CreateSearchRecordParams<TData>;
@@ -113,16 +114,16 @@ export interface AcoSearchRecordCrudBase {
113
114
  create<TData extends GenericSearchData = GenericSearchData>(data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
114
115
  update<TData extends GenericSearchData = GenericSearchData>(id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
115
116
  move(id: string, folderId?: string | null): Promise<boolean>;
116
- delete(id: string): Promise<Boolean>;
117
+ delete(id: string): Promise<boolean>;
117
118
  }
118
119
  export interface AcoSearchRecordCrud extends Omit<AcoSearchRecordCrudBase, "get" | "list" | "create" | "update" | "delete" | "listTags" | "move"> {
119
- get<TData>(model: CmsModel, id: string): Promise<SearchRecord<TData>>;
120
- list<TData>(model: CmsModel, params: ListSearchRecordsParams): Promise<[SearchRecord<TData>[], ListMeta]>;
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]>;
121
122
  listTags(model: CmsModel, params: ListSearchRecordTagsParams): Promise<[SearchRecordTag[], ListMeta]>;
122
- create<TData>(model: CmsModel, data: CreateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
123
- update<TData>(model: CmsModel, id: string, data: UpdateSearchRecordParams<TData>): Promise<SearchRecord<TData>>;
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>>;
124
125
  move(model: CmsModel, id: string, folderId?: string | null): Promise<boolean>;
125
- delete(model: CmsModel, id: string): Promise<Boolean>;
126
+ delete(model: CmsModel, id: string): Promise<boolean>;
126
127
  onSearchRecordBeforeCreate: Topic<OnSearchRecordBeforeCreateTopicParams>;
127
128
  onSearchRecordAfterCreate: Topic<OnSearchRecordAfterCreateTopicParams>;
128
129
  onSearchRecordBeforeUpdate: Topic<OnSearchRecordBeforeUpdateTopicParams>;
@@ -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\";\nimport { 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 {\n type: string;\n location?: {\n folderId: string;\n };\n tags_in?: string[];\n tags_startsWith?: string;\n tags_not_startsWith?: string;\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\" | \"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>(model: CmsModel, id: string): Promise<SearchRecord<TData>>;\n list<TData>(\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>(\n model: CmsModel,\n data: CreateSearchRecordParams<TData>\n ): Promise<SearchRecord<TData>>;\n update<TData>(\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":""}
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,12 +1,20 @@
1
- import { TenancyContext, Tenant } 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, CmsModel, CmsModelField } from "@webiny/api-headless-cms/types";
6
- import { AcoSearchRecordCrud, AcoSearchRecordCrudBase, 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";
8
15
  export * from "./folder/folder.types";
9
16
  export * from "./record/record.types";
17
+ export * from "./flp/flp.types";
10
18
  export interface User {
11
19
  id: string;
12
20
  type: string;
@@ -21,36 +29,47 @@ export declare enum ListSortDirection {
21
29
  ASC = 0,
22
30
  DESC = 1
23
31
  }
24
- export declare type ListSort = Record<string, ListSortDirection>;
32
+ export type ListSort = Record<string, ListSortDirection>;
25
33
  export interface AcoBaseFields {
26
34
  id: string;
27
35
  entryId: string;
28
36
  createdOn: string;
29
- createdBy: User;
37
+ modifiedOn: string | null;
30
38
  savedOn: string;
39
+ createdBy: User;
40
+ modifiedBy: User | null;
41
+ savedBy: User;
31
42
  }
32
43
  export interface AdvancedContentOrganisation {
33
44
  folder: AcoFolderCrud;
34
45
  search: AcoSearchRecordCrud;
46
+ filter: AcoFilterCrud;
47
+ flp: AcoFolderLevelPermissionsCrud;
48
+ folderLevelPermissions: FolderLevelPermissions;
35
49
  apps: IAcoApps;
36
50
  registerApp: (params: IAcoAppRegisterParams) => Promise<IAcoApp>;
37
51
  getApp: (name: string) => IAcoApp;
38
52
  listApps: () => IAcoApp[];
39
53
  }
40
54
  export interface CreateAcoParams {
41
- getIdentity: () => SecurityIdentity;
42
55
  getLocale: () => I18NLocale;
43
56
  getTenant: () => Tenant;
44
57
  storageOperations: AcoStorageOperations;
58
+ folderLevelPermissions: FolderLevelPermissions;
59
+ }
60
+ export interface AcoStorageOperations {
61
+ folder: AcoFolderStorageOperations;
62
+ search: AcoSearchRecordStorageOperations;
63
+ filter: AcoFilterStorageOperations;
64
+ flp: AcoFolderLevelPermissionsStorageOperations;
45
65
  }
46
- export declare type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;
47
- export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, CmsContext {
66
+ export interface AcoContext extends BaseContext, I18NContext, TenancyContext, SecurityContext, AdminUsersContext, CmsContext, FileManagerContext, TasksContext {
48
67
  aco: AdvancedContentOrganisation;
49
68
  }
50
69
  /**
51
70
  * @deprecated Use AcoContext instead
52
71
  */
53
- export declare type ACOContext = AcoContext;
72
+ export type ACOContext = AcoContext;
54
73
  /**
55
74
  * Apps
56
75
  */
@@ -77,15 +96,22 @@ export interface IAcoApp {
77
96
  removeField: IAcoAppRemoveFieldCallable;
78
97
  modifyField: IAcoAppModifyFieldCallable;
79
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>;
80
103
  export interface IAcoAppParams {
81
104
  name: string;
82
105
  apiName: string;
83
106
  model: CmsModel;
84
107
  fields: CmsModelField[];
108
+ onEntry?: IAcoAppOnEntry;
109
+ onEntryList?: IAcoAppOnEntryList;
110
+ onAnyRequest?: IAcoAppOnAnyRequest;
85
111
  }
86
- export declare type IAcoAppsOptions = CreateAcoParams;
112
+ export type IAcoAppsOptions = CreateAcoParams;
87
113
  export interface IAcoApps {
88
114
  list: () => IAcoApp[];
89
115
  register: (app: IAcoAppParams) => Promise<IAcoApp>;
90
116
  }
91
- export declare type IAcoAppRegisterParams = Omit<IAcoAppParams, "model">;
117
+ export type IAcoAppRegisterParams = Omit<IAcoAppParams, "model">;
package/types.js CHANGED
@@ -7,6 +7,18 @@ var _exportNames = {
7
7
  ListSortDirection: true
8
8
  };
9
9
  exports.ListSortDirection = void 0;
10
+ var _filter = require("./filter/filter.types");
11
+ Object.keys(_filter).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
14
+ if (key in exports && exports[key] === _filter[key]) return;
15
+ Object.defineProperty(exports, key, {
16
+ enumerable: true,
17
+ get: function () {
18
+ return _filter[key];
19
+ }
20
+ });
21
+ });
10
22
  var _folder = require("./folder/folder.types");
11
23
  Object.keys(_folder).forEach(function (key) {
12
24
  if (key === "default" || key === "__esModule") return;
@@ -31,9 +43,29 @@ Object.keys(_record).forEach(function (key) {
31
43
  }
32
44
  });
33
45
  });
34
- let ListSortDirection;
35
- exports.ListSortDirection = ListSortDirection;
36
- (function (ListSortDirection) {
46
+ var _flp = require("./flp/flp.types");
47
+ Object.keys(_flp).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
50
+ if (key in exports && exports[key] === _flp[key]) return;
51
+ Object.defineProperty(exports, key, {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _flp[key];
55
+ }
56
+ });
57
+ });
58
+ let ListSortDirection = exports.ListSortDirection = /*#__PURE__*/function (ListSortDirection) {
37
59
  ListSortDirection[ListSortDirection["ASC"] = 0] = "ASC";
38
60
  ListSortDirection[ListSortDirection["DESC"] = 1] = "DESC";
39
- })(ListSortDirection || (exports.ListSortDirection = ListSortDirection = {}));
61
+ return ListSortDirection;
62
+ }({});
63
+ /**
64
+ * @deprecated Use AcoContext instead
65
+ */
66
+ /**
67
+ * Apps
68
+ */
69
+ // TODO: determine correct type
70
+
71
+ //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ListSortDirection"],"sources":["types.ts"],"sourcesContent":["import { TenancyContext, Tenant } from \"@webiny/api-tenancy/types\";\nimport { Context as BaseContext } from \"@webiny/handler/types\";\nimport { I18NContext, I18NLocale } from \"@webiny/api-i18n/types\";\nimport { SecurityContext, SecurityIdentity } from \"@webiny/api-security/types\";\nimport { CmsContext, CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport {\n AcoSearchRecordCrud,\n AcoSearchRecordCrudBase,\n AcoSearchRecordStorageOperations\n} from \"~/record/record.types\";\nimport { AcoFolderCrud, AcoFolderStorageOperations } from \"~/folder/folder.types\";\n\nexport * from \"./folder/folder.types\";\nexport * from \"./record/record.types\";\n\nexport interface User {\n id: string;\n type: string;\n displayName: string | null;\n}\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport enum ListSortDirection {\n ASC,\n DESC\n}\n\nexport type ListSort = Record<string, ListSortDirection>;\n\nexport interface AcoBaseFields {\n id: string;\n entryId: string;\n createdOn: string;\n createdBy: User;\n savedOn: string;\n}\n\nexport interface AdvancedContentOrganisation {\n folder: AcoFolderCrud;\n search: AcoSearchRecordCrud;\n apps: IAcoApps;\n registerApp: (params: IAcoAppRegisterParams) => Promise<IAcoApp>;\n getApp: (name: string) => IAcoApp;\n listApps: () => IAcoApp[];\n}\n\nexport interface CreateAcoParams {\n getIdentity: () => SecurityIdentity;\n getLocale: () => I18NLocale;\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n}\n\nexport type AcoStorageOperations = AcoFolderStorageOperations & AcoSearchRecordStorageOperations;\n\nexport interface AcoContext\n extends BaseContext,\n I18NContext,\n TenancyContext,\n SecurityContext,\n CmsContext {\n aco: AdvancedContentOrganisation;\n}\n\n/**\n * @deprecated Use AcoContext instead\n */\nexport type ACOContext = AcoContext;\n\n/**\n * Apps\n */\nexport interface IAcoAppAddFieldCallable {\n (field: CmsModelField): void;\n}\n\nexport interface IAcoAppRemoveFieldCallable {\n (id: string): void;\n}\n\nexport interface IAcoAppModifyFieldCallableCallback {\n (field: CmsModelField): CmsModelField;\n}\n\nexport interface IAcoAppModifyFieldCallable {\n (id: string, cb: IAcoAppModifyFieldCallableCallback): void;\n}\n\nexport interface IAcoApp {\n context: AcoContext;\n search: AcoSearchRecordCrudBase;\n folder: AcoFolderCrud;\n name: string;\n model: CmsModel;\n getFields: () => CmsModelField[];\n addField: IAcoAppAddFieldCallable;\n removeField: IAcoAppRemoveFieldCallable;\n modifyField: IAcoAppModifyFieldCallable;\n}\n\nexport interface IAcoAppParams {\n name: string;\n apiName: string;\n model: CmsModel;\n fields: CmsModelField[];\n}\n\nexport type IAcoAppsOptions = CreateAcoParams;\n\nexport interface IAcoApps {\n list: () => IAcoApp[];\n register: (app: IAcoAppParams) => Promise<IAcoApp>;\n}\n\nexport type IAcoAppRegisterParams = Omit<IAcoAppParams, \"model\">;\n"],"mappings":";;;;;;;;;AAYA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAsC,IAc1BA,iBAAiB;AAAA;AAAA,WAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;AAAA,GAAjBA,iBAAiB,iCAAjBA,iBAAiB"}
1
+ {"version":3,"names":["_filter","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_folder","_record","_flp","ListSortDirection"],"sources":["types.ts"],"sourcesContent":["import type { TenancyContext, Tenant } from \"@webiny/api-tenancy/types\";\nimport type { Context as BaseContext } from \"@webiny/handler/types\";\nimport type { I18NContext, I18NLocale } from \"@webiny/api-i18n/types\";\nimport type { SecurityContext } from \"@webiny/api-security/types\";\nimport type { AdminUsersContext } from \"@webiny/api-admin-users/types\";\nimport type { FileManagerContext } from \"@webiny/api-file-manager/types\";\nimport type { Context as TasksContext } from \"@webiny/tasks/types\";\nimport type { CmsContext, CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport type {\n AcoSearchRecordCrud,\n AcoSearchRecordCrudBase,\n AcoSearchRecordStorageOperations,\n GenericSearchData,\n SearchRecord\n} from \"~/record/record.types\";\nimport type { AcoFolderCrud, AcoFolderStorageOperations } from \"~/folder/folder.types\";\nimport type { AcoFilterCrud, AcoFilterStorageOperations } from \"~/filter/filter.types\";\nimport type {\n AcoFolderLevelPermissionsCrud,\n AcoFolderLevelPermissionsStorageOperations\n} from \"~/flp/flp.types\";\nimport type { FolderLevelPermissions } from \"~/flp\";\n\nexport * from \"./filter/filter.types\";\nexport * from \"./folder/folder.types\";\nexport * from \"./record/record.types\";\nexport * from \"./flp/flp.types\";\n\nexport interface User {\n id: string;\n type: string;\n displayName: string | null;\n}\n\nexport interface ListMeta {\n cursor: string | null;\n totalCount: number;\n hasMoreItems: boolean;\n}\n\nexport enum ListSortDirection {\n ASC,\n DESC\n}\n\nexport type ListSort = Record<string, ListSortDirection>;\n\nexport interface AcoBaseFields {\n id: string;\n entryId: string;\n createdOn: string;\n modifiedOn: string | null;\n savedOn: string;\n createdBy: User;\n modifiedBy: User | null;\n savedBy: User;\n}\n\nexport interface AdvancedContentOrganisation {\n folder: AcoFolderCrud;\n search: AcoSearchRecordCrud;\n filter: AcoFilterCrud;\n flp: AcoFolderLevelPermissionsCrud;\n folderLevelPermissions: FolderLevelPermissions;\n apps: IAcoApps;\n registerApp: (params: IAcoAppRegisterParams) => Promise<IAcoApp>;\n getApp: (name: string) => IAcoApp;\n listApps: () => IAcoApp[];\n}\n\nexport interface CreateAcoParams {\n getLocale: () => I18NLocale;\n getTenant: () => Tenant;\n storageOperations: AcoStorageOperations;\n folderLevelPermissions: FolderLevelPermissions;\n}\n\nexport interface AcoStorageOperations {\n folder: AcoFolderStorageOperations;\n search: AcoSearchRecordStorageOperations;\n filter: AcoFilterStorageOperations;\n flp: AcoFolderLevelPermissionsStorageOperations;\n}\n\nexport interface AcoContext\n extends BaseContext,\n I18NContext,\n TenancyContext,\n SecurityContext,\n AdminUsersContext,\n CmsContext,\n FileManagerContext,\n TasksContext {\n aco: AdvancedContentOrganisation;\n}\n\n/**\n * @deprecated Use AcoContext instead\n */\nexport type ACOContext = AcoContext;\n\n/**\n * Apps\n */\nexport interface IAcoAppAddFieldCallable {\n (field: CmsModelField): void;\n}\n\nexport interface IAcoAppRemoveFieldCallable {\n (id: string): void;\n}\n\nexport interface IAcoAppModifyFieldCallableCallback {\n (field: CmsModelField): CmsModelField;\n}\n\nexport interface IAcoAppModifyFieldCallable {\n (id: string, cb: IAcoAppModifyFieldCallableCallback): void;\n}\n\nexport interface IAcoApp {\n context: AcoContext;\n search: AcoSearchRecordCrudBase;\n folder: AcoFolderCrud;\n name: string;\n model: CmsModel;\n getFields: () => CmsModelField[];\n addField: IAcoAppAddFieldCallable;\n removeField: IAcoAppRemoveFieldCallable;\n modifyField: IAcoAppModifyFieldCallable;\n}\n// TODO: determine correct type\nexport type IAcoAppOnEntry<T extends GenericSearchData = GenericSearchData> = (\n entry: SearchRecord<T>,\n context: AcoContext\n) => Promise<SearchRecord<T>>;\nexport type IAcoAppOnEntryList<T extends GenericSearchData = GenericSearchData> = (\n entries: SearchRecord<T>[],\n context: AcoContext\n) => Promise<SearchRecord<T>[]>;\nexport type AcoRequestAction = \"create\" | \"update\" | \"delete\" | \"move\" | \"fetch\";\nexport type IAcoAppOnAnyRequest = (context: AcoContext, action: AcoRequestAction) => Promise<void>;\n\nexport interface IAcoAppParams {\n name: string;\n apiName: string;\n model: CmsModel;\n fields: CmsModelField[];\n onEntry?: IAcoAppOnEntry;\n onEntryList?: IAcoAppOnEntryList;\n onAnyRequest?: IAcoAppOnAnyRequest;\n}\n\nexport type IAcoAppsOptions = CreateAcoParams;\n\nexport interface IAcoApps {\n list: () => IAcoApp[];\n register: (app: IAcoAppParams) => Promise<IAcoApp>;\n}\n\nexport type IAcoAppRegisterParams = Omit<IAcoAppParams, \"model\">;\n"],"mappings":";;;;;;;;;AAuBA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,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,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,OAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,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,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,OAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,OAAA,EAAAX,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,MAAAU,OAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,OAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,IAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,IAAA,EAAAZ,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,MAAAW,IAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,IAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AAAgC,IAcpBY,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAwD7B;AACA;AACA;AAGA;AACA;AACA;AA4BA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { Folder } from "../folder/folder.types";
2
+ import { ListCache } from "./ListCache";
3
+ export declare class FoldersCacheFactory {
4
+ private cache;
5
+ hasCache(namespace: string): boolean;
6
+ getCache(namespace: string): ListCache<Folder>;
7
+ deleteCache(): void;
8
+ private getCacheKey;
9
+ }
10
+ export declare const folderCacheFactory: FoldersCacheFactory;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.folderCacheFactory = exports.FoldersCacheFactory = void 0;
7
+ var _ListCache = require("./ListCache");
8
+ class FoldersCacheFactory {
9
+ cache = new Map();
10
+ hasCache(namespace) {
11
+ const cacheKey = this.getCacheKey(namespace);
12
+ return this.cache.has(cacheKey);
13
+ }
14
+ getCache(namespace) {
15
+ const cacheKey = this.getCacheKey(namespace);
16
+ if (!this.cache.has(cacheKey)) {
17
+ this.cache.set(cacheKey, new _ListCache.ListCache());
18
+ }
19
+ return this.cache.get(cacheKey);
20
+ }
21
+ deleteCache() {
22
+ this.cache.clear();
23
+ }
24
+ getCacheKey(namespace) {
25
+ return namespace;
26
+ }
27
+ }
28
+ exports.FoldersCacheFactory = FoldersCacheFactory;
29
+ const folderCacheFactory = exports.folderCacheFactory = new FoldersCacheFactory();
30
+
31
+ //# sourceMappingURL=FoldersCacheFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ListCache","require","FoldersCacheFactory","cache","Map","hasCache","namespace","cacheKey","getCacheKey","has","getCache","set","ListCache","get","deleteCache","clear","exports","folderCacheFactory"],"sources":["FoldersCacheFactory.ts"],"sourcesContent":["import type { Folder } from \"~/folder/folder.types\";\nimport { ListCache } from \"~/utils/ListCache\";\n\nexport class FoldersCacheFactory {\n private cache: Map<string, ListCache<Folder>> = new Map();\n\n hasCache(namespace: string) {\n const cacheKey = this.getCacheKey(namespace);\n return this.cache.has(cacheKey);\n }\n\n getCache(namespace: string) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new ListCache<Folder>());\n }\n\n return this.cache.get(cacheKey) as ListCache<Folder>;\n }\n\n deleteCache() {\n this.cache.clear();\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const folderCacheFactory = new FoldersCacheFactory();\n"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,mBAAmB,CAAC;EACrBC,KAAK,GAAmC,IAAIC,GAAG,CAAC,CAAC;EAEzDC,QAAQA,CAACC,SAAiB,EAAE;IACxB,MAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACF,SAAS,CAAC;IAC5C,OAAO,IAAI,CAACH,KAAK,CAACM,GAAG,CAACF,QAAQ,CAAC;EACnC;EAEAG,QAAQA,CAACJ,SAAiB,EAAE;IACxB,MAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACF,SAAS,CAAC;IAE5C,IAAI,CAAC,IAAI,CAACH,KAAK,CAACM,GAAG,CAACF,QAAQ,CAAC,EAAE;MAC3B,IAAI,CAACJ,KAAK,CAACQ,GAAG,CAACJ,QAAQ,EAAE,IAAIK,oBAAS,CAAS,CAAC,CAAC;IACrD;IAEA,OAAO,IAAI,CAACT,KAAK,CAACU,GAAG,CAACN,QAAQ,CAAC;EACnC;EAEAO,WAAWA,CAAA,EAAG;IACV,IAAI,CAACX,KAAK,CAACY,KAAK,CAAC,CAAC;EACtB;EAEQP,WAAWA,CAACF,SAAiB,EAAE;IACnC,OAAOA,SAAS;EACpB;AACJ;AAACU,OAAA,CAAAd,mBAAA,GAAAA,mBAAA;AAEM,MAAMe,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,IAAIf,mBAAmB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ export type Constructor<T> = new (...args: any[]) => T;
2
+ export interface IListCachePredicate<T> {
3
+ (item: T): boolean;
4
+ }
5
+ export interface IListCacheItemUpdater<T> {
6
+ (item: T): T;
7
+ }
8
+ export interface IListCache<T> {
9
+ clear(): void;
10
+ hasItems(): boolean;
11
+ getItems(): T[];
12
+ addItems(items: T[]): void;
13
+ updateItems(updater: IListCacheItemUpdater<T>): void;
14
+ }
15
+ export declare class ListCache<T> implements IListCache<T> {
16
+ private state;
17
+ constructor();
18
+ clear(): void;
19
+ hasItems(): boolean;
20
+ getItems(): T[];
21
+ addItems(items: T[]): void;
22
+ updateItems(updater: IListCacheItemUpdater<T>): void;
23
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ListCache = void 0;
8
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
9
+ class ListCache {
10
+ constructor() {
11
+ this.state = [];
12
+ }
13
+ clear() {
14
+ this.state = [];
15
+ }
16
+ hasItems() {
17
+ return this.state.length > 0;
18
+ }
19
+ getItems() {
20
+ return (0, _cloneDeep.default)(this.state);
21
+ }
22
+ addItems(items) {
23
+ this.state.push(...items);
24
+ }
25
+ updateItems(updater) {
26
+ this.state = this.state.map(item => updater(item));
27
+ }
28
+ }
29
+ exports.ListCache = ListCache;
30
+
31
+ //# sourceMappingURL=ListCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_cloneDeep","_interopRequireDefault","require","ListCache","constructor","state","clear","hasItems","length","getItems","cloneDeep","addItems","items","push","updateItems","updater","map","item","exports"],"sources":["ListCache.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\n\nexport type Constructor<T> = new (...args: any[]) => T;\n\nexport interface IListCachePredicate<T> {\n (item: T): boolean;\n}\n\nexport interface IListCacheItemUpdater<T> {\n (item: T): T;\n}\n\nexport interface IListCache<T> {\n clear(): void;\n hasItems(): boolean;\n getItems(): T[];\n addItems(items: T[]): void;\n updateItems(updater: IListCacheItemUpdater<T>): void;\n}\n\nexport class ListCache<T> implements IListCache<T> {\n private state: T[];\n\n constructor() {\n this.state = [];\n }\n\n clear(): void {\n this.state = [];\n }\n\n hasItems(): boolean {\n return this.state.length > 0;\n }\n\n getItems(): T[] {\n return cloneDeep(this.state);\n }\n\n addItems(items: T[]): void {\n this.state.push(...items);\n }\n\n updateItems(updater: IListCacheItemUpdater<T>): void {\n this.state = this.state.map(item => updater(item));\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAoBO,MAAMC,SAAS,CAA6B;EAG/CC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,KAAK,GAAG,EAAE;EACnB;EAEAC,KAAKA,CAAA,EAAS;IACV,IAAI,CAACD,KAAK,GAAG,EAAE;EACnB;EAEAE,QAAQA,CAAA,EAAY;IAChB,OAAO,IAAI,CAACF,KAAK,CAACG,MAAM,GAAG,CAAC;EAChC;EAEAC,QAAQA,CAAA,EAAQ;IACZ,OAAO,IAAAC,kBAAS,EAAC,IAAI,CAACL,KAAK,CAAC;EAChC;EAEAM,QAAQA,CAACC,KAAU,EAAQ;IACvB,IAAI,CAACP,KAAK,CAACQ,IAAI,CAAC,GAAGD,KAAK,CAAC;EAC7B;EAEAE,WAAWA,CAACC,OAAiC,EAAQ;IACjD,IAAI,CAACV,KAAK,GAAG,IAAI,CAACA,KAAK,CAACW,GAAG,CAACC,IAAI,IAAIF,OAAO,CAACE,IAAI,CAAC,CAAC;EACtD;AACJ;AAACC,OAAA,CAAAf,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import type { Folder, ListFoldersParams } from "../folder/folder.types";
2
+ import type { ListMeta } from "../types";
3
+ export interface ListFoldersRepositoryParams {
4
+ gateway: (params: ListFoldersParams) => Promise<[Folder[], ListMeta]>;
5
+ }
6
+ export declare class ListFoldersRepository {
7
+ private readonly gateway;
8
+ constructor(params: ListFoldersRepositoryParams);
9
+ execute(folderType: string): Promise<Folder[]>;
10
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ListFoldersRepository = void 0;
7
+ var _FoldersCacheFactory = require("./FoldersCacheFactory");
8
+ class ListFoldersRepository {
9
+ constructor(params) {
10
+ this.gateway = params.gateway;
11
+ }
12
+ async execute(folderType) {
13
+ if (_FoldersCacheFactory.folderCacheFactory.hasCache(folderType)) {
14
+ return _FoldersCacheFactory.folderCacheFactory.getCache(folderType).getItems();
15
+ }
16
+ let hasMoreItems = true;
17
+ let cursor = null;
18
+ while (hasMoreItems) {
19
+ const response = await this.gateway({
20
+ where: {
21
+ type: folderType
22
+ },
23
+ after: cursor
24
+ });
25
+ const [folders, meta] = response;
26
+ _FoldersCacheFactory.folderCacheFactory.getCache(folderType).addItems(folders);
27
+ hasMoreItems = meta.hasMoreItems;
28
+ cursor = meta.cursor;
29
+ }
30
+ return _FoldersCacheFactory.folderCacheFactory.getCache(folderType).getItems();
31
+ }
32
+ }
33
+ exports.ListFoldersRepository = ListFoldersRepository;
34
+
35
+ //# sourceMappingURL=ListFoldersRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_FoldersCacheFactory","require","ListFoldersRepository","constructor","params","gateway","execute","folderType","folderCacheFactory","hasCache","getCache","getItems","hasMoreItems","cursor","response","where","type","after","folders","meta","addItems","exports"],"sources":["ListFoldersRepository.ts"],"sourcesContent":["import { folderCacheFactory } from \"~/utils/FoldersCacheFactory\";\nimport type { Folder, ListFoldersParams } from \"~/folder/folder.types\";\nimport type { ListMeta } from \"~/types\";\n\nexport interface ListFoldersRepositoryParams {\n gateway: (params: ListFoldersParams) => Promise<[Folder[], ListMeta]>;\n}\n\nexport class ListFoldersRepository {\n private readonly gateway: (params: ListFoldersParams) => Promise<[Folder[], ListMeta]>;\n\n constructor(params: ListFoldersRepositoryParams) {\n this.gateway = params.gateway;\n }\n\n public async execute(folderType: string): Promise<Folder[]> {\n if (folderCacheFactory.hasCache(folderType)) {\n return folderCacheFactory.getCache(folderType).getItems();\n }\n\n let hasMoreItems: ListMeta[\"hasMoreItems\"] = true;\n let cursor: ListMeta[\"cursor\"] = null;\n\n while (hasMoreItems) {\n const response: [Folder[], ListMeta] = await this.gateway({\n where: { type: folderType },\n after: cursor\n });\n\n const [folders, meta] = response;\n\n folderCacheFactory.getCache(folderType).addItems(folders);\n hasMoreItems = meta.hasMoreItems;\n cursor = meta.cursor;\n }\n\n return folderCacheFactory.getCache(folderType).getItems();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAQO,MAAMC,qBAAqB,CAAC;EAG/BC,WAAWA,CAACC,MAAmC,EAAE;IAC7C,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;EACjC;EAEA,MAAaC,OAAOA,CAACC,UAAkB,EAAqB;IACxD,IAAIC,uCAAkB,CAACC,QAAQ,CAACF,UAAU,CAAC,EAAE;MACzC,OAAOC,uCAAkB,CAACE,QAAQ,CAACH,UAAU,CAAC,CAACI,QAAQ,CAAC,CAAC;IAC7D;IAEA,IAAIC,YAAsC,GAAG,IAAI;IACjD,IAAIC,MAA0B,GAAG,IAAI;IAErC,OAAOD,YAAY,EAAE;MACjB,MAAME,QAA8B,GAAG,MAAM,IAAI,CAACT,OAAO,CAAC;QACtDU,KAAK,EAAE;UAAEC,IAAI,EAAET;QAAW,CAAC;QAC3BU,KAAK,EAAEJ;MACX,CAAC,CAAC;MAEF,MAAM,CAACK,OAAO,EAAEC,IAAI,CAAC,GAAGL,QAAQ;MAEhCN,uCAAkB,CAACE,QAAQ,CAACH,UAAU,CAAC,CAACa,QAAQ,CAACF,OAAO,CAAC;MACzDN,YAAY,GAAGO,IAAI,CAACP,YAAY;MAChCC,MAAM,GAAGM,IAAI,CAACN,MAAM;IACxB;IAEA,OAAOL,uCAAkB,CAACE,QAAQ,CAACH,UAAU,CAAC,CAACI,QAAQ,CAAC,CAAC;EAC7D;AACJ;AAACU,OAAA,CAAAnB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare class Path {
2
+ static create(slug: string, parentPath?: string): string;
3
+ }
package/utils/Path.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Path = void 0;
7
+ var _constants = require("../constants");
8
+ class Path {
9
+ static create(slug, parentPath) {
10
+ if (parentPath) {
11
+ return `${parentPath}/${slug}`;
12
+ }
13
+ return `${_constants.ROOT_FOLDER}/${slug}`;
14
+ }
15
+ }
16
+ exports.Path = Path;
17
+
18
+ //# sourceMappingURL=Path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","Path","create","slug","parentPath","ROOT_FOLDER","exports"],"sources":["Path.ts"],"sourcesContent":["import { ROOT_FOLDER } from \"~/constants\";\n\nexport class Path {\n static create(slug: string, parentPath?: string) {\n if (parentPath) {\n return `${parentPath}/${slug}`;\n }\n\n return `${ROOT_FOLDER}/${slug}`;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,CAAC;EACd,OAAOC,MAAMA,CAACC,IAAY,EAAEC,UAAmB,EAAE;IAC7C,IAAIA,UAAU,EAAE;MACZ,OAAO,GAAGA,UAAU,IAAID,IAAI,EAAE;IAClC;IAEA,OAAO,GAAGE,sBAAW,IAAIF,IAAI,EAAE;EACnC;AACJ;AAACG,OAAA,CAAAL,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -30,4 +30,6 @@ const removeAcoRecordPrefix = id => {
30
30
  }
31
31
  return id.substring(WBY_ACO_PREFIX.length);
32
32
  };
33
- exports.removeAcoRecordPrefix = removeAcoRecordPrefix;
33
+ exports.removeAcoRecordPrefix = removeAcoRecordPrefix;
34
+
35
+ //# sourceMappingURL=acoRecordId.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WBY_ACO_PREFIX","attachAcoRecordPrefix","id","startsWith","removeAcoRecordPrefix","substring","length"],"sources":["acoRecordId.ts"],"sourcesContent":["/**\n * !!! DO NOT CHANGE THIS !!!\n * If this is changed, you will need to create new migration which changes the IDs for the users.\n *\n * packages/migrations/src/migrations/5.35.0/006/ddb/PageDataMigration.ts:236\n * packages/migrations/src/migrations/5.35.0/006/ddb-es/PageDataMigration.ts:419\n */\nconst WBY_ACO_PREFIX = \"wby-aco-\";\n/**\n * 006\n * PageDataMigration in ddb-es and ddb\n */\n\nexport const attachAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX)) {\n return id;\n }\n return `${WBY_ACO_PREFIX}${id}`;\n};\n\nexport const removeAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX) === false) {\n return id;\n }\n return id.substring(WBY_ACO_PREFIX.length);\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,UAAU;AACjC;AACA;AACA;AACA;;AAEO,MAAMC,qBAAqB,GAAIC,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,EAAE;IAC/B,OAAOE,EAAE;EACb;EACA,OAAQ,GAAEF,cAAe,GAAEE,EAAG,EAAC;AACnC,CAAC;AAAC;AAEK,MAAME,qBAAqB,GAAIF,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,KAAK,KAAK,EAAE;IACzC,OAAOE,EAAE;EACb;EACA,OAAOA,EAAE,CAACG,SAAS,CAACL,cAAc,CAACM,MAAM,CAAC;AAC9C,CAAC;AAAC"}
1
+ {"version":3,"names":["WBY_ACO_PREFIX","attachAcoRecordPrefix","id","startsWith","exports","removeAcoRecordPrefix","substring","length"],"sources":["acoRecordId.ts"],"sourcesContent":["/**\n * !!! DO NOT CHANGE THIS !!!\n * If this is changed, you will need to create new migration which changes the IDs for the users.\n *\n * packages/migrations/src/migrations/5.35.0/006/ddb/PageDataMigration.ts:236\n * packages/migrations/src/migrations/5.35.0/006/ddb-es/PageDataMigration.ts:419\n */\nconst WBY_ACO_PREFIX = \"wby-aco-\";\n/**\n * 006\n * PageDataMigration in ddb-es and ddb\n */\n\nexport const attachAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX)) {\n return id;\n }\n return `${WBY_ACO_PREFIX}${id}`;\n};\n\nexport const removeAcoRecordPrefix = (id: string) => {\n if (id.startsWith(WBY_ACO_PREFIX) === false) {\n return id;\n }\n return id.substring(WBY_ACO_PREFIX.length);\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,UAAU;AACjC;AACA;AACA;AACA;;AAEO,MAAMC,qBAAqB,GAAIC,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,EAAE;IAC/B,OAAOE,EAAE;EACb;EACA,OAAO,GAAGF,cAAc,GAAGE,EAAE,EAAE;AACnC,CAAC;AAACE,OAAA,CAAAH,qBAAA,GAAAA,qBAAA;AAEK,MAAMI,qBAAqB,GAAIH,EAAU,IAAK;EACjD,IAAIA,EAAE,CAACC,UAAU,CAACH,cAAc,CAAC,KAAK,KAAK,EAAE;IACzC,OAAOE,EAAE;EACb;EACA,OAAOA,EAAE,CAACI,SAAS,CAACN,cAAc,CAACO,MAAM,CAAC;AAC9C,CAAC;AAACH,OAAA,CAAAC,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare const compress: (data: any) => Promise<{
2
+ compression: string;
3
+ value: string;
4
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.compress = void 0;
7
+ var _gzip = require("@webiny/utils/compression/gzip");
8
+ const GZIP = "gzip";
9
+ const TO_STORAGE_ENCODING = "base64";
10
+ const compress = async data => {
11
+ const value = await (0, _gzip.compress)(JSON.stringify(data));
12
+ return {
13
+ compression: GZIP,
14
+ value: value.toString(TO_STORAGE_ENCODING)
15
+ };
16
+ };
17
+ exports.compress = compress;
18
+
19
+ //# sourceMappingURL=compress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_gzip","require","GZIP","TO_STORAGE_ENCODING","compress","data","value","gzip","JSON","stringify","compression","toString","exports"],"sources":["compress.ts"],"sourcesContent":["import { compress as gzip } from \"@webiny/utils/compression/gzip\";\n\nconst GZIP = \"gzip\";\nconst TO_STORAGE_ENCODING = \"base64\";\n\nexport const compress = async (data: any) => {\n const value = await gzip(JSON.stringify(data));\n\n return {\n compression: GZIP,\n value: value.toString(TO_STORAGE_ENCODING)\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,MAAMC,IAAI,GAAG,MAAM;AACnB,MAAMC,mBAAmB,GAAG,QAAQ;AAE7B,MAAMC,QAAQ,GAAG,MAAOC,IAAS,IAAK;EACzC,MAAMC,KAAK,GAAG,MAAM,IAAAC,cAAI,EAACC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAC,CAAC;EAE9C,OAAO;IACHK,WAAW,EAAER,IAAI;IACjBI,KAAK,EAAEA,KAAK,CAACK,QAAQ,CAACR,mBAAmB;EAC7C,CAAC;AACL,CAAC;AAACS,OAAA,CAAAR,QAAA,GAAAA,QAAA","ignoreList":[]}