kuzzle 2.49.1 → 2.50.0-beta.3

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 (592) hide show
  1. package/dist/bin/check-node-version.js +11 -0
  2. package/dist/bin/copy-protobuf.js +17 -0
  3. package/dist/lib/api/controllers/adminController.d.ts +51 -0
  4. package/dist/lib/api/controllers/adminController.js +191 -0
  5. package/{lib → dist/lib}/api/controllers/authController.d.ts +20 -40
  6. package/{lib → dist/lib}/api/controllers/authController.js +23 -24
  7. package/dist/lib/api/controllers/bulkController.d.ts +46 -0
  8. package/dist/lib/api/controllers/bulkController.js +132 -0
  9. package/dist/lib/api/controllers/clusterController.d.ts +6 -0
  10. package/{lib → dist/lib}/api/controllers/clusterController.js +7 -11
  11. package/dist/lib/api/controllers/collectionController.d.ts +136 -0
  12. package/dist/lib/api/controllers/collectionController.js +356 -0
  13. package/dist/lib/api/controllers/documentController.d.ts +181 -0
  14. package/dist/lib/api/controllers/documentController.js +768 -0
  15. package/dist/lib/api/controllers/index.d.ts +12 -0
  16. package/{lib → dist/lib}/api/controllers/index.js +13 -14
  17. package/dist/lib/api/controllers/indexController.d.ts +65 -0
  18. package/dist/lib/api/controllers/indexController.js +139 -0
  19. package/dist/lib/api/controllers/memoryStorageController.d.ts +8 -0
  20. package/dist/lib/api/controllers/memoryStorageController.js +867 -0
  21. package/dist/lib/api/controllers/realtimeController.d.ts +47 -0
  22. package/dist/lib/api/controllers/realtimeController.js +128 -0
  23. package/dist/lib/api/controllers/securityController.d.ts +423 -0
  24. package/dist/lib/api/controllers/securityController.js +1139 -0
  25. package/dist/lib/api/controllers/serverController.d.ts +82 -0
  26. package/dist/lib/api/controllers/serverController.js +321 -0
  27. package/dist/lib/api/documentExtractor.d.ts +9 -0
  28. package/dist/lib/api/documentExtractor.js +274 -0
  29. package/dist/lib/api/funnel.d.ts +183 -0
  30. package/dist/lib/api/funnel.js +821 -0
  31. package/dist/lib/api/httpRoutes.d.ts +17 -0
  32. package/dist/lib/api/httpRoutes.js +1496 -0
  33. package/dist/lib/api/rateLimiter.d.ts +18 -0
  34. package/dist/lib/api/rateLimiter.js +74 -0
  35. package/{lib → dist/lib}/api/request/kuzzleRequest.d.ts +2 -2
  36. package/{lib → dist/lib}/api/request/requestContext.d.ts +2 -1
  37. package/dist/lib/cluster/command.d.ts +73 -0
  38. package/dist/lib/cluster/command.js +236 -0
  39. package/dist/lib/cluster/index.d.ts +2 -0
  40. package/{lib → dist/lib}/cluster/index.js +1 -2
  41. package/dist/lib/cluster/node.d.ts +278 -0
  42. package/dist/lib/cluster/node.js +876 -0
  43. package/dist/lib/cluster/publisher.d.ts +188 -0
  44. package/dist/lib/cluster/publisher.js +347 -0
  45. package/dist/lib/cluster/subscriber.d.ts +269 -0
  46. package/dist/lib/cluster/subscriber.js +555 -0
  47. package/dist/lib/cluster/workers/IDCardRenewer.d.ts +13 -0
  48. package/dist/lib/cluster/workers/IDCardRenewer.js +120 -0
  49. package/{lib → dist/lib}/config/documentEventAliases.d.ts +1 -2
  50. package/dist/lib/config/index.d.ts +5 -0
  51. package/dist/lib/config/index.js +244 -0
  52. package/dist/lib/config/sdkCompatibility.json +9 -0
  53. package/dist/lib/core/auth/formatProcessing.d.ts +30 -0
  54. package/dist/lib/core/auth/formatProcessing.js +55 -0
  55. package/dist/lib/core/auth/passportResponse.d.ts +15 -0
  56. package/{lib → dist/lib}/core/auth/passportResponse.js +24 -30
  57. package/dist/lib/core/auth/passportWrapper.d.ts +28 -0
  58. package/dist/lib/core/auth/passportWrapper.js +126 -0
  59. package/{lib → dist/lib}/core/backend/backendConfig.js +2 -2
  60. package/{lib → dist/lib}/core/backend/backendErrors.js +9 -12
  61. package/dist/lib/core/cache/cacheEngine.d.ts +15 -0
  62. package/dist/lib/core/cache/cacheEngine.js +205 -0
  63. package/dist/lib/core/network/accessLogger.d.ts +29 -0
  64. package/dist/lib/core/network/accessLogger.js +250 -0
  65. package/dist/lib/core/network/clientConnection.d.ts +15 -0
  66. package/{lib → dist/lib}/core/network/clientConnection.js +17 -24
  67. package/dist/lib/core/network/context.d.ts +42 -0
  68. package/dist/lib/core/network/context.js +57 -0
  69. package/dist/lib/core/network/entryPoint.d.ts +62 -0
  70. package/dist/lib/core/network/entryPoint.js +261 -0
  71. package/dist/lib/core/network/httpRouter/index.d.ts +85 -0
  72. package/dist/lib/core/network/httpRouter/index.js +258 -0
  73. package/dist/lib/core/network/httpRouter/routeHandler.d.ts +46 -0
  74. package/dist/lib/core/network/httpRouter/routeHandler.js +101 -0
  75. package/dist/lib/core/network/httpRouter/routePart.d.ts +35 -0
  76. package/dist/lib/core/network/httpRouter/routePart.js +117 -0
  77. package/dist/lib/core/network/protocolManifest.d.ts +6 -0
  78. package/{lib → dist/lib}/core/network/protocolManifest.js +5 -9
  79. package/dist/lib/core/network/protocols/httpMessage.d.ts +22 -0
  80. package/dist/lib/core/network/protocols/httpMessage.js +62 -0
  81. package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +171 -0
  82. package/dist/lib/core/network/protocols/httpwsProtocol.js +921 -0
  83. package/dist/lib/core/network/protocols/internalProtocol.d.ts +27 -0
  84. package/dist/lib/core/network/protocols/internalProtocol.js +82 -0
  85. package/dist/lib/core/network/protocols/mqttProtocol.d.ts +39 -0
  86. package/dist/lib/core/network/protocols/mqttProtocol.js +219 -0
  87. package/dist/lib/core/network/protocols/protocol.d.ts +26 -0
  88. package/dist/lib/core/network/protocols/protocol.js +74 -0
  89. package/dist/lib/core/network/router.d.ts +49 -0
  90. package/dist/lib/core/network/router.js +193 -0
  91. package/dist/lib/core/plugin/plugin.d.ts +56 -0
  92. package/dist/lib/core/plugin/plugin.js +282 -0
  93. package/{lib → dist/lib}/core/plugin/pluginContext.js +2 -2
  94. package/dist/lib/core/plugin/pluginManifest.d.ts +5 -0
  95. package/{lib → dist/lib}/core/plugin/pluginManifest.js +16 -27
  96. package/dist/lib/core/plugin/pluginRepository.d.ts +53 -0
  97. package/dist/lib/core/plugin/pluginRepository.js +112 -0
  98. package/dist/lib/core/plugin/pluginsManager.d.ts +190 -0
  99. package/dist/lib/core/plugin/pluginsManager.js +817 -0
  100. package/dist/lib/core/plugin/privilegedContext.d.ts +14 -0
  101. package/{lib → dist/lib}/core/plugin/privilegedContext.js +10 -14
  102. package/dist/lib/core/realtime/actionEnum.d.ts +25 -0
  103. package/{lib → dist/lib}/core/realtime/actionEnum.js +7 -10
  104. package/dist/lib/core/realtime/index.d.ts +8 -0
  105. package/{lib → dist/lib}/core/realtime/index.js +9 -13
  106. package/dist/lib/core/realtime/notification/document.d.ts +34 -0
  107. package/dist/lib/core/realtime/notification/document.js +98 -0
  108. package/dist/lib/core/realtime/notification/index.d.ts +3 -0
  109. package/{lib → dist/lib}/core/realtime/notification/index.js +4 -5
  110. package/dist/lib/core/realtime/notification/server.d.ts +17 -0
  111. package/{lib → dist/lib}/core/realtime/notification/server.js +8 -10
  112. package/dist/lib/core/realtime/notification/user.d.ts +29 -0
  113. package/dist/lib/core/realtime/notification/user.js +66 -0
  114. package/dist/lib/core/realtime/notifier.d.ts +171 -0
  115. package/dist/lib/core/realtime/notifier.js +405 -0
  116. package/dist/lib/core/security/index.d.ts +14 -0
  117. package/{lib → dist/lib}/core/security/index.js +15 -19
  118. package/dist/lib/core/security/roleRepository.d.ts +143 -0
  119. package/dist/lib/core/security/roleRepository.js +445 -0
  120. package/dist/lib/core/security/securityLoader.d.ts +24 -0
  121. package/dist/lib/core/security/securityLoader.js +125 -0
  122. package/{lib → dist/lib}/core/security/tokenRepository.js +1 -1
  123. package/dist/lib/core/security/userRepository.d.ts +81 -0
  124. package/dist/lib/core/security/userRepository.js +346 -0
  125. package/dist/lib/core/shared/abstractManifest.d.ts +27 -0
  126. package/dist/lib/core/shared/abstractManifest.js +85 -0
  127. package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +7 -0
  128. package/dist/lib/core/shared/sdk/impersonatedSdk.js +80 -0
  129. package/{lib → dist/lib}/core/shared/store.d.ts +2 -2
  130. package/dist/lib/core/statistics/statistics.d.ts +94 -0
  131. package/dist/lib/core/statistics/statistics.js +287 -0
  132. package/dist/lib/core/storage/clientAdapter.d.ts +62 -0
  133. package/dist/lib/core/storage/clientAdapter.js +756 -0
  134. package/dist/lib/core/storage/storageEngine.d.ts +13 -0
  135. package/dist/lib/core/storage/storageEngine.js +52 -0
  136. package/dist/lib/core/validation/baseType.d.ts +35 -0
  137. package/dist/lib/core/validation/baseType.js +70 -0
  138. package/dist/lib/core/validation/types/anything.d.ts +10 -0
  139. package/{lib → dist/lib}/core/validation/types/anything.js +7 -10
  140. package/dist/lib/core/validation/types/boolean.d.ts +16 -0
  141. package/{lib → dist/lib}/core/validation/types/boolean.js +18 -23
  142. package/dist/lib/core/validation/types/date.d.ts +17 -0
  143. package/dist/lib/core/validation/types/date.js +215 -0
  144. package/dist/lib/core/validation/types/email.d.ts +17 -0
  145. package/dist/lib/core/validation/types/email.js +80 -0
  146. package/dist/lib/core/validation/types/enum.d.ts +17 -0
  147. package/dist/lib/core/validation/types/enum.js +70 -0
  148. package/dist/lib/core/validation/types/geoPoint.d.ts +17 -0
  149. package/{lib → dist/lib}/core/validation/types/geoPoint.js +19 -24
  150. package/dist/lib/core/validation/types/geoShape.d.ts +31 -0
  151. package/dist/lib/core/validation/types/geoShape.js +280 -0
  152. package/dist/lib/core/validation/types/integer.d.ts +7 -0
  153. package/{lib → dist/lib}/core/validation/types/integer.js +21 -27
  154. package/dist/lib/core/validation/types/ipAddress.d.ts +17 -0
  155. package/dist/lib/core/validation/types/ipAddress.js +73 -0
  156. package/dist/lib/core/validation/types/numeric.d.ts +17 -0
  157. package/dist/lib/core/validation/types/numeric.js +84 -0
  158. package/dist/lib/core/validation/types/object.d.ts +24 -0
  159. package/dist/lib/core/validation/types/object.js +74 -0
  160. package/dist/lib/core/validation/types/string.d.ts +17 -0
  161. package/dist/lib/core/validation/types/string.js +85 -0
  162. package/dist/lib/core/validation/types/url.d.ts +17 -0
  163. package/dist/lib/core/validation/types/url.js +73 -0
  164. package/dist/lib/core/validation/validation.d.ts +113 -0
  165. package/dist/lib/core/validation/validation.js +692 -0
  166. package/dist/lib/kerror/codes/0-core.json +194 -0
  167. package/dist/lib/kerror/codes/1-services.json +351 -0
  168. package/dist/lib/kerror/codes/2-api.json +195 -0
  169. package/dist/lib/kerror/codes/3-network.json +151 -0
  170. package/dist/lib/kerror/codes/4-plugin.json +498 -0
  171. package/dist/lib/kerror/codes/5-validation.json +158 -0
  172. package/dist/lib/kerror/codes/6-protocol.json +28 -0
  173. package/dist/lib/kerror/codes/7-security.json +283 -0
  174. package/dist/lib/kerror/codes/8-cluster.json +16 -0
  175. package/dist/lib/kerror/codes/index.d.ts +24 -0
  176. package/dist/lib/kerror/codes/index.js +140 -0
  177. package/{lib → dist/lib}/kerror/index.d.ts +5 -5
  178. package/{lib → dist/lib}/kuzzle/Logger.d.ts +6 -0
  179. package/{lib → dist/lib}/kuzzle/Logger.js +26 -5
  180. package/dist/lib/kuzzle/dumpGenerator.d.ts +14 -0
  181. package/dist/lib/kuzzle/dumpGenerator.js +180 -0
  182. package/dist/lib/kuzzle/event/pipeRunner.d.ts +30 -0
  183. package/dist/lib/kuzzle/event/pipeRunner.js +119 -0
  184. package/dist/lib/kuzzle/event/waterfall.d.ts +2 -0
  185. package/dist/lib/kuzzle/event/waterfall.js +90 -0
  186. package/dist/lib/kuzzle/internalIndexHandler.d.ts +186 -0
  187. package/dist/lib/kuzzle/internalIndexHandler.js +174 -0
  188. package/{lib → dist/lib}/kuzzle/kuzzle.d.ts +6 -7
  189. package/{lib → dist/lib}/kuzzle/kuzzle.js +5 -2
  190. package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +20 -0
  191. package/{lib → dist/lib}/kuzzle/kuzzleStateEnum.js +5 -8
  192. package/dist/lib/kuzzle/vault.d.ts +2 -0
  193. package/dist/lib/kuzzle/vault.js +63 -0
  194. package/dist/lib/model/security/rights.d.ts +8 -0
  195. package/{lib → dist/lib}/model/security/rights.js +4 -8
  196. package/{lib → dist/lib}/model/security/role.d.ts +1 -1
  197. package/{lib → dist/lib}/model/security/user.d.ts +1 -0
  198. package/dist/lib/model/storage/apiKey.d.ts +49 -0
  199. package/dist/lib/model/storage/apiKey.js +126 -0
  200. package/dist/lib/model/storage/baseModel.d.ts +100 -0
  201. package/dist/lib/model/storage/baseModel.js +211 -0
  202. package/dist/lib/service/cache/redis.d.ts +74 -0
  203. package/dist/lib/service/cache/redis.js +237 -0
  204. package/dist/lib/service/service.d.ts +30 -0
  205. package/dist/lib/service/service.js +74 -0
  206. package/{lib → dist/lib}/service/storage/7/elasticsearch.d.ts +2 -2
  207. package/{lib → dist/lib}/service/storage/7/elasticsearch.js +23 -25
  208. package/dist/lib/service/storage/7/esWrapper.d.ts +19 -0
  209. package/dist/lib/service/storage/7/esWrapper.js +245 -0
  210. package/{lib → dist/lib}/service/storage/8/elasticsearch.js +23 -25
  211. package/dist/lib/service/storage/8/esWrapper.d.ts +19 -0
  212. package/dist/lib/service/storage/8/esWrapper.js +245 -0
  213. package/{lib → dist/lib}/types/Plugin.d.ts +1 -1
  214. package/{lib/types → dist/lib/types/controllers}/Controller.d.ts +2 -2
  215. package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.d.ts +1 -1
  216. package/dist/lib/types/controllers/adminControlller.type.d.ts +5 -0
  217. package/dist/lib/types/controllers/adminControlller.type.js +3 -0
  218. package/dist/lib/types/controllers/authController.type.d.ts +5 -0
  219. package/dist/lib/types/controllers/authController.type.js +3 -0
  220. package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -0
  221. package/dist/lib/types/core/auth/formatProcessing.type.js +3 -0
  222. package/{lib → dist/lib}/types/index.d.ts +3 -3
  223. package/{lib → dist/lib}/types/index.js +3 -3
  224. package/dist/lib/util/assertType.d.ts +41 -0
  225. package/{lib → dist/lib}/util/assertType.js +38 -56
  226. package/dist/lib/util/asyncStore.d.ts +38 -0
  227. package/dist/lib/util/asyncStore.js +70 -0
  228. package/dist/lib/util/bytes.d.ts +2 -0
  229. package/dist/lib/util/bytes.js +33 -0
  230. package/dist/lib/util/debug.d.ts +2 -0
  231. package/{lib → dist/lib}/util/debug.js +15 -23
  232. package/dist/lib/util/deprecate.d.ts +1 -0
  233. package/dist/lib/util/deprecate.js +64 -0
  234. package/dist/lib/util/didYouMean.d.ts +2 -0
  235. package/{lib → dist/lib}/util/didYouMean.js +9 -15
  236. package/dist/lib/util/extractFields.d.ts +17 -0
  237. package/{lib → dist/lib}/util/extractFields.js +18 -32
  238. package/dist/lib/util/memoize.d.ts +7 -0
  239. package/{lib → dist/lib}/util/memoize.js +14 -21
  240. package/dist/lib/util/promback.d.ts +13 -0
  241. package/dist/lib/util/promback.js +60 -0
  242. package/dist/lib/util/requestAssertions.d.ts +10 -0
  243. package/dist/lib/util/requestAssertions.js +143 -0
  244. package/dist/lib/util/safeObject.d.ts +3 -0
  245. package/{lib → dist/lib}/util/safeObject.js +7 -13
  246. package/dist/lib/util/stackTrace.d.ts +19 -0
  247. package/{lib → dist/lib}/util/stackTrace.js +35 -41
  248. package/dist/lib/util/wildcard.d.ts +1 -0
  249. package/{lib → dist/lib}/util/wildcard.js +21 -30
  250. package/dist/package.json +120 -0
  251. package/package.json +45 -58
  252. package/bin/start-kuzzle-server +0 -126
  253. package/check-node-version.js +0 -17
  254. package/lib/api/controllers/adminController.js +0 -229
  255. package/lib/api/controllers/bulkController.js +0 -210
  256. package/lib/api/controllers/collectionController.js +0 -502
  257. package/lib/api/controllers/documentController.js +0 -1156
  258. package/lib/api/controllers/indexController.js +0 -179
  259. package/lib/api/controllers/memoryStorageController.js +0 -1023
  260. package/lib/api/controllers/realtimeController.js +0 -155
  261. package/lib/api/controllers/securityController.js +0 -1571
  262. package/lib/api/controllers/serverController.js +0 -381
  263. package/lib/api/documentExtractor.js +0 -309
  264. package/lib/api/funnel.js +0 -1143
  265. package/lib/api/httpRoutes.js +0 -1547
  266. package/lib/api/rateLimiter.js +0 -87
  267. package/lib/cluster/command.js +0 -284
  268. package/lib/cluster/node.js +0 -1203
  269. package/lib/cluster/publisher.js +0 -386
  270. package/lib/cluster/subscriber.js +0 -776
  271. package/lib/cluster/workers/IDCardRenewer.js +0 -144
  272. package/lib/config/index.js +0 -351
  273. package/lib/config/sdkCompatibility.json +0 -9
  274. package/lib/core/auth/formatProcessing.js +0 -66
  275. package/lib/core/auth/passportWrapper.js +0 -126
  276. package/lib/core/cache/cacheEngine.js +0 -278
  277. package/lib/core/network/accessLogger.js +0 -322
  278. package/lib/core/network/context.js +0 -80
  279. package/lib/core/network/entryPoint.js +0 -358
  280. package/lib/core/network/httpRouter/index.js +0 -316
  281. package/lib/core/network/httpRouter/routeHandler.js +0 -111
  282. package/lib/core/network/httpRouter/routePart.js +0 -147
  283. package/lib/core/network/protocols/httpMessage.js +0 -69
  284. package/lib/core/network/protocols/httpwsProtocol.js +0 -1254
  285. package/lib/core/network/protocols/internalProtocol.js +0 -109
  286. package/lib/core/network/protocols/mqttProtocol.js +0 -291
  287. package/lib/core/network/protocols/protocol.js +0 -102
  288. package/lib/core/network/router.js +0 -255
  289. package/lib/core/plugin/plugin.js +0 -436
  290. package/lib/core/plugin/pluginRepository.js +0 -132
  291. package/lib/core/plugin/pluginsManager.js +0 -1244
  292. package/lib/core/realtime/notification/document.js +0 -108
  293. package/lib/core/realtime/notification/user.js +0 -70
  294. package/lib/core/realtime/notifier.js +0 -541
  295. package/lib/core/security/README.md +0 -223
  296. package/lib/core/security/roleRepository.js +0 -569
  297. package/lib/core/security/securityLoader.js +0 -174
  298. package/lib/core/security/userRepository.js +0 -446
  299. package/lib/core/shared/README.md +0 -3
  300. package/lib/core/shared/abstractManifest.js +0 -102
  301. package/lib/core/shared/sdk/impersonatedSdk.js +0 -94
  302. package/lib/core/statistics/index.js +0 -24
  303. package/lib/core/statistics/statistics.js +0 -373
  304. package/lib/core/storage/clientAdapter.js +0 -1045
  305. package/lib/core/storage/storageEngine.js +0 -63
  306. package/lib/core/validation/baseType.js +0 -80
  307. package/lib/core/validation/index.js +0 -24
  308. package/lib/core/validation/types/date.js +0 -284
  309. package/lib/core/validation/types/email.js +0 -92
  310. package/lib/core/validation/types/enum.js +0 -100
  311. package/lib/core/validation/types/geoShape.js +0 -370
  312. package/lib/core/validation/types/ipAddress.js +0 -83
  313. package/lib/core/validation/types/numeric.js +0 -108
  314. package/lib/core/validation/types/object.js +0 -88
  315. package/lib/core/validation/types/string.js +0 -110
  316. package/lib/core/validation/types/url.js +0 -83
  317. package/lib/core/validation/validation.js +0 -1180
  318. package/lib/kerror/codes/0-core.json +0 -194
  319. package/lib/kerror/codes/1-services.json +0 -351
  320. package/lib/kerror/codes/2-api.json +0 -195
  321. package/lib/kerror/codes/3-network.json +0 -151
  322. package/lib/kerror/codes/4-plugin.json +0 -498
  323. package/lib/kerror/codes/5-validation.json +0 -158
  324. package/lib/kerror/codes/6-protocol.json +0 -28
  325. package/lib/kerror/codes/7-security.json +0 -283
  326. package/lib/kerror/codes/8-cluster.json +0 -16
  327. package/lib/kerror/codes/index.js +0 -208
  328. package/lib/kuzzle/dumpGenerator.js +0 -259
  329. package/lib/kuzzle/event/pipeRunner.js +0 -144
  330. package/lib/kuzzle/event/waterfall.js +0 -101
  331. package/lib/kuzzle/internalIndexHandler.js +0 -234
  332. package/lib/kuzzle/vault.js +0 -89
  333. package/lib/model/storage/apiKey.js +0 -158
  334. package/lib/model/storage/baseModel.js +0 -275
  335. package/lib/service/cache/redis.js +0 -282
  336. package/lib/service/service.js +0 -84
  337. package/lib/service/storage/7/esWrapper.js +0 -303
  338. package/lib/service/storage/8/esWrapper.js +0 -303
  339. package/lib/util/asyncStore.js +0 -112
  340. package/lib/util/bytes.js +0 -36
  341. package/lib/util/deprecate.js +0 -82
  342. package/lib/util/promback.js +0 -66
  343. package/lib/util/readYamlFile.d.ts +0 -2
  344. package/lib/util/readYamlFile.js +0 -10
  345. package/lib/util/requestAssertions.js +0 -157
  346. /package/{index.d.ts → dist/index.d.ts} +0 -0
  347. /package/{index.js → dist/index.js} +0 -0
  348. /package/{lib → dist/lib}/api/controllers/baseController.d.ts +0 -0
  349. /package/{lib → dist/lib}/api/controllers/baseController.js +0 -0
  350. /package/{lib → dist/lib}/api/controllers/debugController.d.ts +0 -0
  351. /package/{lib → dist/lib}/api/controllers/debugController.js +0 -0
  352. /package/{lib → dist/lib}/api/openapi/OpenApiManager.d.ts +0 -0
  353. /package/{lib → dist/lib}/api/openapi/OpenApiManager.js +0 -0
  354. /package/{lib → dist/lib}/api/openapi/index.d.ts +0 -0
  355. /package/{lib → dist/lib}/api/openapi/index.js +0 -0
  356. /package/{lib → dist/lib}/api/openapi/openApiGenerator.d.ts +0 -0
  357. /package/{lib → dist/lib}/api/openapi/openApiGenerator.js +0 -0
  358. /package/{lib → dist/lib}/api/request/index.d.ts +0 -0
  359. /package/{lib → dist/lib}/api/request/index.js +0 -0
  360. /package/{lib → dist/lib}/api/request/kuzzleRequest.js +0 -0
  361. /package/{lib → dist/lib}/api/request/requestContext.js +0 -0
  362. /package/{lib → dist/lib}/api/request/requestInput.d.ts +0 -0
  363. /package/{lib → dist/lib}/api/request/requestInput.js +0 -0
  364. /package/{lib → dist/lib}/api/request/requestResponse.d.ts +0 -0
  365. /package/{lib → dist/lib}/api/request/requestResponse.js +0 -0
  366. /package/{lib → dist/lib}/cluster/idCardHandler.d.ts +0 -0
  367. /package/{lib → dist/lib}/cluster/idCardHandler.js +0 -0
  368. /package/{lib → dist/lib}/cluster/protobuf/command.proto +0 -0
  369. /package/{lib → dist/lib}/cluster/protobuf/sync.proto +0 -0
  370. /package/{lib → dist/lib}/cluster/state.d.ts +0 -0
  371. /package/{lib → dist/lib}/cluster/state.js +0 -0
  372. /package/{lib → dist/lib}/config/default.config.d.ts +0 -0
  373. /package/{lib → dist/lib}/config/default.config.js +0 -0
  374. /package/{lib → dist/lib}/config/documentEventAliases.js +0 -0
  375. /package/{lib → dist/lib}/core/auth/tokenManager.d.ts +0 -0
  376. /package/{lib → dist/lib}/core/auth/tokenManager.js +0 -0
  377. /package/{lib → dist/lib}/core/backend/applicationManager.d.ts +0 -0
  378. /package/{lib → dist/lib}/core/backend/applicationManager.js +0 -0
  379. /package/{lib → dist/lib}/core/backend/backend.d.ts +0 -0
  380. /package/{lib → dist/lib}/core/backend/backend.js +0 -0
  381. /package/{lib → dist/lib}/core/backend/backendCluster.d.ts +0 -0
  382. /package/{lib → dist/lib}/core/backend/backendCluster.js +0 -0
  383. /package/{lib → dist/lib}/core/backend/backendConfig.d.ts +0 -0
  384. /package/{lib → dist/lib}/core/backend/backendController.d.ts +0 -0
  385. /package/{lib → dist/lib}/core/backend/backendController.js +0 -0
  386. /package/{lib → dist/lib}/core/backend/backendErrors.d.ts +0 -0
  387. /package/{lib → dist/lib}/core/backend/backendHook.d.ts +0 -0
  388. /package/{lib → dist/lib}/core/backend/backendHook.js +0 -0
  389. /package/{lib → dist/lib}/core/backend/backendImport.d.ts +0 -0
  390. /package/{lib → dist/lib}/core/backend/backendImport.js +0 -0
  391. /package/{lib → dist/lib}/core/backend/backendOpenApi.d.ts +0 -0
  392. /package/{lib → dist/lib}/core/backend/backendOpenApi.js +0 -0
  393. /package/{lib → dist/lib}/core/backend/backendPipe.d.ts +0 -0
  394. /package/{lib → dist/lib}/core/backend/backendPipe.js +0 -0
  395. /package/{lib → dist/lib}/core/backend/backendPlugin.d.ts +0 -0
  396. /package/{lib → dist/lib}/core/backend/backendPlugin.js +0 -0
  397. /package/{lib → dist/lib}/core/backend/backendStorage.d.ts +0 -0
  398. /package/{lib → dist/lib}/core/backend/backendStorage.js +0 -0
  399. /package/{lib → dist/lib}/core/backend/backendSubscription.d.ts +0 -0
  400. /package/{lib → dist/lib}/core/backend/backendSubscription.js +0 -0
  401. /package/{lib → dist/lib}/core/backend/backendVault.d.ts +0 -0
  402. /package/{lib → dist/lib}/core/backend/backendVault.js +0 -0
  403. /package/{lib → dist/lib}/core/backend/index.d.ts +0 -0
  404. /package/{lib → dist/lib}/core/backend/index.js +0 -0
  405. /package/{lib → dist/lib}/core/backend/internalLogger.d.ts +0 -0
  406. /package/{lib → dist/lib}/core/backend/internalLogger.js +0 -0
  407. /package/{lib → dist/lib}/core/cache/cacheDbEnum.d.ts +0 -0
  408. /package/{lib → dist/lib}/core/cache/cacheDbEnum.js +0 -0
  409. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.d.ts +0 -0
  410. /package/{lib → dist/lib}/core/debug/kuzzleDebugger.js +0 -0
  411. /package/{lib → dist/lib}/core/plugin/pluginContext.d.ts +0 -0
  412. /package/{lib → dist/lib}/core/realtime/channel.d.ts +0 -0
  413. /package/{lib → dist/lib}/core/realtime/channel.js +0 -0
  414. /package/{lib → dist/lib}/core/realtime/connectionRooms.d.ts +0 -0
  415. /package/{lib → dist/lib}/core/realtime/connectionRooms.js +0 -0
  416. /package/{lib → dist/lib}/core/realtime/hotelClerk.d.ts +0 -0
  417. /package/{lib → dist/lib}/core/realtime/hotelClerk.js +0 -0
  418. /package/{lib → dist/lib}/core/realtime/room.d.ts +0 -0
  419. /package/{lib → dist/lib}/core/realtime/room.js +0 -0
  420. /package/{lib → dist/lib}/core/realtime/subscription.d.ts +0 -0
  421. /package/{lib → dist/lib}/core/realtime/subscription.js +0 -0
  422. /package/{lib → dist/lib}/core/security/profileRepository.d.ts +0 -0
  423. /package/{lib → dist/lib}/core/security/profileRepository.js +0 -0
  424. /package/{lib → dist/lib}/core/security/tokenRepository.d.ts +0 -0
  425. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.d.ts +0 -0
  426. /package/{lib → dist/lib}/core/shared/KoncordeWrapper.js +0 -0
  427. /package/{lib → dist/lib}/core/shared/ObjectRepository.d.ts +0 -0
  428. /package/{lib → dist/lib}/core/shared/ObjectRepository.js +0 -0
  429. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.d.ts +0 -0
  430. /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.js +0 -0
  431. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.d.ts +0 -0
  432. /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.js +0 -0
  433. /package/{lib → dist/lib}/core/shared/store.js +0 -0
  434. /package/{lib → dist/lib}/core/storage/indexCache.d.ts +0 -0
  435. /package/{lib → dist/lib}/core/storage/indexCache.js +0 -0
  436. /package/{lib → dist/lib}/core/storage/storeScopeEnum.d.ts +0 -0
  437. /package/{lib → dist/lib}/core/storage/storeScopeEnum.js +0 -0
  438. /package/{lib → dist/lib}/kerror/errors/badRequestError.d.ts +0 -0
  439. /package/{lib → dist/lib}/kerror/errors/badRequestError.js +0 -0
  440. /package/{lib → dist/lib}/kerror/errors/externalServiceError.d.ts +0 -0
  441. /package/{lib → dist/lib}/kerror/errors/externalServiceError.js +0 -0
  442. /package/{lib → dist/lib}/kerror/errors/forbiddenError.d.ts +0 -0
  443. /package/{lib → dist/lib}/kerror/errors/forbiddenError.js +0 -0
  444. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.d.ts +0 -0
  445. /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.js +0 -0
  446. /package/{lib → dist/lib}/kerror/errors/index.d.ts +0 -0
  447. /package/{lib → dist/lib}/kerror/errors/index.js +0 -0
  448. /package/{lib → dist/lib}/kerror/errors/internalError.d.ts +0 -0
  449. /package/{lib → dist/lib}/kerror/errors/internalError.js +0 -0
  450. /package/{lib → dist/lib}/kerror/errors/kuzzleError.d.ts +0 -0
  451. /package/{lib → dist/lib}/kerror/errors/kuzzleError.js +0 -0
  452. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.d.ts +0 -0
  453. /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.js +0 -0
  454. /package/{lib → dist/lib}/kerror/errors/notFoundError.d.ts +0 -0
  455. /package/{lib → dist/lib}/kerror/errors/notFoundError.js +0 -0
  456. /package/{lib → dist/lib}/kerror/errors/partialError.d.ts +0 -0
  457. /package/{lib → dist/lib}/kerror/errors/partialError.js +0 -0
  458. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.d.ts +0 -0
  459. /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.js +0 -0
  460. /package/{lib → dist/lib}/kerror/errors/preconditionError.d.ts +0 -0
  461. /package/{lib → dist/lib}/kerror/errors/preconditionError.js +0 -0
  462. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.d.ts +0 -0
  463. /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.js +0 -0
  464. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.d.ts +0 -0
  465. /package/{lib → dist/lib}/kerror/errors/sizeLimitError.js +0 -0
  466. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.d.ts +0 -0
  467. /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.js +0 -0
  468. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.d.ts +0 -0
  469. /package/{lib → dist/lib}/kerror/errors/unauthorizedError.js +0 -0
  470. /package/{lib → dist/lib}/kerror/index.js +0 -0
  471. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.d.ts +0 -0
  472. /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.js +0 -0
  473. /package/{lib → dist/lib}/kuzzle/index.d.ts +0 -0
  474. /package/{lib → dist/lib}/kuzzle/index.js +0 -0
  475. /package/{lib → dist/lib}/model/security/profile.d.ts +0 -0
  476. /package/{lib → dist/lib}/model/security/profile.js +0 -0
  477. /package/{lib → dist/lib}/model/security/role.js +0 -0
  478. /package/{lib → dist/lib}/model/security/token.d.ts +0 -0
  479. /package/{lib → dist/lib}/model/security/token.js +0 -0
  480. /package/{lib → dist/lib}/model/security/user.js +0 -0
  481. /package/{lib → dist/lib}/service/storage/8/elasticsearch.d.ts +0 -0
  482. /package/{lib → dist/lib}/service/storage/Elasticsearch.d.ts +0 -0
  483. /package/{lib → dist/lib}/service/storage/Elasticsearch.js +0 -0
  484. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.d.ts +0 -0
  485. /package/{lib → dist/lib}/service/storage/commons/queryTranslator.js +0 -0
  486. /package/{lib → dist/lib}/types/ClientConnection.d.ts +0 -0
  487. /package/{lib → dist/lib}/types/ClientConnection.js +0 -0
  488. /package/{lib → dist/lib}/types/Deprecation.d.ts +0 -0
  489. /package/{lib → dist/lib}/types/Deprecation.js +0 -0
  490. /package/{lib → dist/lib}/types/EventHandler.d.ts +0 -0
  491. /package/{lib → dist/lib}/types/EventHandler.js +0 -0
  492. /package/{lib → dist/lib}/types/Global.d.ts +0 -0
  493. /package/{lib → dist/lib}/types/Global.js +0 -0
  494. /package/{lib → dist/lib}/types/HttpMessage.d.ts +0 -0
  495. /package/{lib → dist/lib}/types/HttpMessage.js +0 -0
  496. /package/{lib → dist/lib}/types/HttpStream.d.ts +0 -0
  497. /package/{lib → dist/lib}/types/HttpStream.js +0 -0
  498. /package/{lib → dist/lib}/types/Kuzzle.d.ts +0 -0
  499. /package/{lib → dist/lib}/types/Kuzzle.js +0 -0
  500. /package/{lib → dist/lib}/types/KuzzleDocument.d.ts +0 -0
  501. /package/{lib → dist/lib}/types/KuzzleDocument.js +0 -0
  502. /package/{lib → dist/lib}/types/OpenApiDefinition.d.ts +0 -0
  503. /package/{lib → dist/lib}/types/OpenApiDefinition.js +0 -0
  504. /package/{lib → dist/lib}/types/PasswordPolicy.d.ts +0 -0
  505. /package/{lib → dist/lib}/types/PasswordPolicy.js +0 -0
  506. /package/{lib → dist/lib}/types/Plugin.js +0 -0
  507. /package/{lib → dist/lib}/types/PluginManifest.d.ts +0 -0
  508. /package/{lib → dist/lib}/types/PluginManifest.js +0 -0
  509. /package/{lib → dist/lib}/types/Policy.d.ts +0 -0
  510. /package/{lib → dist/lib}/types/Policy.js +0 -0
  511. /package/{lib → dist/lib}/types/PolicyRestrictions.d.ts +0 -0
  512. /package/{lib → dist/lib}/types/PolicyRestrictions.js +0 -0
  513. /package/{lib → dist/lib}/types/ProfileDefinition.d.ts +0 -0
  514. /package/{lib → dist/lib}/types/ProfileDefinition.js +0 -0
  515. /package/{lib → dist/lib}/types/RoleDefinition.d.ts +0 -0
  516. /package/{lib → dist/lib}/types/RoleDefinition.js +0 -0
  517. /package/{lib → dist/lib}/types/StrategyDefinition.d.ts +0 -0
  518. /package/{lib → dist/lib}/types/StrategyDefinition.js +0 -0
  519. /package/{lib → dist/lib}/types/Target.d.ts +0 -0
  520. /package/{lib → dist/lib}/types/Target.js +0 -0
  521. /package/{lib → dist/lib}/types/Token.d.ts +0 -0
  522. /package/{lib → dist/lib}/types/Token.js +0 -0
  523. /package/{lib → dist/lib}/types/User.d.ts +0 -0
  524. /package/{lib → dist/lib}/types/User.js +0 -0
  525. /package/{lib → dist/lib}/types/config/DumpConfiguration.d.ts +0 -0
  526. /package/{lib → dist/lib}/types/config/DumpConfiguration.js +0 -0
  527. /package/{lib → dist/lib}/types/config/HttpConfiguration.d.ts +0 -0
  528. /package/{lib → dist/lib}/types/config/HttpConfiguration.js +0 -0
  529. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.d.ts +0 -0
  530. /package/{lib → dist/lib}/types/config/KuzzleConfiguration.js +0 -0
  531. /package/{lib → dist/lib}/types/config/LimitsConfiguration.d.ts +0 -0
  532. /package/{lib → dist/lib}/types/config/LimitsConfiguration.js +0 -0
  533. /package/{lib → dist/lib}/types/config/PluginsConfiguration.d.ts +0 -0
  534. /package/{lib → dist/lib}/types/config/PluginsConfiguration.js +0 -0
  535. /package/{lib → dist/lib}/types/config/SecurityConfiguration.d.ts +0 -0
  536. /package/{lib → dist/lib}/types/config/SecurityConfiguration.js +0 -0
  537. /package/{lib → dist/lib}/types/config/ServerConfiguration.d.ts +0 -0
  538. /package/{lib → dist/lib}/types/config/ServerConfiguration.js +0 -0
  539. /package/{lib → dist/lib}/types/config/ServicesConfiguration.d.ts +0 -0
  540. /package/{lib → dist/lib}/types/config/ServicesConfiguration.js +0 -0
  541. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +0 -0
  542. /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.js +0 -0
  543. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +0 -0
  544. /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.js +0 -0
  545. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +0 -0
  546. /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.js +0 -0
  547. /package/{lib/types → dist/lib/types/controllers}/Controller.js +0 -0
  548. /package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.js +0 -0
  549. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.d.ts +0 -0
  550. /package/{lib/types → dist/lib/types/controllers}/ControllerRights.js +0 -0
  551. /package/{lib → dist/lib}/types/errors/ErrorDefinition.d.ts +0 -0
  552. /package/{lib → dist/lib}/types/errors/ErrorDefinition.js +0 -0
  553. /package/{lib → dist/lib}/types/errors/ErrorDomains.d.ts +0 -0
  554. /package/{lib → dist/lib}/types/errors/ErrorDomains.js +0 -0
  555. /package/{lib → dist/lib}/types/events/EventGenericDocument.d.ts +0 -0
  556. /package/{lib → dist/lib}/types/events/EventGenericDocument.js +0 -0
  557. /package/{lib → dist/lib}/types/events/EventProtocol.d.ts +0 -0
  558. /package/{lib → dist/lib}/types/events/EventProtocol.js +0 -0
  559. /package/{lib → dist/lib}/types/realtime/RealtimeScope.d.ts +0 -0
  560. /package/{lib → dist/lib}/types/realtime/RealtimeScope.js +0 -0
  561. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.d.ts +0 -0
  562. /package/{lib → dist/lib}/types/realtime/RealtimeUsers.js +0 -0
  563. /package/{lib → dist/lib}/types/realtime/RoomList.d.ts +0 -0
  564. /package/{lib → dist/lib}/types/realtime/RoomList.js +0 -0
  565. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.d.ts +0 -0
  566. /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.js +0 -0
  567. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.d.ts +0 -0
  568. /package/{lib → dist/lib}/types/storage/7/Elasticsearch.js +0 -0
  569. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.d.ts +0 -0
  570. /package/{lib → dist/lib}/types/storage/8/Elasticsearch.js +0 -0
  571. /package/{lib → dist/lib}/util/Inflector.d.ts +0 -0
  572. /package/{lib → dist/lib}/util/Inflector.js +0 -0
  573. /package/{lib → dist/lib}/util/array.d.ts +0 -0
  574. /package/{lib → dist/lib}/util/array.js +0 -0
  575. /package/{lib → dist/lib}/util/async.d.ts +0 -0
  576. /package/{lib → dist/lib}/util/async.js +0 -0
  577. /package/{lib → dist/lib}/util/bufferedPassThrough.d.ts +0 -0
  578. /package/{lib → dist/lib}/util/bufferedPassThrough.js +0 -0
  579. /package/{lib → dist/lib}/util/crypto.d.ts +0 -0
  580. /package/{lib → dist/lib}/util/crypto.js +0 -0
  581. /package/{lib → dist/lib}/util/dump-collection.d.ts +0 -0
  582. /package/{lib → dist/lib}/util/dump-collection.js +0 -0
  583. /package/{lib → dist/lib}/util/esRequest.d.ts +0 -0
  584. /package/{lib → dist/lib}/util/esRequest.js +0 -0
  585. /package/{lib → dist/lib}/util/koncordeCompat.d.ts +0 -0
  586. /package/{lib → dist/lib}/util/koncordeCompat.js +0 -0
  587. /package/{lib → dist/lib}/util/mutex.d.ts +0 -0
  588. /package/{lib → dist/lib}/util/mutex.js +0 -0
  589. /package/{lib → dist/lib}/util/name-generator.d.ts +0 -0
  590. /package/{lib → dist/lib}/util/name-generator.js +0 -0
  591. /package/{lib → dist/lib}/util/time.d.ts +0 -0
  592. /package/{lib → dist/lib}/util/time.js +0 -0
@@ -0,0 +1,74 @@
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 Bluebird = require("bluebird");
23
+ const kerror = require("../kerror");
24
+ /**
25
+ * Services base class
26
+ *
27
+ */
28
+ class Service {
29
+ constructor(name, config) {
30
+ this._name = name;
31
+ this._config = config;
32
+ this._initTimeout =
33
+ config.initTimeout ||
34
+ global.kuzzle.config.services.common.defaultInitTimeout;
35
+ }
36
+ get config() {
37
+ return this._config;
38
+ }
39
+ get name() {
40
+ return this._name;
41
+ }
42
+ /**
43
+ * Call _initSequence to initialize the service
44
+ * and throw an error if timeout exceed
45
+ *
46
+ * @returns {Promise}
47
+ */
48
+ init() {
49
+ return Bluebird.resolve(this._initSequence())
50
+ .timeout(this._initTimeout)
51
+ .catch((e) => {
52
+ if (e instanceof Bluebird.TimeoutError) {
53
+ throw kerror.get("core", "fatal", "service_timeout", this._name);
54
+ }
55
+ throw e;
56
+ });
57
+ }
58
+ /**
59
+ * @abstract
60
+ * @returns {Promise}
61
+ */
62
+ _initSequence() {
63
+ throw new Error("Not implemented");
64
+ }
65
+ /**
66
+ * @abstract
67
+ * @returns {Promise}
68
+ */
69
+ info() {
70
+ throw new Error("Not implemented");
71
+ }
72
+ }
73
+ module.exports = Service;
74
+ //# sourceMappingURL=service.js.map
@@ -1,7 +1,7 @@
1
1
  import _ from "lodash";
2
2
  import { Client, RequestParams } from "sdk-es7";
3
3
  import { TypeMapping } from "sdk-es7/api/types";
4
- import { JSONObject, KRequestBody, KRequestParams } from "../../../types/storage/7/Elasticsearch";
4
+ import { InfoResult, JSONObject, KRequestBody, KRequestParams } from "../../../types/storage/7/Elasticsearch";
5
5
  import { storeScopeEnum } from "../../../core/storage/storeScopeEnum";
6
6
  import { QueryTranslator } from "../commons/queryTranslator";
7
7
  import ESWrapper from "./esWrapper";
@@ -47,7 +47,7 @@ export declare class ES7 {
47
47
  *
48
48
  * @returns {Promise.<Object>} service informations
49
49
  */
50
- info(): Promise<any>;
50
+ info(): Promise<InfoResult>;
51
51
  /**
52
52
  * Returns detailed multi-level storage stats data
53
53
  *
@@ -53,7 +53,6 @@ const assert_1 = __importDefault(require("assert"));
53
53
  const bluebird_1 = __importDefault(require("bluebird"));
54
54
  const ms_1 = __importDefault(require("ms"));
55
55
  const semver_1 = __importDefault(require("semver"));
56
- const debug_1 = __importDefault(require("../../../util/debug"));
57
56
  const storeScopeEnum_1 = require("../../../core/storage/storeScopeEnum");
58
57
  const kerror = __importStar(require("../../../kerror"));
59
58
  const didYouMean_1 = __importDefault(require("../../../util/didYouMean"));
@@ -64,7 +63,6 @@ const requestAssertions_1 = require("../../../util/requestAssertions");
64
63
  const safeObject_1 = require("../../../util/safeObject");
65
64
  const queryTranslator_1 = require("../commons/queryTranslator");
66
65
  const esWrapper_1 = __importDefault(require("./esWrapper"));
67
- (0, debug_1.default)("kuzzle:services:elasticsearch");
68
66
  const SCROLL_CACHE_PREFIX = "_docscroll_";
69
67
  const ROOT_MAPPING_PROPERTIES = [
70
68
  "properties",
@@ -270,7 +268,7 @@ class ES7 {
270
268
  scroll_id: scrollId,
271
269
  };
272
270
  const cacheKey = SCROLL_CACHE_PREFIX + global.kuzzle.hash(esRequest.scroll_id);
273
- (0, debug_1.default)("Scroll: %o", esRequest);
271
+ this.logger.debug("Scroll: %o", esRequest);
274
272
  if (_scrollTTL) {
275
273
  const scrollDuration = (0, ms_1.default)(_scrollTTL);
276
274
  if (scrollDuration > this.maxScrollDuration) {
@@ -286,7 +284,7 @@ class ES7 {
286
284
  const { body } = await this._client.scroll(esRequest);
287
285
  scrollInfo.fetched += body.hits.hits.length;
288
286
  if (scrollInfo.fetched >= body.hits.total.value) {
289
- (0, debug_1.default)("Last scroll page fetched: deleting scroll %s", body._scroll_id);
287
+ this.logger.debug("Last scroll page fetched: deleting scroll %s", body._scroll_id);
290
288
  await global.kuzzle.ask("core:cache:internal:del", cacheKey);
291
289
  await this.clearScroll(body._scroll_id);
292
290
  }
@@ -341,7 +339,7 @@ class ES7 {
341
339
  throw kerror.get("services", "storage", "scroll_duration_too_great", scroll);
342
340
  }
343
341
  }
344
- (0, debug_1.default)("Search: %j", esRequest);
342
+ this.logger.debug("Search: %j", esRequest);
345
343
  try {
346
344
  const { body } = await this._client.search(esRequest);
347
345
  if (body._scroll_id) {
@@ -474,7 +472,7 @@ class ES7 {
474
472
  if (esRequest.id === "_search") {
475
473
  return kerror.reject("services", "storage", "search_as_an_id");
476
474
  }
477
- (0, debug_1.default)("Get document: %o", esRequest);
475
+ this.logger.debug("Get document: %o", esRequest);
478
476
  try {
479
477
  const { body } = await this._client.get(esRequest);
480
478
  return {
@@ -510,7 +508,7 @@ class ES7 {
510
508
  })),
511
509
  },
512
510
  };
513
- (0, debug_1.default)("Multi-get documents: %o", esRequest);
511
+ this.logger.debug("Multi-get documents: %o", esRequest);
514
512
  let body;
515
513
  try {
516
514
  ({ body } = await this._client.mget(esRequest)); // NOSONAR
@@ -548,7 +546,7 @@ class ES7 {
548
546
  body: this._sanitizeSearchBody(searchBody),
549
547
  index: this._getAlias(index, collection),
550
548
  };
551
- (0, debug_1.default)("Count: %o", esRequest);
549
+ this.logger.debug("Count: %o", esRequest);
552
550
  try {
553
551
  const { body } = await this._client.count(esRequest);
554
552
  return body.count;
@@ -588,7 +586,7 @@ class ES7 {
588
586
  updater: null,
589
587
  };
590
588
  }
591
- (0, debug_1.default)("Create document: %o", esRequest);
589
+ this.logger.debug("Create document: %o", esRequest);
592
590
  try {
593
591
  const { body } = await this._client.index(esRequest);
594
592
  return {
@@ -630,7 +628,7 @@ class ES7 {
630
628
  updater: getKuid(userId),
631
629
  };
632
630
  }
633
- (0, debug_1.default)("Create or replace document: %o", esRequest);
631
+ this.logger.debug("Create or replace document: %o", esRequest);
634
632
  try {
635
633
  const { body } = await this._client.index(esRequest);
636
634
  return {
@@ -673,7 +671,7 @@ class ES7 {
673
671
  updater: getKuid(userId),
674
672
  };
675
673
  }
676
- (0, debug_1.default)("Update document: %o", esRequest);
674
+ this.logger.debug("Update document: %o", esRequest);
677
675
  try {
678
676
  const { body } = await this._client.update(esRequest);
679
677
  return {
@@ -725,7 +723,7 @@ class ES7 {
725
723
  createdAt: now,
726
724
  };
727
725
  }
728
- (0, debug_1.default)("Upsert document: %o", esRequest);
726
+ this.logger.debug("Upsert document: %o", esRequest);
729
727
  try {
730
728
  const { body } = await this._client.update(esRequest);
731
729
  return {
@@ -774,7 +772,7 @@ class ES7 {
774
772
  if (!exists) {
775
773
  throw kerror.get("services", "storage", "not_found", id, index, collection);
776
774
  }
777
- (0, debug_1.default)("Replace document: %o", esRequest);
775
+ this.logger.debug("Replace document: %o", esRequest);
778
776
  const { body } = await this._client.index(esRequest);
779
777
  return {
780
778
  _id: id,
@@ -803,7 +801,7 @@ class ES7 {
803
801
  refresh,
804
802
  };
805
803
  assertWellFormedRefresh(esRequest);
806
- (0, debug_1.default)("Delete document: %o", esRequest);
804
+ this.logger.debug("Delete document: %o", esRequest);
807
805
  try {
808
806
  await this._client.delete(esRequest);
809
807
  }
@@ -843,7 +841,7 @@ class ES7 {
843
841
  if (fetch) {
844
842
  documents = await this._getAllDocumentsFromQuery(esRequest);
845
843
  }
846
- (0, debug_1.default)("Delete by query: %o", esRequest);
844
+ this.logger.debug("Delete by query: %o", esRequest);
847
845
  esRequest.refresh = refresh === "wait_for" ? true : refresh;
848
846
  const { body } = await this._client.deleteByQuery(esRequest);
849
847
  return {
@@ -878,7 +876,7 @@ class ES7 {
878
876
  index: alias,
879
877
  };
880
878
  try {
881
- (0, debug_1.default)("DeleteFields document: %o", esRequest);
879
+ this.logger.debug("DeleteFields document: %o", esRequest);
882
880
  const { body } = await this._client.get(esRequest);
883
881
  for (const field of fields) {
884
882
  if (lodash_1.default.has(body._source, field)) {
@@ -933,7 +931,7 @@ class ES7 {
933
931
  document._source = undefined;
934
932
  document.body = changes;
935
933
  }
936
- (0, debug_1.default)("Update by query: %o", esRequest);
934
+ this.logger.debug("Update by query: %o", esRequest);
937
935
  const { errors, items } = await this.mUpdate(index, collection, documents, { refresh, userId });
938
936
  return {
939
937
  errors,
@@ -975,7 +973,7 @@ class ES7 {
975
973
  if (script.source !== "") {
976
974
  esRequest.body.script = script;
977
975
  }
978
- (0, debug_1.default)("Bulk Update by query: %o", esRequest);
976
+ this.logger.debug("Bulk Update by query: %o", esRequest);
979
977
  let response;
980
978
  try {
981
979
  response = await this._client.updateByQuery(esRequest);
@@ -1166,7 +1164,7 @@ class ES7 {
1166
1164
  const esRequest = {
1167
1165
  index: indice,
1168
1166
  };
1169
- (0, debug_1.default)("Get settings: %o", esRequest);
1167
+ this.logger.debug("Get settings: %o", esRequest);
1170
1168
  try {
1171
1169
  const { body } = await this._client.indices.getSettings(esRequest);
1172
1170
  return body[indice].settings.index;
@@ -1189,7 +1187,7 @@ class ES7 {
1189
1187
  const esRequest = {
1190
1188
  index: indice,
1191
1189
  };
1192
- (0, debug_1.default)("Get mapping: %o", esRequest);
1190
+ this.logger.debug("Get mapping: %o", esRequest);
1193
1191
  try {
1194
1192
  const { body } = await this._client.indices.getMapping(esRequest);
1195
1193
  const properties = includeKuzzleMeta
@@ -1289,7 +1287,7 @@ class ES7 {
1289
1287
  // processing large indexes.
1290
1288
  wait_for_completion: false,
1291
1289
  };
1292
- (0, debug_1.default)("UpdateByQuery: %o", esRequest);
1290
+ this.logger.debug("UpdateByQuery: %o", esRequest);
1293
1291
  try {
1294
1292
  await this._client.updateByQuery(esRequest);
1295
1293
  }
@@ -1321,7 +1319,7 @@ class ES7 {
1321
1319
  dynamic: mappings.dynamic || collectionMappings.dynamic,
1322
1320
  properties: mappings.properties,
1323
1321
  };
1324
- (0, debug_1.default)("Update mapping: %o", esRequest);
1322
+ this.logger.debug("Update mapping: %o", esRequest);
1325
1323
  try {
1326
1324
  await this._client.indices.putMapping(esRequest);
1327
1325
  }
@@ -1634,7 +1632,7 @@ class ES7 {
1634
1632
  if (esRequest.index.length === 0) {
1635
1633
  return [];
1636
1634
  }
1637
- (0, debug_1.default)("Delete indexes: %o", esRequest);
1635
+ this.logger.debug("Delete indexes: %o", esRequest);
1638
1636
  await this._client.indices.delete(esRequest);
1639
1637
  }
1640
1638
  catch (error) {
@@ -1723,7 +1721,7 @@ class ES7 {
1723
1721
  },
1724
1722
  index: this._getAlias(index, collection),
1725
1723
  };
1726
- (0, debug_1.default)("mExists: %o", esRequest);
1724
+ this.logger.debug("mExists: %o", esRequest);
1727
1725
  let body;
1728
1726
  try {
1729
1727
  ({ body } = await this._client.mget(esRequest)); // NOSONAR
@@ -2728,7 +2726,7 @@ class ES7 {
2728
2726
  */
2729
2727
  async clearScroll(id) {
2730
2728
  if (id) {
2731
- (0, debug_1.default)("clearing scroll: %s", id);
2729
+ this.logger.debug("clearing scroll: %s", id);
2732
2730
  await this._client.clearScroll({ scroll_id: id });
2733
2731
  }
2734
2732
  }
@@ -0,0 +1,19 @@
1
+ export = ESWrapper;
2
+ declare class ESWrapper {
3
+ constructor(client: any);
4
+ client: any;
5
+ /**
6
+ * Transforms raw ES errors into a normalized Kuzzle version
7
+ *
8
+ * @param {Error} error
9
+ * @returns {KuzzleError}
10
+ */
11
+ formatESError(error: Error): KuzzleError;
12
+ reject(error: any): Bluebird<never>;
13
+ _handleConflictError(error: any, message: any): KuzzleError;
14
+ _handleNotFoundError(error: any, message: any): KuzzleError;
15
+ _handleBadRequestError(error: any, message: any): KuzzleError;
16
+ _handleUnknownError(error: any, message: any): KuzzleError;
17
+ }
18
+ import { KuzzleError } from "../../../kerror/errors/kuzzleError";
19
+ import Bluebird = require("bluebird");
@@ -0,0 +1,245 @@
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
+ /* eslint sort-keys: 0 */
22
+ "use strict";
23
+ const Bluebird = require("bluebird");
24
+ const _ = require("lodash");
25
+ const es = require("sdk-es7");
26
+ const { KuzzleError } = require("../../../kerror/errors");
27
+ const debug = require("../../../util/debug")("kuzzle:services:storage:ESCommon");
28
+ const kerror = require("../../../kerror").wrap("services", "storage");
29
+ const errorMessagesMapping = [
30
+ {
31
+ regex: /^\[es_rejected_execution_exception] rejected execution .*? on EsThreadPoolExecutor\[(.*?), .*$/,
32
+ subCode: "too_many_operations",
33
+ getPlaceholders: (esError, matches) => [matches[1]],
34
+ },
35
+ {
36
+ // [illegal_argument_exception] object mapping [titi] can't be changed from nested to non-nested
37
+ regex: /^\[illegal_argument_exception] object mapping \[(.*?)] can't be changed from nested to non-nested$/,
38
+ subcode: "cannot_change_mapping",
39
+ getPlaceholders: (esError, matches) => [matches[1]],
40
+ },
41
+ {
42
+ // [illegal_argument_exception] object mapping [baz] can't be changed from non-nested to nested
43
+ regex: /^\[illegal_argument_exception] object mapping \[(.*?)] can't be changed from non-nested to nested$/,
44
+ subcode: "cannot_change_mapping",
45
+ getPlaceholders: (esError, matches) => [matches[1]],
46
+ },
47
+ {
48
+ // [illegal_argument_exception] Can't merge a non object mapping [aeaze] with an object mapping [aeaze]
49
+ regex: /^\[illegal_argument_exception] Can't merge a non object mapping \[(.*?)] with an object mapping \[(.*?)]$/,
50
+ subcode: "cannot_change_mapping",
51
+ getPlaceholders: (esError, matches) => [matches[1]],
52
+ },
53
+ {
54
+ // [illegal_argument_exception] [tutu.tutu] is defined as an object in mapping [aze] but this name is already used for a field in other types
55
+ regex: /^\[illegal_argument_exception] \[(.*?)] is defined as an object in mapping \[(.*?)] but this name is already used for a field in other types$/,
56
+ subcode: "duplicate_field_mapping",
57
+ getPlaceholders: (esError, matches) => [matches[1], matches[2]],
58
+ },
59
+ {
60
+ // [illegal_argument_exception] mapper [source.flags] of different type, current_type [string], merged_type [long]
61
+ regex: /^mapper \[(.*?)] of different type, current_type \[(.*?)], merged_type \[(.*?)]$/,
62
+ subcode: "cannot_change_mapping",
63
+ getPlaceholders: (esError, matches) => [matches[1]],
64
+ },
65
+ {
66
+ // [mapper_parsing_exception] Mapping definition for [flags] has unsupported parameters: [index : not_analyzed]
67
+ // eslint-disable-next-line no-regex-spaces
68
+ regex: /^\[mapper_parsing_exception] Mapping definition for \[(.*?)] has unsupported parameters: \[(.*?)]$/,
69
+ subcode: "unexpected_properties",
70
+ getPlaceholders: (esError, matches) => [matches[2], matches[1]],
71
+ },
72
+ {
73
+ // [mapper_parsing_exception] No handler for type [boolean] declared on field [not]
74
+ regex: /^\[mapper_parsing_exception] No handler for type \[(.*?)] declared on field \[(.*?)]$/,
75
+ subcode: "invalid_mapping_type",
76
+ getPlaceholders: (esError, matches) => [matches[2], matches[1]],
77
+ },
78
+ {
79
+ // [mapper_parsing_exception] failed to parse [conditions.host.flags]
80
+ regex: /^\[mapper_parsing_exception] failed to parse \[(.*?)]$/,
81
+ subcode: "wrong_mapping_property",
82
+ getPlaceholders: (esError, matches) => [matches[1]],
83
+ },
84
+ {
85
+ // Failed to parse mapping [_doc]: Expected map for property [fields] on field [enabled] but got a class java.lang.String
86
+ regex: /^Failed to parse mapping \[.*\]: Expected \w+ for property \[(.*)\] on field \[(.*)\]/,
87
+ subcode: "wrong_mapping_property",
88
+ getPlaceholders: (esError, matches) => [`${matches[2]}.${matches[1]}`],
89
+ },
90
+ {
91
+ // [index_not_found_exception] no such index, with { resource.type=index_or_alias & resource.id=foso & index=foso }
92
+ regex: /^no such index \[([%&])(.*)\.(.*)\]$/,
93
+ subcode: "unknown_collection",
94
+ getPlaceholders: (esError, matches) => [matches[2], matches[3]],
95
+ },
96
+ {
97
+ // [mapper_parsing_exception] Expected map for property [fields] on field [foo] but got a class java.lang.String
98
+ regex: /^\[mapper_parsing_exception] Expected map for property \[(.*?)] on field \[(.*?)] but got a class java\.lang\.String$/,
99
+ subcode: "wrong_mapping_property",
100
+ getPlaceholders: (esError, matches) => [`${matches[2]}.${matches[1]}`],
101
+ },
102
+ {
103
+ regex: /^\[version_conflict_engine_exception] \[data]\[(.*?)]: version conflict.*$/,
104
+ subcode: "too_many_changes",
105
+ getPlaceholders: (esError, matches) => [matches[1]],
106
+ },
107
+ {
108
+ //[liia]: version conflict, document already exists (current version [2])
109
+ regex: /^\[(.*)\]: version conflict, document already exists.*/,
110
+ subcode: "document_already_exists",
111
+ getPlaceholders: () => [],
112
+ },
113
+ {
114
+ // Unknown key for a START_OBJECT in [term].
115
+ regex: /^Unknown key for a START_OBJECT in \[(.*)\].*/,
116
+ subcode: "invalid_search_query",
117
+ getPlaceholders: (esError, matches) => [matches[1]],
118
+ },
119
+ {
120
+ // mapping set to strict, dynamic introduction of [lehuong] within [_doc] is not allowed
121
+ regex: /^mapping set to strict, dynamic introduction of \[(.+)\] within \[.+\] is not allowed/,
122
+ subcode: "strict_mapping_rejection",
123
+ getPlaceholders: (esError, matches) => {
124
+ // "/%26index.collection/_doc"
125
+ const esPath = esError.meta.meta.request.params.path;
126
+ // keep only "index"
127
+ const index = esPath.split(".")[0].split("%26")[1];
128
+ // keep only "collection"
129
+ const collection = esPath.substr(esPath.indexOf(".") + 1).split("/")[0];
130
+ return [matches[1], index, collection];
131
+ },
132
+ },
133
+ {
134
+ // [and] query malformed, no start_object after query name
135
+ regex: /^\[(.*)\] query malformed, no start_object after query name/,
136
+ subcode: "unknown_query_keyword",
137
+ getPlaceholders: (esError, matches) => [matches[1]],
138
+ },
139
+ {
140
+ // no [query] registered for [equals]
141
+ regex: /^no \[query\] registered for \[(.*)\]/,
142
+ subcode: "unknown_query_keyword",
143
+ getPlaceholders: (esError, matches) => [matches[1]],
144
+ },
145
+ ];
146
+ class ESWrapper {
147
+ constructor(client) {
148
+ this.client = client;
149
+ }
150
+ /**
151
+ * Transforms raw ES errors into a normalized Kuzzle version
152
+ *
153
+ * @param {Error} error
154
+ * @returns {KuzzleError}
155
+ */
156
+ formatESError(error) {
157
+ if (error instanceof KuzzleError) {
158
+ return error;
159
+ }
160
+ global.kuzzle.emit("services:storage:error", {
161
+ message: `Elasticsearch Client error: ${error.message}`,
162
+ // /!\ not all ES error classes have a "meta" property
163
+ meta: error.meta || null,
164
+ stack: error.stack,
165
+ });
166
+ if (error instanceof es.errors.NoLivingConnectionsError) {
167
+ throw kerror.get("not_connected");
168
+ }
169
+ const message = _.get(error, "meta.body.error.reason", error.message);
170
+ // Try to match a known elasticsearch error
171
+ for (const betterError of errorMessagesMapping) {
172
+ const matches = message.match(betterError.regex);
173
+ if (matches) {
174
+ return kerror.get(betterError.subcode, ...betterError.getPlaceholders(error, matches));
175
+ }
176
+ }
177
+ // Try to match using error codes
178
+ if (error.meta) {
179
+ switch (error.meta.statusCode) {
180
+ case 400:
181
+ return this._handleBadRequestError(error, message);
182
+ case 404:
183
+ return this._handleNotFoundError(error, message);
184
+ case 409:
185
+ return this._handleConflictError(error, message);
186
+ default:
187
+ break;
188
+ }
189
+ }
190
+ return this._handleUnknownError(error, message);
191
+ }
192
+ reject(error) {
193
+ return Bluebird.reject(this.formatESError(error));
194
+ }
195
+ _handleConflictError(error, message) {
196
+ debug('unhandled "Conflict" elasticsearch error: %a', error);
197
+ return kerror.get("unexpected_error", message);
198
+ }
199
+ _handleNotFoundError(error, message) {
200
+ let errorMessage = message;
201
+ if (!error.body._index) {
202
+ return kerror.get("unexpected_not_found", errorMessage);
203
+ }
204
+ // _index= "&nyc-open-data.yellow-taxi"
205
+ const index = error.body._index.split(".")[0].slice(1);
206
+ const collection = error.body._index.split(".")[1];
207
+ // 404 on a GET document
208
+ if (error.body.found === false) {
209
+ return kerror.get("not_found", error.body._id, index, collection);
210
+ }
211
+ // 404 on DELETE document (ES error payloads are so cool!)
212
+ if (error.meta.body._id) {
213
+ return kerror.get("not_found", error.meta.body._id, index, collection);
214
+ }
215
+ if (error.meta.body && error.meta.body.error) {
216
+ errorMessage = error.meta.body.error
217
+ ? `${error.meta.body.error.reason}: ${error.meta.body.error["resource.id"]}`
218
+ : `${error.message}: ${error.body._id}`;
219
+ }
220
+ debug('unhandled "NotFound" elasticsearch error: %a', error);
221
+ return kerror.get("unexpected_not_found", errorMessage);
222
+ }
223
+ _handleBadRequestError(error, message) {
224
+ let errorMessage = message;
225
+ if (error.meta.body && error.meta.body.error) {
226
+ errorMessage = error.meta.body.error.root_cause
227
+ ? error.meta.body.error.root_cause[0].reason
228
+ : error.meta.body.error.reason;
229
+ // empty query throws exception with ES 7
230
+ if (error.meta.body.error.type === "parsing_exception" &&
231
+ _.get(error, "meta.body.error.caused_by.type") ===
232
+ "illegal_argument_exception") {
233
+ errorMessage = error.meta.body.error.caused_by.reason;
234
+ }
235
+ }
236
+ debug('unhandled "BadRequest" elasticsearch error: %a', _.get(error, "meta.body.error.reason", error.message));
237
+ return kerror.get("unexpected_bad_request", errorMessage);
238
+ }
239
+ _handleUnknownError(error, message) {
240
+ debug("unhandled elasticsearch error (unhandled type: %s): %o", _.get(error, "error.meta.statusCode", "<no status code>"), error);
241
+ return kerror.get("unexpected_error", message);
242
+ }
243
+ }
244
+ module.exports = ESWrapper;
245
+ //# sourceMappingURL=esWrapper.js.map