kuzzle 2.49.1 → 2.50.0-beta.4

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 (591) hide show
  1. package/dist/bin/copy-protobuf.js +17 -0
  2. package/dist/lib/api/controllers/adminController.d.ts +51 -0
  3. package/dist/lib/api/controllers/adminController.js +191 -0
  4. package/{lib → dist/lib}/api/controllers/authController.d.ts +20 -40
  5. package/{lib → dist/lib}/api/controllers/authController.js +23 -24
  6. package/dist/lib/api/controllers/bulkController.d.ts +46 -0
  7. package/dist/lib/api/controllers/bulkController.js +132 -0
  8. package/dist/lib/api/controllers/clusterController.d.ts +6 -0
  9. package/{lib → dist/lib}/api/controllers/clusterController.js +7 -11
  10. package/dist/lib/api/controllers/collectionController.d.ts +136 -0
  11. package/dist/lib/api/controllers/collectionController.js +356 -0
  12. package/dist/lib/api/controllers/documentController.d.ts +181 -0
  13. package/dist/lib/api/controllers/documentController.js +768 -0
  14. package/dist/lib/api/controllers/index.d.ts +12 -0
  15. package/{lib → dist/lib}/api/controllers/index.js +13 -14
  16. package/dist/lib/api/controllers/indexController.d.ts +65 -0
  17. package/dist/lib/api/controllers/indexController.js +139 -0
  18. package/dist/lib/api/controllers/memoryStorageController.d.ts +8 -0
  19. package/dist/lib/api/controllers/memoryStorageController.js +867 -0
  20. package/dist/lib/api/controllers/realtimeController.d.ts +47 -0
  21. package/dist/lib/api/controllers/realtimeController.js +128 -0
  22. package/dist/lib/api/controllers/securityController.d.ts +423 -0
  23. package/dist/lib/api/controllers/securityController.js +1139 -0
  24. package/dist/lib/api/controllers/serverController.d.ts +82 -0
  25. package/dist/lib/api/controllers/serverController.js +321 -0
  26. package/dist/lib/api/documentExtractor.d.ts +9 -0
  27. package/dist/lib/api/documentExtractor.js +274 -0
  28. package/dist/lib/api/funnel.d.ts +183 -0
  29. package/dist/lib/api/funnel.js +821 -0
  30. package/dist/lib/api/httpRoutes.d.ts +17 -0
  31. package/dist/lib/api/httpRoutes.js +1496 -0
  32. package/dist/lib/api/rateLimiter.d.ts +18 -0
  33. package/dist/lib/api/rateLimiter.js +74 -0
  34. package/{lib → dist/lib}/api/request/kuzzleRequest.d.ts +2 -2
  35. package/{lib → dist/lib}/api/request/requestContext.d.ts +2 -1
  36. package/dist/lib/cluster/command.d.ts +73 -0
  37. package/dist/lib/cluster/command.js +236 -0
  38. package/dist/lib/cluster/index.d.ts +2 -0
  39. package/{lib → dist/lib}/cluster/index.js +1 -2
  40. package/dist/lib/cluster/node.d.ts +278 -0
  41. package/dist/lib/cluster/node.js +876 -0
  42. package/dist/lib/cluster/publisher.d.ts +188 -0
  43. package/dist/lib/cluster/publisher.js +347 -0
  44. package/dist/lib/cluster/subscriber.d.ts +269 -0
  45. package/dist/lib/cluster/subscriber.js +555 -0
  46. package/dist/lib/cluster/workers/IDCardRenewer.d.ts +13 -0
  47. package/dist/lib/cluster/workers/IDCardRenewer.js +120 -0
  48. package/{lib → dist/lib}/config/documentEventAliases.d.ts +1 -2
  49. package/dist/lib/config/index.d.ts +5 -0
  50. package/dist/lib/config/index.js +244 -0
  51. package/dist/lib/config/sdkCompatibility.json +9 -0
  52. package/dist/lib/core/auth/formatProcessing.d.ts +30 -0
  53. package/dist/lib/core/auth/formatProcessing.js +55 -0
  54. package/dist/lib/core/auth/passportResponse.d.ts +15 -0
  55. package/{lib → dist/lib}/core/auth/passportResponse.js +24 -30
  56. package/dist/lib/core/auth/passportWrapper.d.ts +28 -0
  57. package/dist/lib/core/auth/passportWrapper.js +126 -0
  58. package/{lib → dist/lib}/core/backend/backendConfig.js +2 -2
  59. package/{lib → dist/lib}/core/backend/backendErrors.js +9 -12
  60. package/dist/lib/core/cache/cacheEngine.d.ts +15 -0
  61. package/dist/lib/core/cache/cacheEngine.js +205 -0
  62. package/dist/lib/core/network/accessLogger.d.ts +29 -0
  63. package/dist/lib/core/network/accessLogger.js +250 -0
  64. package/dist/lib/core/network/clientConnection.d.ts +15 -0
  65. package/{lib → dist/lib}/core/network/clientConnection.js +17 -24
  66. package/dist/lib/core/network/context.d.ts +42 -0
  67. package/dist/lib/core/network/context.js +57 -0
  68. package/dist/lib/core/network/entryPoint.d.ts +62 -0
  69. package/dist/lib/core/network/entryPoint.js +261 -0
  70. package/dist/lib/core/network/httpRouter/index.d.ts +85 -0
  71. package/dist/lib/core/network/httpRouter/index.js +258 -0
  72. package/dist/lib/core/network/httpRouter/routeHandler.d.ts +46 -0
  73. package/dist/lib/core/network/httpRouter/routeHandler.js +101 -0
  74. package/dist/lib/core/network/httpRouter/routePart.d.ts +35 -0
  75. package/dist/lib/core/network/httpRouter/routePart.js +117 -0
  76. package/dist/lib/core/network/protocolManifest.d.ts +6 -0
  77. package/{lib → dist/lib}/core/network/protocolManifest.js +5 -9
  78. package/dist/lib/core/network/protocols/httpMessage.d.ts +22 -0
  79. package/dist/lib/core/network/protocols/httpMessage.js +62 -0
  80. package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +171 -0
  81. package/dist/lib/core/network/protocols/httpwsProtocol.js +921 -0
  82. package/dist/lib/core/network/protocols/internalProtocol.d.ts +27 -0
  83. package/dist/lib/core/network/protocols/internalProtocol.js +82 -0
  84. package/dist/lib/core/network/protocols/mqttProtocol.d.ts +39 -0
  85. package/dist/lib/core/network/protocols/mqttProtocol.js +219 -0
  86. package/dist/lib/core/network/protocols/protocol.d.ts +26 -0
  87. package/dist/lib/core/network/protocols/protocol.js +74 -0
  88. package/dist/lib/core/network/router.d.ts +49 -0
  89. package/dist/lib/core/network/router.js +193 -0
  90. package/dist/lib/core/plugin/plugin.d.ts +56 -0
  91. package/dist/lib/core/plugin/plugin.js +282 -0
  92. package/{lib → dist/lib}/core/plugin/pluginContext.js +2 -2
  93. package/dist/lib/core/plugin/pluginManifest.d.ts +5 -0
  94. package/{lib → dist/lib}/core/plugin/pluginManifest.js +16 -27
  95. package/dist/lib/core/plugin/pluginRepository.d.ts +53 -0
  96. package/dist/lib/core/plugin/pluginRepository.js +112 -0
  97. package/dist/lib/core/plugin/pluginsManager.d.ts +190 -0
  98. package/dist/lib/core/plugin/pluginsManager.js +817 -0
  99. package/dist/lib/core/plugin/privilegedContext.d.ts +14 -0
  100. package/{lib → dist/lib}/core/plugin/privilegedContext.js +10 -14
  101. package/dist/lib/core/realtime/actionEnum.d.ts +25 -0
  102. package/{lib → dist/lib}/core/realtime/actionEnum.js +7 -10
  103. package/dist/lib/core/realtime/index.d.ts +8 -0
  104. package/{lib → dist/lib}/core/realtime/index.js +9 -13
  105. package/dist/lib/core/realtime/notification/document.d.ts +34 -0
  106. package/dist/lib/core/realtime/notification/document.js +98 -0
  107. package/dist/lib/core/realtime/notification/index.d.ts +3 -0
  108. package/{lib → dist/lib}/core/realtime/notification/index.js +4 -5
  109. package/dist/lib/core/realtime/notification/server.d.ts +17 -0
  110. package/{lib → dist/lib}/core/realtime/notification/server.js +8 -10
  111. package/dist/lib/core/realtime/notification/user.d.ts +29 -0
  112. package/dist/lib/core/realtime/notification/user.js +66 -0
  113. package/dist/lib/core/realtime/notifier.d.ts +171 -0
  114. package/dist/lib/core/realtime/notifier.js +405 -0
  115. package/dist/lib/core/security/index.d.ts +14 -0
  116. package/{lib → dist/lib}/core/security/index.js +15 -19
  117. package/dist/lib/core/security/roleRepository.d.ts +143 -0
  118. package/dist/lib/core/security/roleRepository.js +445 -0
  119. package/dist/lib/core/security/securityLoader.d.ts +24 -0
  120. package/dist/lib/core/security/securityLoader.js +125 -0
  121. package/{lib → dist/lib}/core/security/tokenRepository.js +1 -1
  122. package/dist/lib/core/security/userRepository.d.ts +81 -0
  123. package/dist/lib/core/security/userRepository.js +346 -0
  124. package/dist/lib/core/shared/abstractManifest.d.ts +27 -0
  125. package/dist/lib/core/shared/abstractManifest.js +85 -0
  126. package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +7 -0
  127. package/dist/lib/core/shared/sdk/impersonatedSdk.js +80 -0
  128. package/{lib → dist/lib}/core/shared/store.d.ts +2 -2
  129. package/dist/lib/core/statistics/statistics.d.ts +94 -0
  130. package/dist/lib/core/statistics/statistics.js +287 -0
  131. package/dist/lib/core/storage/clientAdapter.d.ts +62 -0
  132. package/dist/lib/core/storage/clientAdapter.js +756 -0
  133. package/dist/lib/core/storage/storageEngine.d.ts +13 -0
  134. package/dist/lib/core/storage/storageEngine.js +52 -0
  135. package/dist/lib/core/validation/baseType.d.ts +35 -0
  136. package/dist/lib/core/validation/baseType.js +70 -0
  137. package/dist/lib/core/validation/types/anything.d.ts +10 -0
  138. package/{lib → dist/lib}/core/validation/types/anything.js +7 -10
  139. package/dist/lib/core/validation/types/boolean.d.ts +16 -0
  140. package/{lib → dist/lib}/core/validation/types/boolean.js +18 -23
  141. package/dist/lib/core/validation/types/date.d.ts +17 -0
  142. package/dist/lib/core/validation/types/date.js +215 -0
  143. package/dist/lib/core/validation/types/email.d.ts +17 -0
  144. package/dist/lib/core/validation/types/email.js +80 -0
  145. package/dist/lib/core/validation/types/enum.d.ts +17 -0
  146. package/dist/lib/core/validation/types/enum.js +70 -0
  147. package/dist/lib/core/validation/types/geoPoint.d.ts +17 -0
  148. package/{lib → dist/lib}/core/validation/types/geoPoint.js +19 -24
  149. package/dist/lib/core/validation/types/geoShape.d.ts +31 -0
  150. package/dist/lib/core/validation/types/geoShape.js +280 -0
  151. package/dist/lib/core/validation/types/integer.d.ts +7 -0
  152. package/{lib → dist/lib}/core/validation/types/integer.js +21 -27
  153. package/dist/lib/core/validation/types/ipAddress.d.ts +17 -0
  154. package/dist/lib/core/validation/types/ipAddress.js +73 -0
  155. package/dist/lib/core/validation/types/numeric.d.ts +17 -0
  156. package/dist/lib/core/validation/types/numeric.js +84 -0
  157. package/dist/lib/core/validation/types/object.d.ts +24 -0
  158. package/dist/lib/core/validation/types/object.js +74 -0
  159. package/dist/lib/core/validation/types/string.d.ts +17 -0
  160. package/dist/lib/core/validation/types/string.js +85 -0
  161. package/dist/lib/core/validation/types/url.d.ts +17 -0
  162. package/dist/lib/core/validation/types/url.js +73 -0
  163. package/dist/lib/core/validation/validation.d.ts +113 -0
  164. package/dist/lib/core/validation/validation.js +692 -0
  165. package/dist/lib/kerror/codes/0-core.json +194 -0
  166. package/dist/lib/kerror/codes/1-services.json +351 -0
  167. package/dist/lib/kerror/codes/2-api.json +195 -0
  168. package/dist/lib/kerror/codes/3-network.json +151 -0
  169. package/dist/lib/kerror/codes/4-plugin.json +498 -0
  170. package/dist/lib/kerror/codes/5-validation.json +158 -0
  171. package/dist/lib/kerror/codes/6-protocol.json +28 -0
  172. package/dist/lib/kerror/codes/7-security.json +283 -0
  173. package/dist/lib/kerror/codes/8-cluster.json +16 -0
  174. package/dist/lib/kerror/codes/index.d.ts +24 -0
  175. package/dist/lib/kerror/codes/index.js +140 -0
  176. package/{lib → dist/lib}/kerror/index.d.ts +5 -5
  177. package/{lib → dist/lib}/kuzzle/Logger.d.ts +6 -0
  178. package/{lib → dist/lib}/kuzzle/Logger.js +26 -5
  179. package/dist/lib/kuzzle/dumpGenerator.d.ts +14 -0
  180. package/dist/lib/kuzzle/dumpGenerator.js +180 -0
  181. package/dist/lib/kuzzle/event/pipeRunner.d.ts +30 -0
  182. package/dist/lib/kuzzle/event/pipeRunner.js +119 -0
  183. package/dist/lib/kuzzle/event/waterfall.d.ts +2 -0
  184. package/dist/lib/kuzzle/event/waterfall.js +90 -0
  185. package/dist/lib/kuzzle/internalIndexHandler.d.ts +186 -0
  186. package/dist/lib/kuzzle/internalIndexHandler.js +174 -0
  187. package/{lib → dist/lib}/kuzzle/kuzzle.d.ts +6 -7
  188. package/{lib → dist/lib}/kuzzle/kuzzle.js +5 -2
  189. package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +20 -0
  190. package/{lib → dist/lib}/kuzzle/kuzzleStateEnum.js +5 -8
  191. package/dist/lib/kuzzle/vault.d.ts +2 -0
  192. package/dist/lib/kuzzle/vault.js +63 -0
  193. package/dist/lib/model/security/rights.d.ts +8 -0
  194. package/{lib → dist/lib}/model/security/rights.js +4 -8
  195. package/{lib → dist/lib}/model/security/role.d.ts +1 -1
  196. package/{lib → dist/lib}/model/security/user.d.ts +1 -0
  197. package/dist/lib/model/storage/apiKey.d.ts +49 -0
  198. package/dist/lib/model/storage/apiKey.js +126 -0
  199. package/dist/lib/model/storage/baseModel.d.ts +100 -0
  200. package/dist/lib/model/storage/baseModel.js +211 -0
  201. package/dist/lib/service/cache/redis.d.ts +74 -0
  202. package/dist/lib/service/cache/redis.js +237 -0
  203. package/dist/lib/service/service.d.ts +30 -0
  204. package/dist/lib/service/service.js +74 -0
  205. package/{lib → dist/lib}/service/storage/7/elasticsearch.d.ts +2 -2
  206. package/{lib → dist/lib}/service/storage/7/elasticsearch.js +23 -25
  207. package/dist/lib/service/storage/7/esWrapper.d.ts +19 -0
  208. package/dist/lib/service/storage/7/esWrapper.js +245 -0
  209. package/{lib → dist/lib}/service/storage/8/elasticsearch.js +23 -25
  210. package/dist/lib/service/storage/8/esWrapper.d.ts +19 -0
  211. package/dist/lib/service/storage/8/esWrapper.js +245 -0
  212. package/{lib → dist/lib}/types/Plugin.d.ts +1 -1
  213. package/{lib/types → dist/lib/types/controllers}/Controller.d.ts +2 -2
  214. package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.d.ts +1 -1
  215. package/dist/lib/types/controllers/adminControlller.type.d.ts +5 -0
  216. package/dist/lib/types/controllers/adminControlller.type.js +3 -0
  217. package/dist/lib/types/controllers/authController.type.d.ts +5 -0
  218. package/dist/lib/types/controllers/authController.type.js +3 -0
  219. package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -0
  220. package/dist/lib/types/core/auth/formatProcessing.type.js +3 -0
  221. package/{lib → dist/lib}/types/index.d.ts +3 -3
  222. package/{lib → dist/lib}/types/index.js +3 -3
  223. package/dist/lib/util/assertType.d.ts +41 -0
  224. package/{lib → dist/lib}/util/assertType.js +38 -56
  225. package/dist/lib/util/asyncStore.d.ts +38 -0
  226. package/dist/lib/util/asyncStore.js +70 -0
  227. package/dist/lib/util/bytes.d.ts +2 -0
  228. package/dist/lib/util/bytes.js +33 -0
  229. package/dist/lib/util/debug.d.ts +2 -0
  230. package/{lib → dist/lib}/util/debug.js +15 -23
  231. package/dist/lib/util/deprecate.d.ts +1 -0
  232. package/dist/lib/util/deprecate.js +64 -0
  233. package/dist/lib/util/didYouMean.d.ts +2 -0
  234. package/{lib → dist/lib}/util/didYouMean.js +9 -15
  235. package/dist/lib/util/extractFields.d.ts +17 -0
  236. package/{lib → dist/lib}/util/extractFields.js +18 -32
  237. package/dist/lib/util/memoize.d.ts +7 -0
  238. package/{lib → dist/lib}/util/memoize.js +14 -21
  239. package/dist/lib/util/promback.d.ts +13 -0
  240. package/dist/lib/util/promback.js +60 -0
  241. package/dist/lib/util/requestAssertions.d.ts +10 -0
  242. package/dist/lib/util/requestAssertions.js +143 -0
  243. package/dist/lib/util/safeObject.d.ts +3 -0
  244. package/{lib → dist/lib}/util/safeObject.js +7 -13
  245. package/dist/lib/util/stackTrace.d.ts +19 -0
  246. package/{lib → dist/lib}/util/stackTrace.js +35 -41
  247. package/dist/lib/util/wildcard.d.ts +1 -0
  248. package/{lib → dist/lib}/util/wildcard.js +21 -30
  249. package/dist/package.json +119 -0
  250. package/package.json +44 -58
  251. package/bin/start-kuzzle-server +0 -126
  252. package/check-node-version.js +0 -17
  253. package/lib/api/controllers/adminController.js +0 -229
  254. package/lib/api/controllers/bulkController.js +0 -210
  255. package/lib/api/controllers/collectionController.js +0 -502
  256. package/lib/api/controllers/documentController.js +0 -1156
  257. package/lib/api/controllers/indexController.js +0 -179
  258. package/lib/api/controllers/memoryStorageController.js +0 -1023
  259. package/lib/api/controllers/realtimeController.js +0 -155
  260. package/lib/api/controllers/securityController.js +0 -1571
  261. package/lib/api/controllers/serverController.js +0 -381
  262. package/lib/api/documentExtractor.js +0 -309
  263. package/lib/api/funnel.js +0 -1143
  264. package/lib/api/httpRoutes.js +0 -1547
  265. package/lib/api/rateLimiter.js +0 -87
  266. package/lib/cluster/command.js +0 -284
  267. package/lib/cluster/node.js +0 -1203
  268. package/lib/cluster/publisher.js +0 -386
  269. package/lib/cluster/subscriber.js +0 -776
  270. package/lib/cluster/workers/IDCardRenewer.js +0 -144
  271. package/lib/config/index.js +0 -351
  272. package/lib/config/sdkCompatibility.json +0 -9
  273. package/lib/core/auth/formatProcessing.js +0 -66
  274. package/lib/core/auth/passportWrapper.js +0 -126
  275. package/lib/core/cache/cacheEngine.js +0 -278
  276. package/lib/core/network/accessLogger.js +0 -322
  277. package/lib/core/network/context.js +0 -80
  278. package/lib/core/network/entryPoint.js +0 -358
  279. package/lib/core/network/httpRouter/index.js +0 -316
  280. package/lib/core/network/httpRouter/routeHandler.js +0 -111
  281. package/lib/core/network/httpRouter/routePart.js +0 -147
  282. package/lib/core/network/protocols/httpMessage.js +0 -69
  283. package/lib/core/network/protocols/httpwsProtocol.js +0 -1254
  284. package/lib/core/network/protocols/internalProtocol.js +0 -109
  285. package/lib/core/network/protocols/mqttProtocol.js +0 -291
  286. package/lib/core/network/protocols/protocol.js +0 -102
  287. package/lib/core/network/router.js +0 -255
  288. package/lib/core/plugin/plugin.js +0 -436
  289. package/lib/core/plugin/pluginRepository.js +0 -132
  290. package/lib/core/plugin/pluginsManager.js +0 -1244
  291. package/lib/core/realtime/notification/document.js +0 -108
  292. package/lib/core/realtime/notification/user.js +0 -70
  293. package/lib/core/realtime/notifier.js +0 -541
  294. package/lib/core/security/README.md +0 -223
  295. package/lib/core/security/roleRepository.js +0 -569
  296. package/lib/core/security/securityLoader.js +0 -174
  297. package/lib/core/security/userRepository.js +0 -446
  298. package/lib/core/shared/README.md +0 -3
  299. package/lib/core/shared/abstractManifest.js +0 -102
  300. package/lib/core/shared/sdk/impersonatedSdk.js +0 -94
  301. package/lib/core/statistics/index.js +0 -24
  302. package/lib/core/statistics/statistics.js +0 -373
  303. package/lib/core/storage/clientAdapter.js +0 -1045
  304. package/lib/core/storage/storageEngine.js +0 -63
  305. package/lib/core/validation/baseType.js +0 -80
  306. package/lib/core/validation/index.js +0 -24
  307. package/lib/core/validation/types/date.js +0 -284
  308. package/lib/core/validation/types/email.js +0 -92
  309. package/lib/core/validation/types/enum.js +0 -100
  310. package/lib/core/validation/types/geoShape.js +0 -370
  311. package/lib/core/validation/types/ipAddress.js +0 -83
  312. package/lib/core/validation/types/numeric.js +0 -108
  313. package/lib/core/validation/types/object.js +0 -88
  314. package/lib/core/validation/types/string.js +0 -110
  315. package/lib/core/validation/types/url.js +0 -83
  316. package/lib/core/validation/validation.js +0 -1180
  317. package/lib/kerror/codes/0-core.json +0 -194
  318. package/lib/kerror/codes/1-services.json +0 -351
  319. package/lib/kerror/codes/2-api.json +0 -195
  320. package/lib/kerror/codes/3-network.json +0 -151
  321. package/lib/kerror/codes/4-plugin.json +0 -498
  322. package/lib/kerror/codes/5-validation.json +0 -158
  323. package/lib/kerror/codes/6-protocol.json +0 -28
  324. package/lib/kerror/codes/7-security.json +0 -283
  325. package/lib/kerror/codes/8-cluster.json +0 -16
  326. package/lib/kerror/codes/index.js +0 -208
  327. package/lib/kuzzle/dumpGenerator.js +0 -259
  328. package/lib/kuzzle/event/pipeRunner.js +0 -144
  329. package/lib/kuzzle/event/waterfall.js +0 -101
  330. package/lib/kuzzle/internalIndexHandler.js +0 -234
  331. package/lib/kuzzle/vault.js +0 -89
  332. package/lib/model/storage/apiKey.js +0 -158
  333. package/lib/model/storage/baseModel.js +0 -275
  334. package/lib/service/cache/redis.js +0 -282
  335. package/lib/service/service.js +0 -84
  336. package/lib/service/storage/7/esWrapper.js +0 -303
  337. package/lib/service/storage/8/esWrapper.js +0 -303
  338. package/lib/util/asyncStore.js +0 -112
  339. package/lib/util/bytes.js +0 -36
  340. package/lib/util/deprecate.js +0 -82
  341. package/lib/util/promback.js +0 -66
  342. package/lib/util/readYamlFile.d.ts +0 -2
  343. package/lib/util/readYamlFile.js +0 -10
  344. package/lib/util/requestAssertions.js +0 -157
  345. /package/{index.d.ts → dist/index.d.ts} +0 -0
  346. /package/{index.js → dist/index.js} +0 -0
  347. /package/{lib → dist/lib}/api/controllers/baseController.d.ts +0 -0
  348. /package/{lib → dist/lib}/api/controllers/baseController.js +0 -0
  349. /package/{lib → dist/lib}/api/controllers/debugController.d.ts +0 -0
  350. /package/{lib → dist/lib}/api/controllers/debugController.js +0 -0
  351. /package/{lib → dist/lib}/api/openapi/OpenApiManager.d.ts +0 -0
  352. /package/{lib → dist/lib}/api/openapi/OpenApiManager.js +0 -0
  353. /package/{lib → dist/lib}/api/openapi/index.d.ts +0 -0
  354. /package/{lib → dist/lib}/api/openapi/index.js +0 -0
  355. /package/{lib → dist/lib}/api/openapi/openApiGenerator.d.ts +0 -0
  356. /package/{lib → dist/lib}/api/openapi/openApiGenerator.js +0 -0
  357. /package/{lib → dist/lib}/api/request/index.d.ts +0 -0
  358. /package/{lib → dist/lib}/api/request/index.js +0 -0
  359. /package/{lib → dist/lib}/api/request/kuzzleRequest.js +0 -0
  360. /package/{lib → dist/lib}/api/request/requestContext.js +0 -0
  361. /package/{lib → dist/lib}/api/request/requestInput.d.ts +0 -0
  362. /package/{lib → dist/lib}/api/request/requestInput.js +0 -0
  363. /package/{lib → dist/lib}/api/request/requestResponse.d.ts +0 -0
  364. /package/{lib → dist/lib}/api/request/requestResponse.js +0 -0
  365. /package/{lib → dist/lib}/cluster/idCardHandler.d.ts +0 -0
  366. /package/{lib → dist/lib}/cluster/idCardHandler.js +0 -0
  367. /package/{lib → dist/lib}/cluster/protobuf/command.proto +0 -0
  368. /package/{lib → dist/lib}/cluster/protobuf/sync.proto +0 -0
  369. /package/{lib → dist/lib}/cluster/state.d.ts +0 -0
  370. /package/{lib → dist/lib}/cluster/state.js +0 -0
  371. /package/{lib → dist/lib}/config/default.config.d.ts +0 -0
  372. /package/{lib → dist/lib}/config/default.config.js +0 -0
  373. /package/{lib → dist/lib}/config/documentEventAliases.js +0 -0
  374. /package/{lib → dist/lib}/core/auth/tokenManager.d.ts +0 -0
  375. /package/{lib → dist/lib}/core/auth/tokenManager.js +0 -0
  376. /package/{lib → dist/lib}/core/backend/applicationManager.d.ts +0 -0
  377. /package/{lib → dist/lib}/core/backend/applicationManager.js +0 -0
  378. /package/{lib → dist/lib}/core/backend/backend.d.ts +0 -0
  379. /package/{lib → dist/lib}/core/backend/backend.js +0 -0
  380. /package/{lib → dist/lib}/core/backend/backendCluster.d.ts +0 -0
  381. /package/{lib → dist/lib}/core/backend/backendCluster.js +0 -0
  382. /package/{lib → dist/lib}/core/backend/backendConfig.d.ts +0 -0
  383. /package/{lib → dist/lib}/core/backend/backendController.d.ts +0 -0
  384. /package/{lib → dist/lib}/core/backend/backendController.js +0 -0
  385. /package/{lib → dist/lib}/core/backend/backendErrors.d.ts +0 -0
  386. /package/{lib → dist/lib}/core/backend/backendHook.d.ts +0 -0
  387. /package/{lib → dist/lib}/core/backend/backendHook.js +0 -0
  388. /package/{lib → dist/lib}/core/backend/backendImport.d.ts +0 -0
  389. /package/{lib → dist/lib}/core/backend/backendImport.js +0 -0
  390. /package/{lib → dist/lib}/core/backend/backendOpenApi.d.ts +0 -0
  391. /package/{lib → dist/lib}/core/backend/backendOpenApi.js +0 -0
  392. /package/{lib → dist/lib}/core/backend/backendPipe.d.ts +0 -0
  393. /package/{lib → dist/lib}/core/backend/backendPipe.js +0 -0
  394. /package/{lib → dist/lib}/core/backend/backendPlugin.d.ts +0 -0
  395. /package/{lib → dist/lib}/core/backend/backendPlugin.js +0 -0
  396. /package/{lib → dist/lib}/core/backend/backendStorage.d.ts +0 -0
  397. /package/{lib → dist/lib}/core/backend/backendStorage.js +0 -0
  398. /package/{lib → dist/lib}/core/backend/backendSubscription.d.ts +0 -0
  399. /package/{lib → dist/lib}/core/backend/backendSubscription.js +0 -0
  400. /package/{lib → dist/lib}/core/backend/backendVault.d.ts +0 -0
  401. /package/{lib → dist/lib}/core/backend/backendVault.js +0 -0
  402. /package/{lib → dist/lib}/core/backend/index.d.ts +0 -0
  403. /package/{lib → dist/lib}/core/backend/index.js +0 -0
  404. /package/{lib → dist/lib}/core/backend/internalLogger.d.ts +0 -0
  405. /package/{lib → dist/lib}/core/backend/internalLogger.js +0 -0
  406. /package/{lib → dist/lib}/core/cache/cacheDbEnum.d.ts +0 -0
  407. /package/{lib → dist/lib}/core/cache/cacheDbEnum.js +0 -0
  408. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.d.ts +0 -0
  409. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.js +0 -0
  410. /package/{lib → dist/lib}/core/plugin/pluginContext.d.ts +0 -0
  411. /package/{lib → dist/lib}/core/realtime/channel.d.ts +0 -0
  412. /package/{lib → dist/lib}/core/realtime/channel.js +0 -0
  413. /package/{lib → dist/lib}/core/realtime/connectionRooms.d.ts +0 -0
  414. /package/{lib → dist/lib}/core/realtime/connectionRooms.js +0 -0
  415. /package/{lib → dist/lib}/core/realtime/hotelClerk.d.ts +0 -0
  416. /package/{lib → dist/lib}/core/realtime/hotelClerk.js +0 -0
  417. /package/{lib → dist/lib}/core/realtime/room.d.ts +0 -0
  418. /package/{lib → dist/lib}/core/realtime/room.js +0 -0
  419. /package/{lib → dist/lib}/core/realtime/subscription.d.ts +0 -0
  420. /package/{lib → dist/lib}/core/realtime/subscription.js +0 -0
  421. /package/{lib → dist/lib}/core/security/profileRepository.d.ts +0 -0
  422. /package/{lib → dist/lib}/core/security/profileRepository.js +0 -0
  423. /package/{lib → dist/lib}/core/security/tokenRepository.d.ts +0 -0
  424. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.d.ts +0 -0
  425. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.js +0 -0
  426. /package/{lib → dist/lib}/core/shared/ObjectRepository.d.ts +0 -0
  427. /package/{lib → dist/lib}/core/shared/ObjectRepository.js +0 -0
  428. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.d.ts +0 -0
  429. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.js +0 -0
  430. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.d.ts +0 -0
  431. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.js +0 -0
  432. /package/{lib → dist/lib}/core/shared/store.js +0 -0
  433. /package/{lib → dist/lib}/core/storage/indexCache.d.ts +0 -0
  434. /package/{lib → dist/lib}/core/storage/indexCache.js +0 -0
  435. /package/{lib → dist/lib}/core/storage/storeScopeEnum.d.ts +0 -0
  436. /package/{lib → dist/lib}/core/storage/storeScopeEnum.js +0 -0
  437. /package/{lib → dist/lib}/kerror/errors/badRequestError.d.ts +0 -0
  438. /package/{lib → dist/lib}/kerror/errors/badRequestError.js +0 -0
  439. /package/{lib → dist/lib}/kerror/errors/externalServiceError.d.ts +0 -0
  440. /package/{lib → dist/lib}/kerror/errors/externalServiceError.js +0 -0
  441. /package/{lib → dist/lib}/kerror/errors/forbiddenError.d.ts +0 -0
  442. /package/{lib → dist/lib}/kerror/errors/forbiddenError.js +0 -0
  443. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.d.ts +0 -0
  444. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.js +0 -0
  445. /package/{lib → dist/lib}/kerror/errors/index.d.ts +0 -0
  446. /package/{lib → dist/lib}/kerror/errors/index.js +0 -0
  447. /package/{lib → dist/lib}/kerror/errors/internalError.d.ts +0 -0
  448. /package/{lib → dist/lib}/kerror/errors/internalError.js +0 -0
  449. /package/{lib → dist/lib}/kerror/errors/kuzzleError.d.ts +0 -0
  450. /package/{lib → dist/lib}/kerror/errors/kuzzleError.js +0 -0
  451. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.d.ts +0 -0
  452. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.js +0 -0
  453. /package/{lib → dist/lib}/kerror/errors/notFoundError.d.ts +0 -0
  454. /package/{lib → dist/lib}/kerror/errors/notFoundError.js +0 -0
  455. /package/{lib → dist/lib}/kerror/errors/partialError.d.ts +0 -0
  456. /package/{lib → dist/lib}/kerror/errors/partialError.js +0 -0
  457. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.d.ts +0 -0
  458. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.js +0 -0
  459. /package/{lib → dist/lib}/kerror/errors/preconditionError.d.ts +0 -0
  460. /package/{lib → dist/lib}/kerror/errors/preconditionError.js +0 -0
  461. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.d.ts +0 -0
  462. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.js +0 -0
  463. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.d.ts +0 -0
  464. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.js +0 -0
  465. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.d.ts +0 -0
  466. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.js +0 -0
  467. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.d.ts +0 -0
  468. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.js +0 -0
  469. /package/{lib → dist/lib}/kerror/index.js +0 -0
  470. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.d.ts +0 -0
  471. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.js +0 -0
  472. /package/{lib → dist/lib}/kuzzle/index.d.ts +0 -0
  473. /package/{lib → dist/lib}/kuzzle/index.js +0 -0
  474. /package/{lib → dist/lib}/model/security/profile.d.ts +0 -0
  475. /package/{lib → dist/lib}/model/security/profile.js +0 -0
  476. /package/{lib → dist/lib}/model/security/role.js +0 -0
  477. /package/{lib → dist/lib}/model/security/token.d.ts +0 -0
  478. /package/{lib → dist/lib}/model/security/token.js +0 -0
  479. /package/{lib → dist/lib}/model/security/user.js +0 -0
  480. /package/{lib → dist/lib}/service/storage/8/elasticsearch.d.ts +0 -0
  481. /package/{lib → dist/lib}/service/storage/Elasticsearch.d.ts +0 -0
  482. /package/{lib → dist/lib}/service/storage/Elasticsearch.js +0 -0
  483. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.d.ts +0 -0
  484. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.js +0 -0
  485. /package/{lib → dist/lib}/types/ClientConnection.d.ts +0 -0
  486. /package/{lib → dist/lib}/types/ClientConnection.js +0 -0
  487. /package/{lib → dist/lib}/types/Deprecation.d.ts +0 -0
  488. /package/{lib → dist/lib}/types/Deprecation.js +0 -0
  489. /package/{lib → dist/lib}/types/EventHandler.d.ts +0 -0
  490. /package/{lib → dist/lib}/types/EventHandler.js +0 -0
  491. /package/{lib → dist/lib}/types/Global.d.ts +0 -0
  492. /package/{lib → dist/lib}/types/Global.js +0 -0
  493. /package/{lib → dist/lib}/types/HttpMessage.d.ts +0 -0
  494. /package/{lib → dist/lib}/types/HttpMessage.js +0 -0
  495. /package/{lib → dist/lib}/types/HttpStream.d.ts +0 -0
  496. /package/{lib → dist/lib}/types/HttpStream.js +0 -0
  497. /package/{lib → dist/lib}/types/Kuzzle.d.ts +0 -0
  498. /package/{lib → dist/lib}/types/Kuzzle.js +0 -0
  499. /package/{lib → dist/lib}/types/KuzzleDocument.d.ts +0 -0
  500. /package/{lib → dist/lib}/types/KuzzleDocument.js +0 -0
  501. /package/{lib → dist/lib}/types/OpenApiDefinition.d.ts +0 -0
  502. /package/{lib → dist/lib}/types/OpenApiDefinition.js +0 -0
  503. /package/{lib → dist/lib}/types/PasswordPolicy.d.ts +0 -0
  504. /package/{lib → dist/lib}/types/PasswordPolicy.js +0 -0
  505. /package/{lib → dist/lib}/types/Plugin.js +0 -0
  506. /package/{lib → dist/lib}/types/PluginManifest.d.ts +0 -0
  507. /package/{lib → dist/lib}/types/PluginManifest.js +0 -0
  508. /package/{lib → dist/lib}/types/Policy.d.ts +0 -0
  509. /package/{lib → dist/lib}/types/Policy.js +0 -0
  510. /package/{lib → dist/lib}/types/PolicyRestrictions.d.ts +0 -0
  511. /package/{lib → dist/lib}/types/PolicyRestrictions.js +0 -0
  512. /package/{lib → dist/lib}/types/ProfileDefinition.d.ts +0 -0
  513. /package/{lib → dist/lib}/types/ProfileDefinition.js +0 -0
  514. /package/{lib → dist/lib}/types/RoleDefinition.d.ts +0 -0
  515. /package/{lib → dist/lib}/types/RoleDefinition.js +0 -0
  516. /package/{lib → dist/lib}/types/StrategyDefinition.d.ts +0 -0
  517. /package/{lib → dist/lib}/types/StrategyDefinition.js +0 -0
  518. /package/{lib → dist/lib}/types/Target.d.ts +0 -0
  519. /package/{lib → dist/lib}/types/Target.js +0 -0
  520. /package/{lib → dist/lib}/types/Token.d.ts +0 -0
  521. /package/{lib → dist/lib}/types/Token.js +0 -0
  522. /package/{lib → dist/lib}/types/User.d.ts +0 -0
  523. /package/{lib → dist/lib}/types/User.js +0 -0
  524. /package/{lib → dist/lib}/types/config/DumpConfiguration.d.ts +0 -0
  525. /package/{lib → dist/lib}/types/config/DumpConfiguration.js +0 -0
  526. /package/{lib → dist/lib}/types/config/HttpConfiguration.d.ts +0 -0
  527. /package/{lib → dist/lib}/types/config/HttpConfiguration.js +0 -0
  528. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.d.ts +0 -0
  529. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.js +0 -0
  530. /package/{lib → dist/lib}/types/config/LimitsConfiguration.d.ts +0 -0
  531. /package/{lib → dist/lib}/types/config/LimitsConfiguration.js +0 -0
  532. /package/{lib → dist/lib}/types/config/PluginsConfiguration.d.ts +0 -0
  533. /package/{lib → dist/lib}/types/config/PluginsConfiguration.js +0 -0
  534. /package/{lib → dist/lib}/types/config/SecurityConfiguration.d.ts +0 -0
  535. /package/{lib → dist/lib}/types/config/SecurityConfiguration.js +0 -0
  536. /package/{lib → dist/lib}/types/config/ServerConfiguration.d.ts +0 -0
  537. /package/{lib → dist/lib}/types/config/ServerConfiguration.js +0 -0
  538. /package/{lib → dist/lib}/types/config/ServicesConfiguration.d.ts +0 -0
  539. /package/{lib → dist/lib}/types/config/ServicesConfiguration.js +0 -0
  540. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +0 -0
  541. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.js +0 -0
  542. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +0 -0
  543. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.js +0 -0
  544. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +0 -0
  545. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.js +0 -0
  546. /package/{lib/types → dist/lib/types/controllers}/Controller.js +0 -0
  547. /package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.js +0 -0
  548. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.d.ts +0 -0
  549. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.js +0 -0
  550. /package/{lib → dist/lib}/types/errors/ErrorDefinition.d.ts +0 -0
  551. /package/{lib → dist/lib}/types/errors/ErrorDefinition.js +0 -0
  552. /package/{lib → dist/lib}/types/errors/ErrorDomains.d.ts +0 -0
  553. /package/{lib → dist/lib}/types/errors/ErrorDomains.js +0 -0
  554. /package/{lib → dist/lib}/types/events/EventGenericDocument.d.ts +0 -0
  555. /package/{lib → dist/lib}/types/events/EventGenericDocument.js +0 -0
  556. /package/{lib → dist/lib}/types/events/EventProtocol.d.ts +0 -0
  557. /package/{lib → dist/lib}/types/events/EventProtocol.js +0 -0
  558. /package/{lib → dist/lib}/types/realtime/RealtimeScope.d.ts +0 -0
  559. /package/{lib → dist/lib}/types/realtime/RealtimeScope.js +0 -0
  560. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.d.ts +0 -0
  561. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.js +0 -0
  562. /package/{lib → dist/lib}/types/realtime/RoomList.d.ts +0 -0
  563. /package/{lib → dist/lib}/types/realtime/RoomList.js +0 -0
  564. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.d.ts +0 -0
  565. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.js +0 -0
  566. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.d.ts +0 -0
  567. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.js +0 -0
  568. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.d.ts +0 -0
  569. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.js +0 -0
  570. /package/{lib → dist/lib}/util/Inflector.d.ts +0 -0
  571. /package/{lib → dist/lib}/util/Inflector.js +0 -0
  572. /package/{lib → dist/lib}/util/array.d.ts +0 -0
  573. /package/{lib → dist/lib}/util/array.js +0 -0
  574. /package/{lib → dist/lib}/util/async.d.ts +0 -0
  575. /package/{lib → dist/lib}/util/async.js +0 -0
  576. /package/{lib → dist/lib}/util/bufferedPassThrough.d.ts +0 -0
  577. /package/{lib → dist/lib}/util/bufferedPassThrough.js +0 -0
  578. /package/{lib → dist/lib}/util/crypto.d.ts +0 -0
  579. /package/{lib → dist/lib}/util/crypto.js +0 -0
  580. /package/{lib → dist/lib}/util/dump-collection.d.ts +0 -0
  581. /package/{lib → dist/lib}/util/dump-collection.js +0 -0
  582. /package/{lib → dist/lib}/util/esRequest.d.ts +0 -0
  583. /package/{lib → dist/lib}/util/esRequest.js +0 -0
  584. /package/{lib → dist/lib}/util/koncordeCompat.d.ts +0 -0
  585. /package/{lib → dist/lib}/util/koncordeCompat.js +0 -0
  586. /package/{lib → dist/lib}/util/mutex.d.ts +0 -0
  587. /package/{lib → dist/lib}/util/mutex.js +0 -0
  588. /package/{lib → dist/lib}/util/name-generator.d.ts +0 -0
  589. /package/{lib → dist/lib}/util/name-generator.js +0 -0
  590. /package/{lib → dist/lib}/util/time.d.ts +0 -0
  591. /package/{lib → dist/lib}/util/time.js +0 -0
@@ -0,0 +1,82 @@
1
+ export = ServerController;
2
+ /**
3
+ * @class ServerController
4
+ */
5
+ declare class ServerController extends NativeController {
6
+ constructor();
7
+ _info: {
8
+ elasticsearch: any;
9
+ redis: any;
10
+ };
11
+ /**
12
+ * Init ServerController
13
+ * Used to perform asynchronous initialization safely: the funnel will wait
14
+ * for all controllers to be initialized before accepting requests.
15
+ *
16
+ * @returns {Promise}
17
+ */
18
+ init(): Promise<any>;
19
+ /**
20
+ * Returns the statistics frame from a date
21
+ *
22
+ * @param {Request} request
23
+ * @returns {Promise<Object>}
24
+ *
25
+ * @deprecated
26
+ */
27
+ getStats(request: Request): Promise<any>;
28
+ /**
29
+ * Returns the last statistics frame
30
+ *
31
+ * @returns {Promise<Object>}
32
+ *
33
+ * @deprecated
34
+ */
35
+ getLastStats(): Promise<any>;
36
+ /**
37
+ * Returns all stored statistics frames
38
+ *
39
+ * @returns {Promise<Object>}
40
+ *
41
+ * @deprecated
42
+ */
43
+ getAllStats(): Promise<any>;
44
+ /**
45
+ * Returns the Kuzzle configuration
46
+ *
47
+ * @returns {Promise<Object>}
48
+ */
49
+ getConfig(): Promise<any>;
50
+ /**
51
+ * Returns the Kuzzle capabilities
52
+ * @returns {Promise<Object>}
53
+ */
54
+ capabilities(): Promise<any>;
55
+ /**
56
+ * Checks if an admin user Exists
57
+ *
58
+ * @returns {Promise<Object>}
59
+ */
60
+ adminExists(): Promise<any>;
61
+ /**
62
+ * @returns {Promise<Object>}
63
+ */
64
+ now(): Promise<any>;
65
+ /**
66
+ * @returns {Promise<Object>}
67
+ */
68
+ healthCheck(request: any): Promise<any>;
69
+ /**
70
+ * @returns {Promise<Object>}
71
+ */
72
+ info(): Promise<any>;
73
+ publicApi(): Promise<{}>;
74
+ openapi(request: any): Promise<any>;
75
+ /**
76
+ * Fetches and returns Kuzzle core metrics
77
+ * @returns {Promise<Object>}
78
+ */
79
+ metrics(): Promise<any>;
80
+ _buildApiDefinition(controllers: any, httpRoutes: any): {};
81
+ }
82
+ import { NativeController } from "./baseController";
@@ -0,0 +1,321 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ const os = require("os");
23
+ const jsonToYaml = require("json2yaml");
24
+ const packagejson = require("../../../package.json");
25
+ const { NativeController } = require("./baseController");
26
+ const kerror = require("../../kerror");
27
+ /**
28
+ * @class ServerController
29
+ */
30
+ class ServerController extends NativeController {
31
+ constructor() {
32
+ super([
33
+ "adminExists",
34
+ "capabilities",
35
+ "getAllStats",
36
+ "getConfig",
37
+ "getLastStats",
38
+ "getStats",
39
+ "healthCheck",
40
+ "info",
41
+ "metrics",
42
+ "now",
43
+ "publicApi",
44
+ "openapi",
45
+ ]);
46
+ this._info = {
47
+ elasticsearch: null,
48
+ redis: null,
49
+ };
50
+ }
51
+ /**
52
+ * Init ServerController
53
+ * Used to perform asynchronous initialization safely: the funnel will wait
54
+ * for all controllers to be initialized before accepting requests.
55
+ *
56
+ * @returns {Promise}
57
+ */
58
+ async init() {
59
+ const [storageInfo, cacheInfo] = await Promise.all([
60
+ global.kuzzle.ask("core:storage:public:info:get"),
61
+ global.kuzzle.ask("core:cache:public:info:get"),
62
+ ]);
63
+ this._info.elasticsearch = storageInfo;
64
+ this._info.redis = cacheInfo;
65
+ }
66
+ /**
67
+ * Returns the statistics frame from a date
68
+ *
69
+ * @param {Request} request
70
+ * @returns {Promise<Object>}
71
+ *
72
+ * @deprecated
73
+ */
74
+ getStats(request) {
75
+ return global.kuzzle.statistics.getStats(request);
76
+ }
77
+ /**
78
+ * Returns the last statistics frame
79
+ *
80
+ * @returns {Promise<Object>}
81
+ *
82
+ * @deprecated
83
+ */
84
+ getLastStats() {
85
+ return global.kuzzle.statistics.getLastStats();
86
+ }
87
+ /**
88
+ * Returns all stored statistics frames
89
+ *
90
+ * @returns {Promise<Object>}
91
+ *
92
+ * @deprecated
93
+ */
94
+ getAllStats() {
95
+ return global.kuzzle.statistics.getAllStats();
96
+ }
97
+ /**
98
+ * Returns the Kuzzle configuration
99
+ *
100
+ * @returns {Promise<Object>}
101
+ */
102
+ async getConfig() {
103
+ const config = JSON.parse(JSON.stringify(global.kuzzle.config));
104
+ // Already and more appropriately returned by server:info
105
+ config.http.routes = undefined;
106
+ // Not a good idea to export Kuzzle's salt, hash algorithm
107
+ // and default rights
108
+ config.security = undefined;
109
+ if (config.VAULT_KEY) {
110
+ config.VAULT_KEY = undefined;
111
+ }
112
+ return config;
113
+ }
114
+ /**
115
+ * Returns the Kuzzle capabilities
116
+ * @returns {Promise<Object>}
117
+ */
118
+ async capabilities() {
119
+ const config = JSON.parse(JSON.stringify(global.kuzzle.config));
120
+ const publicApi = await this.publicApi();
121
+ const services = {};
122
+ const plugins = {};
123
+ for (const plugin of config.plugins.common.include) {
124
+ plugins[plugin] = {
125
+ version: packagejson.dependencies[plugin],
126
+ };
127
+ }
128
+ for (const [name, info] of Object.entries(config.services)) {
129
+ if (info.backend !== undefined) {
130
+ services[name] = {
131
+ backend: info.backend,
132
+ version: this._info[info.backend].version,
133
+ };
134
+ }
135
+ }
136
+ return {
137
+ limits: config.limits,
138
+ plugins: plugins,
139
+ routes: publicApi,
140
+ services: services,
141
+ version: config.version,
142
+ };
143
+ }
144
+ /**
145
+ * Checks if an admin user Exists
146
+ *
147
+ * @returns {Promise<Object>}
148
+ */
149
+ async adminExists() {
150
+ const exists = await global.kuzzle.ask("core:security:user:admin:exist");
151
+ return { exists };
152
+ }
153
+ /**
154
+ * @returns {Promise<Object>}
155
+ */
156
+ async now() {
157
+ return { now: Date.now() };
158
+ }
159
+ /**
160
+ * @returns {Promise<Object>}
161
+ */
162
+ async healthCheck(request) {
163
+ const getServiceUnavailableError = (err) => kerror.get("core", "fatal", "service_unavailable", err);
164
+ const result = { services: {}, status: "green" };
165
+ let services;
166
+ if (typeof request.input.args.services === "string") {
167
+ // @deprecated Should be replaced with request.getArray('services')
168
+ services = request.getArrayLegacy("services");
169
+ }
170
+ if (!services || services.includes("internalCache")) {
171
+ try {
172
+ await global.kuzzle.ask("core:cache:internal:info:get");
173
+ result.services.internalCache = "green";
174
+ }
175
+ catch (error) {
176
+ request.setError(getServiceUnavailableError(error));
177
+ result.services.internalCache = "red";
178
+ result.status = "red";
179
+ }
180
+ }
181
+ if (!services || services.includes("memoryStorage")) {
182
+ try {
183
+ await global.kuzzle.ask("core:cache:public:info:get");
184
+ result.services.memoryStorage = "green";
185
+ }
186
+ catch (error) {
187
+ request.setError(getServiceUnavailableError(error));
188
+ result.services.memoryStorage = "red";
189
+ result.status = "red";
190
+ }
191
+ }
192
+ if (!services || services.includes("storageEngine")) {
193
+ try {
194
+ const response = await global.kuzzle.ask("core:storage:public:info:get");
195
+ if (response.status !== "yellow" && response.status !== "green") {
196
+ throw new Error(`ElasticSearch is down: ${JSON.stringify(response)}`);
197
+ }
198
+ result.services.storageEngine = "green";
199
+ }
200
+ catch (error) {
201
+ request.setError(getServiceUnavailableError(error));
202
+ result.services.storageEngine = "red";
203
+ result.status = "red";
204
+ }
205
+ }
206
+ return result;
207
+ }
208
+ /**
209
+ * @returns {Promise<Object>}
210
+ */
211
+ async info() {
212
+ const response = {
213
+ kuzzle: {
214
+ api: {
215
+ routes: {},
216
+ },
217
+ application: {},
218
+ memoryUsed: process.memoryUsage().rss,
219
+ nodeVersion: process.version,
220
+ plugins: {},
221
+ system: {
222
+ cpus: os.cpus(),
223
+ memory: {
224
+ free: os.freemem(),
225
+ total: os.totalmem(),
226
+ },
227
+ },
228
+ uptime: `${process.uptime()}s`,
229
+ version: global.kuzzle.config.version,
230
+ },
231
+ services: {},
232
+ };
233
+ const kuzzleApi = this._buildApiDefinition(global.kuzzle.funnel.controllers, global.kuzzle.config.http.routes);
234
+ const pluginsApi = this._buildApiDefinition(global.kuzzle.pluginsManager.controllers, global.kuzzle.pluginsManager.routes);
235
+ const apiDefinition = Object.assign({}, kuzzleApi, pluginsApi);
236
+ // @todo kuzzle.api should contain the apiDefinition directly
237
+ response.kuzzle.api.routes = apiDefinition;
238
+ response.kuzzle.plugins =
239
+ global.kuzzle.pluginsManager.getPluginsDescription();
240
+ response.kuzzle.application =
241
+ global.kuzzle.pluginsManager.application.info();
242
+ response.services = {
243
+ internalCache: await global.kuzzle.ask("core:cache:internal:info:get"),
244
+ internalStorage: await global.kuzzle.ask("core:storage:private:info:get"),
245
+ memoryStorage: await global.kuzzle.ask("core:cache:public:info:get"),
246
+ publicStorage: await global.kuzzle.ask("core:storage:public:info:get"),
247
+ };
248
+ return {
249
+ serverInfo: response,
250
+ };
251
+ }
252
+ async publicApi() {
253
+ const kuzzleApi = this._buildApiDefinition(global.kuzzle.funnel.controllers, global.kuzzle.config.http.routes);
254
+ const pluginsApi = this._buildApiDefinition(global.kuzzle.pluginsManager.controllers, global.kuzzle.pluginsManager.routes);
255
+ return { ...kuzzleApi, ...pluginsApi };
256
+ }
257
+ async openapi(request) {
258
+ const format = request.getString("format", "json");
259
+ const scope = request.getString("scope", "kuzzle");
260
+ let definition;
261
+ if (scope === "kuzzle") {
262
+ definition = await global.kuzzle.ask("core:api:openapi:kuzzle");
263
+ }
264
+ else if (scope === "app") {
265
+ definition = await global.kuzzle.ask("core:api:openapi:app");
266
+ }
267
+ else {
268
+ throw kerror.get("api", "assert", "unexpected_argument", scope, [
269
+ "kuzzle",
270
+ "app",
271
+ ]);
272
+ }
273
+ request.response.configure({
274
+ format: "raw",
275
+ headers: { "Content-Type": `application/${format}` },
276
+ });
277
+ return format === "json" ? definition : jsonToYaml.stringify(definition);
278
+ }
279
+ /**
280
+ * Fetches and returns Kuzzle core metrics
281
+ * @returns {Promise<Object>}
282
+ */
283
+ async metrics() {
284
+ return {
285
+ api: await global.kuzzle.ask("kuzzle:api:funnel:metrics"),
286
+ network: await global.kuzzle.ask("core:network:router:metrics"),
287
+ realtime: await global.kuzzle.ask("core:realtime:hotelClerk:metrics"),
288
+ };
289
+ }
290
+ _buildApiDefinition(controllers, httpRoutes) {
291
+ const apiDefinition = {};
292
+ for (const [name, controller] of controllers.entries()) {
293
+ const actionList = {};
294
+ for (const action of controller._actions) {
295
+ actionList[action] = { action, controller: name };
296
+ // resolve associated http route for each actions
297
+ const routes = httpRoutes.filter((route) => {
298
+ return ((route.controller === name ||
299
+ (name === "memoryStorage" && route.controller === "ms")) &&
300
+ route.action === action);
301
+ });
302
+ for (const route of routes) {
303
+ if (!actionList[action].http) {
304
+ actionList[action].http = [];
305
+ }
306
+ actionList[action].http.push({
307
+ path: route.path,
308
+ url: route.path,
309
+ verb: route.verb.toUpperCase(),
310
+ });
311
+ }
312
+ }
313
+ if (Object.keys(actionList).length > 0) {
314
+ apiDefinition[name] = actionList;
315
+ }
316
+ }
317
+ return apiDefinition;
318
+ }
319
+ }
320
+ module.exports = ServerController;
321
+ //# sourceMappingURL=serverController.js.map
@@ -0,0 +1,9 @@
1
+ export = DocumentExtractor;
2
+ declare class DocumentExtractor {
3
+ constructor(request: any);
4
+ request: any;
5
+ extractMethod: any;
6
+ insertMethod: any;
7
+ extract(): any;
8
+ insert(documents: any): any;
9
+ }
@@ -0,0 +1,274 @@
1
+ /*
2
+ * Kuzzle, a backend software, self-hostable and ready to use
3
+ * to power modern apps
4
+ *
5
+ * Copyright 2015-2022 Kuzzle
6
+ * mailto: support AT kuzzle.io
7
+ * website: http://kuzzle.io
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * https://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ "use strict";
22
+ const kerror = require("../kerror");
23
+ const assertionError = kerror.wrap("api", "assert");
24
+ const extractors = [
25
+ {
26
+ methods: {
27
+ extractFromRequest: (request) => [
28
+ {
29
+ _id: request.input.args._id,
30
+ _source: request.input.body.fields,
31
+ },
32
+ ],
33
+ extractFromResult: (request) => [request.result],
34
+ insertInRequest: ([documents], request) => {
35
+ request.input.args._id = documents._id;
36
+ request.input.body.fields = documents._source;
37
+ return request;
38
+ },
39
+ insertInResult: ([document], request) => {
40
+ request.setResult(document, { status: request.status });
41
+ return request;
42
+ },
43
+ },
44
+ targets: ["deleteFields"],
45
+ },
46
+ {
47
+ methods: {
48
+ extractFromRequest: (request) => [{ _id: request.input.args._id }],
49
+ extractFromResult: (request) => [request.result],
50
+ insertInRequest: (documents, request) => {
51
+ request.input.args._id = documents[0] && documents[0]._id;
52
+ return request;
53
+ },
54
+ insertInResult: (documents, request) => {
55
+ request.setResult(documents[0], { status: request.status });
56
+ return request;
57
+ },
58
+ },
59
+ targets: ["delete", "get", "exists"],
60
+ },
61
+ {
62
+ methods: {
63
+ extractFromRequest: (request) => {
64
+ let ids = [];
65
+ if (request.input.body &&
66
+ request.input.body.ids &&
67
+ Object.keys(request.input.body.ids).length) {
68
+ ids = request.input.body.ids;
69
+ }
70
+ else if (request.input.args.ids) {
71
+ if (Array.isArray(request.input.args.ids)) {
72
+ ids = request.input.args.ids;
73
+ }
74
+ else if (typeof request.input.args.ids === "string") {
75
+ // @deprecated Should be replaced with request.getArray('ids')
76
+ ids = request.getArrayLegacy("ids");
77
+ }
78
+ else {
79
+ throw assertionError.get("invalid_type", request.input.args.ids, "Array or String");
80
+ }
81
+ }
82
+ return ids.map((_id) => ({ _id }));
83
+ },
84
+ extractFromResult: (request) => {
85
+ if (request.input.action === "mGet") {
86
+ return request.result.successes;
87
+ }
88
+ const documents = [];
89
+ for (let it = 0; it < request.result.successes.length; it++) {
90
+ documents.push({ _id: request.result.successes[it] });
91
+ }
92
+ return documents;
93
+ },
94
+ insertInRequest: (documents, request) => {
95
+ if (request.input.body && Object.keys(request.input.body).length) {
96
+ request.input.body.ids = documents.map((document) => document._id);
97
+ }
98
+ else {
99
+ request.input.args.ids = documents.map((document) => document._id);
100
+ }
101
+ return request;
102
+ },
103
+ insertInResult: (documents, request) => {
104
+ if (request.input.action === "mGet") {
105
+ request.setResult({
106
+ errors: request.result.errors,
107
+ successes: documents,
108
+ }, {
109
+ status: request.status,
110
+ });
111
+ return request;
112
+ }
113
+ const result = {
114
+ errors: request.result.errors,
115
+ successes: [],
116
+ };
117
+ for (let it = 0; it < documents.length; it++) {
118
+ result.successes.push(documents[it]._id);
119
+ }
120
+ request.setResult(result, { status: request.status });
121
+ return request;
122
+ },
123
+ },
124
+ targets: ["mDelete", "mGet", "mExists"],
125
+ },
126
+ {
127
+ methods: {
128
+ extractFromRequest: (request) => {
129
+ const documents = [];
130
+ for (let it = 0; it < request.input.body.documents.length; it++) {
131
+ const document = request.input.body.documents[it];
132
+ if (request.input.action === "mUpsert") {
133
+ documents.push({
134
+ _id: document._id,
135
+ _source: document.changes,
136
+ });
137
+ }
138
+ else {
139
+ documents.push({ _id: document._id, _source: document.body });
140
+ }
141
+ }
142
+ return documents;
143
+ },
144
+ extractFromResult: (request) => request.result.successes,
145
+ insertInRequest: (documents, request) => {
146
+ const tmpDocuments = request.input.body.documents;
147
+ request.input.body.documents = [];
148
+ for (let it = 0; it < documents.length; it++) {
149
+ const document = documents[it];
150
+ if (request.input.action === "mUpsert") {
151
+ request.input.body.documents.push({
152
+ _id: document._id,
153
+ changes: document._source,
154
+ default: tmpDocuments[it].default,
155
+ });
156
+ }
157
+ else {
158
+ request.input.body.documents.push({
159
+ _id: document._id,
160
+ body: document._source,
161
+ });
162
+ }
163
+ }
164
+ return request;
165
+ },
166
+ insertInResult: (documents, request) => {
167
+ const result = {
168
+ errors: request.result.errors,
169
+ successes: documents,
170
+ };
171
+ request.setResult(result, { status: request.status });
172
+ return request;
173
+ },
174
+ },
175
+ targets: [
176
+ "mCreate",
177
+ "mCreateOrReplace",
178
+ "mReplace",
179
+ "mUpdate",
180
+ "updateByQuery",
181
+ "mUpsert",
182
+ ],
183
+ },
184
+ {
185
+ methods: {
186
+ extractFromRequest: null, // not eligible for search queries
187
+ extractFromResult: (request) => {
188
+ return request.result.hits || request.result.documents;
189
+ },
190
+ insertInRequest: null, // not eligible for search queries
191
+ insertInResult: (documents, request) => {
192
+ if (request.input.action === "search") {
193
+ request.result.hits = documents;
194
+ }
195
+ else if (request.input.action === "deleteByQuery") {
196
+ request.result.documents = documents;
197
+ }
198
+ return request;
199
+ },
200
+ },
201
+ targets: ["search", "deleteByQuery", "export"],
202
+ },
203
+ {
204
+ methods: {
205
+ extractFromRequest: (request) => [
206
+ { _id: request.input.args._id, _source: request.input.body },
207
+ ],
208
+ extractFromResult: (request) => [request.result],
209
+ insertInRequest: (documents, request) => {
210
+ request.input.args._id = documents[0] && documents[0]._id;
211
+ request.input.body = documents[0] && documents[0]._source;
212
+ return request;
213
+ },
214
+ insertInResult: (documents, request) => {
215
+ request.setResult(documents[0], { status: request.status });
216
+ return request;
217
+ },
218
+ },
219
+ targets: ["create", "createOrReplace", "replace", "update"],
220
+ },
221
+ {
222
+ methods: {
223
+ extractFromRequest: (request) => [
224
+ {
225
+ _id: request.input.args._id,
226
+ _source: request.input.body.changes,
227
+ },
228
+ ],
229
+ extractFromResult: (request) => [request.result],
230
+ insertInRequest: ([document], request) => {
231
+ if (document) {
232
+ request.input.args._id = document._id;
233
+ request.input.body.changes = document._source;
234
+ }
235
+ return request;
236
+ },
237
+ insertInResult: ([document], request) => {
238
+ request.setResult(document, { status: request.status });
239
+ return request;
240
+ },
241
+ },
242
+ targets: ["upsert"],
243
+ },
244
+ ].reduce((acc, extractor) => {
245
+ extractor.targets.forEach((target) => {
246
+ acc[target] = extractor.methods;
247
+ });
248
+ return acc;
249
+ }, {});
250
+ class DocumentExtractor {
251
+ constructor(request) {
252
+ this.request = request;
253
+ const extractor = extractors[request.input.action];
254
+ if (extractor === undefined) {
255
+ throw kerror.get("core", "fatal", "assertion_failed", `no generic documents extractor for ${request.input.action}`);
256
+ }
257
+ if (request.result) {
258
+ this.extractMethod = extractor.extractFromResult;
259
+ this.insertMethod = extractor.insertInResult;
260
+ }
261
+ else {
262
+ this.extractMethod = extractor.extractFromRequest;
263
+ this.insertMethod = extractor.insertInRequest;
264
+ }
265
+ }
266
+ extract() {
267
+ return this.extractMethod(this.request);
268
+ }
269
+ insert(documents) {
270
+ return this.insertMethod(documents, this.request);
271
+ }
272
+ }
273
+ module.exports = DocumentExtractor;
274
+ //# sourceMappingURL=documentExtractor.js.map