kuzzle 2.19.2 → 2.19.5

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 (293) hide show
  1. package/lib/api/controllers/adminController.js +94 -80
  2. package/lib/api/controllers/authController.js +239 -212
  3. package/lib/api/controllers/baseController.js +89 -51
  4. package/lib/api/controllers/bulkController.js +62 -49
  5. package/lib/api/controllers/clusterController.js +6 -8
  6. package/lib/api/controllers/collectionController.js +140 -129
  7. package/lib/api/controllers/debugController.d.ts +2 -2
  8. package/lib/api/controllers/debugController.js +33 -31
  9. package/lib/api/controllers/documentController.js +365 -274
  10. package/lib/api/controllers/index.js +13 -13
  11. package/lib/api/controllers/indexController.js +46 -50
  12. package/lib/api/controllers/memoryStorageController.js +410 -360
  13. package/lib/api/controllers/realtimeController.js +37 -36
  14. package/lib/api/controllers/securityController.js +553 -412
  15. package/lib/api/controllers/serverController.js +111 -104
  16. package/lib/api/documentExtractor.js +75 -68
  17. package/lib/api/funnel.js +411 -312
  18. package/lib/api/httpRoutes.js +1493 -324
  19. package/lib/api/openapi/OpenApiManager.d.ts +1 -1
  20. package/lib/api/openapi/OpenApiManager.js +22 -22
  21. package/lib/api/openapi/components/document/count.yaml +1 -1
  22. package/lib/api/openapi/components/document/create.yaml +2 -2
  23. package/lib/api/openapi/components/document/delete.yaml +1 -1
  24. package/lib/api/openapi/components/document/deleteByQuery.yaml +1 -1
  25. package/lib/api/openapi/components/document/exists.yaml +1 -1
  26. package/lib/api/openapi/components/document/get.yaml +2 -2
  27. package/lib/api/openapi/components/document/index.js +12 -12
  28. package/lib/api/openapi/components/document/replace.yaml +1 -1
  29. package/lib/api/openapi/components/document/scroll.yaml +1 -1
  30. package/lib/api/openapi/components/document/validate.yaml +1 -1
  31. package/lib/api/openapi/components/index.d.ts +2 -2
  32. package/lib/api/openapi/components/index.js +1 -1
  33. package/lib/api/openapi/components/security/index.js +1 -1
  34. package/lib/api/openapi/components/security/upsertUser.yaml +2 -3
  35. package/lib/api/openapi/index.d.ts +1 -1
  36. package/lib/api/openapi/openApiGenerator.d.ts +1 -1
  37. package/lib/api/openapi/openApiGenerator.js +7 -7
  38. package/lib/api/rateLimiter.js +12 -13
  39. package/lib/api/request/index.d.ts +4 -4
  40. package/lib/api/request/kuzzleRequest.d.ts +9 -9
  41. package/lib/api/request/kuzzleRequest.js +91 -90
  42. package/lib/api/request/requestContext.d.ts +2 -2
  43. package/lib/api/request/requestContext.js +17 -17
  44. package/lib/api/request/requestInput.d.ts +1 -1
  45. package/lib/api/request/requestInput.js +19 -19
  46. package/lib/api/request/requestResponse.d.ts +4 -4
  47. package/lib/api/request/requestResponse.js +31 -33
  48. package/lib/cluster/command.js +48 -44
  49. package/lib/cluster/idCardHandler.d.ts +1 -1
  50. package/lib/cluster/idCardHandler.js +15 -15
  51. package/lib/cluster/index.js +2 -2
  52. package/lib/cluster/node.js +301 -269
  53. package/lib/cluster/publisher.js +45 -46
  54. package/lib/cluster/state.d.ts +5 -5
  55. package/lib/cluster/state.js +8 -8
  56. package/lib/cluster/subscriber.js +163 -113
  57. package/lib/cluster/workers/IDCardRenewer.js +33 -32
  58. package/lib/config/default.config.d.ts +1 -1
  59. package/lib/config/default.config.js +212 -171
  60. package/lib/config/documentEventAliases.js +6 -6
  61. package/lib/config/index.js +161 -98
  62. package/lib/config/sdkCompatibility.json +8 -8
  63. package/lib/core/auth/formatProcessing.js +7 -7
  64. package/lib/core/auth/passportResponse.js +7 -7
  65. package/lib/core/auth/passportWrapper.js +34 -30
  66. package/lib/core/auth/tokenManager.d.ts +2 -2
  67. package/lib/core/auth/tokenManager.js +11 -10
  68. package/lib/core/backend/applicationManager.d.ts +1 -1
  69. package/lib/core/backend/applicationManager.js +2 -2
  70. package/lib/core/backend/backend.d.ts +4 -4
  71. package/lib/core/backend/backend.js +34 -31
  72. package/lib/core/backend/backendCluster.d.ts +8 -9
  73. package/lib/core/backend/backendCluster.js +8 -8
  74. package/lib/core/backend/backendConfig.d.ts +2 -2
  75. package/lib/core/backend/backendConfig.js +3 -3
  76. package/lib/core/backend/backendController.d.ts +2 -2
  77. package/lib/core/backend/backendController.js +9 -10
  78. package/lib/core/backend/backendErrors.d.ts +3 -3
  79. package/lib/core/backend/backendErrors.js +2 -1
  80. package/lib/core/backend/backendHook.d.ts +3 -3
  81. package/lib/core/backend/backendHook.js +5 -5
  82. package/lib/core/backend/backendImport.d.ts +3 -3
  83. package/lib/core/backend/backendImport.js +23 -23
  84. package/lib/core/backend/backendOpenApi.d.ts +2 -2
  85. package/lib/core/backend/backendOpenApi.js +16 -16
  86. package/lib/core/backend/backendPipe.d.ts +3 -3
  87. package/lib/core/backend/backendPipe.js +6 -6
  88. package/lib/core/backend/backendPlugin.d.ts +4 -4
  89. package/lib/core/backend/backendPlugin.js +14 -14
  90. package/lib/core/backend/backendStorage.d.ts +2 -2
  91. package/lib/core/backend/backendStorage.js +1 -2
  92. package/lib/core/backend/backendVault.d.ts +2 -2
  93. package/lib/core/backend/backendVault.js +3 -3
  94. package/lib/core/backend/index.d.ts +14 -14
  95. package/lib/core/backend/internalLogger.d.ts +1 -1
  96. package/lib/core/backend/internalLogger.js +5 -5
  97. package/lib/core/cache/cacheDbEnum.js +4 -4
  98. package/lib/core/cache/cacheEngine.js +79 -85
  99. package/lib/core/network/accessLogger.js +126 -120
  100. package/lib/core/network/clientConnection.js +5 -5
  101. package/lib/core/network/context.js +8 -8
  102. package/lib/core/network/entryPoint.js +100 -85
  103. package/lib/core/network/httpRouter/index.js +63 -60
  104. package/lib/core/network/httpRouter/routeHandler.js +18 -19
  105. package/lib/core/network/httpRouter/routePart.js +23 -19
  106. package/lib/core/network/protocolManifest.js +3 -3
  107. package/lib/core/network/protocols/httpMessage.js +8 -10
  108. package/lib/core/network/protocols/httpwsProtocol.js +305 -250
  109. package/lib/core/network/protocols/internalProtocol.js +27 -24
  110. package/lib/core/network/protocols/mqttProtocol.js +106 -96
  111. package/lib/core/network/protocols/protocol.js +20 -17
  112. package/lib/core/network/router.js +56 -46
  113. package/lib/core/plugin/plugin.js +151 -120
  114. package/lib/core/plugin/pluginContext.d.ts +7 -7
  115. package/lib/core/plugin/pluginContext.js +48 -44
  116. package/lib/core/plugin/pluginManifest.js +13 -12
  117. package/lib/core/plugin/pluginRepository.js +26 -27
  118. package/lib/core/plugin/pluginsManager.js +425 -304
  119. package/lib/core/plugin/privilegedContext.js +3 -3
  120. package/lib/core/realtime/actionEnum.js +1 -1
  121. package/lib/core/realtime/channel.d.ts +1 -1
  122. package/lib/core/realtime/channel.js +22 -22
  123. package/lib/core/realtime/connectionRooms.d.ts +1 -1
  124. package/lib/core/realtime/hotelClerk.d.ts +2 -2
  125. package/lib/core/realtime/hotelClerk.js +53 -50
  126. package/lib/core/realtime/index.js +5 -5
  127. package/lib/core/realtime/notification/document.js +25 -25
  128. package/lib/core/realtime/notification/index.js +4 -4
  129. package/lib/core/realtime/notification/server.js +3 -3
  130. package/lib/core/realtime/notification/user.js +4 -4
  131. package/lib/core/realtime/notifier.js +113 -75
  132. package/lib/core/realtime/room.d.ts +1 -1
  133. package/lib/core/realtime/subscription.d.ts +1 -1
  134. package/lib/core/realtime/subscription.js +1 -1
  135. package/lib/core/security/index.js +8 -8
  136. package/lib/core/security/profileRepository.d.ts +6 -6
  137. package/lib/core/security/profileRepository.js +48 -45
  138. package/lib/core/security/roleRepository.js +127 -115
  139. package/lib/core/security/securityLoader.js +70 -63
  140. package/lib/core/security/tokenRepository.js +132 -118
  141. package/lib/core/security/userRepository.js +104 -88
  142. package/lib/core/shared/KoncordeWrapper.d.ts +1 -1
  143. package/lib/core/shared/KoncordeWrapper.js +3 -1
  144. package/lib/core/shared/abstractManifest.js +22 -23
  145. package/lib/core/shared/repository.js +69 -67
  146. package/lib/core/shared/sdk/embeddedSdk.d.ts +2 -2
  147. package/lib/core/shared/sdk/embeddedSdk.js +36 -32
  148. package/lib/core/shared/sdk/funnelProtocol.d.ts +1 -1
  149. package/lib/core/shared/sdk/funnelProtocol.js +11 -11
  150. package/lib/core/shared/sdk/impersonatedSdk.js +19 -18
  151. package/lib/core/shared/store.js +127 -32
  152. package/lib/core/statistics/index.js +2 -2
  153. package/lib/core/statistics/statistics.js +99 -85
  154. package/lib/core/storage/clientAdapter.js +219 -136
  155. package/lib/core/storage/indexCache.js +3 -3
  156. package/lib/core/storage/storageEngine.js +10 -13
  157. package/lib/core/storage/storeScopeEnum.js +3 -3
  158. package/lib/core/validation/baseType.js +12 -10
  159. package/lib/core/validation/index.js +2 -2
  160. package/lib/core/validation/types/anything.js +4 -4
  161. package/lib/core/validation/types/boolean.js +7 -7
  162. package/lib/core/validation/types/date.js +165 -131
  163. package/lib/core/validation/types/email.js +18 -21
  164. package/lib/core/validation/types/enum.js +34 -21
  165. package/lib/core/validation/types/geoPoint.js +7 -7
  166. package/lib/core/validation/types/geoShape.js +148 -125
  167. package/lib/core/validation/types/integer.js +9 -9
  168. package/lib/core/validation/types/ipAddress.js +17 -19
  169. package/lib/core/validation/types/numeric.js +36 -29
  170. package/lib/core/validation/types/object.js +19 -19
  171. package/lib/core/validation/types/string.js +36 -29
  172. package/lib/core/validation/types/url.js +17 -19
  173. package/lib/core/validation/validation.js +422 -378
  174. package/lib/kerror/codes/1-services.json +7 -1
  175. package/lib/kerror/codes/4-plugin.json +2 -2
  176. package/lib/kerror/codes/index.js +85 -63
  177. package/lib/kerror/errors/badRequestError.d.ts +1 -1
  178. package/lib/kerror/errors/externalServiceError.d.ts +1 -1
  179. package/lib/kerror/errors/forbiddenError.d.ts +1 -1
  180. package/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
  181. package/lib/kerror/errors/index.d.ts +15 -15
  182. package/lib/kerror/errors/internalError.d.ts +1 -1
  183. package/lib/kerror/errors/kuzzleError.d.ts +1 -1
  184. package/lib/kerror/errors/multipleErrorsError.d.ts +1 -1
  185. package/lib/kerror/errors/multipleErrorsError.js +1 -1
  186. package/lib/kerror/errors/notFoundError.d.ts +1 -1
  187. package/lib/kerror/errors/partialError.d.ts +1 -1
  188. package/lib/kerror/errors/partialError.js +1 -1
  189. package/lib/kerror/errors/pluginImplementationError.d.ts +1 -1
  190. package/lib/kerror/errors/pluginImplementationError.js +2 -1
  191. package/lib/kerror/errors/preconditionError.d.ts +1 -1
  192. package/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
  193. package/lib/kerror/errors/sizeLimitError.d.ts +1 -1
  194. package/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
  195. package/lib/kerror/errors/unauthorizedError.d.ts +1 -1
  196. package/lib/kerror/index.d.ts +3 -3
  197. package/lib/kerror/index.js +17 -16
  198. package/lib/kuzzle/dumpGenerator.js +130 -114
  199. package/lib/kuzzle/event/kuzzleEventEmitter.js +96 -70
  200. package/lib/kuzzle/event/pipeRunner.js +26 -25
  201. package/lib/kuzzle/event/waterfall.js +13 -15
  202. package/lib/kuzzle/index.js +2 -2
  203. package/lib/kuzzle/internalIndexHandler.js +80 -59
  204. package/lib/kuzzle/kuzzle.js +99 -99
  205. package/lib/kuzzle/kuzzleStateEnum.js +1 -1
  206. package/lib/kuzzle/log.js +23 -18
  207. package/lib/kuzzle/vault.js +34 -19
  208. package/lib/model/security/profile.d.ts +3 -3
  209. package/lib/model/security/profile.js +38 -37
  210. package/lib/model/security/rights.js +5 -5
  211. package/lib/model/security/role.d.ts +3 -3
  212. package/lib/model/security/role.js +25 -26
  213. package/lib/model/security/token.d.ts +1 -1
  214. package/lib/model/security/token.js +4 -4
  215. package/lib/model/security/user.d.ts +2 -2
  216. package/lib/model/security/user.js +9 -9
  217. package/lib/model/storage/apiKey.js +43 -33
  218. package/lib/model/storage/baseModel.js +49 -45
  219. package/lib/service/cache/redis.js +60 -55
  220. package/lib/service/service.js +17 -17
  221. package/lib/service/storage/elasticsearch.js +839 -755
  222. package/lib/service/storage/esWrapper.js +103 -86
  223. package/lib/service/storage/queryTranslator.js +52 -59
  224. package/lib/types/Controller.d.ts +3 -3
  225. package/lib/types/ControllerDefinition.d.ts +3 -3
  226. package/lib/types/DebugModule.d.ts +3 -2
  227. package/lib/types/DebugModule.js +1 -1
  228. package/lib/types/EventHandler.d.ts +31 -1
  229. package/lib/types/Global.d.ts +1 -1
  230. package/lib/types/HttpStream.d.ts +2 -1
  231. package/lib/types/HttpStream.js +7 -5
  232. package/lib/types/Kuzzle.d.ts +1 -1
  233. package/lib/types/KuzzleDocument.d.ts +1 -1
  234. package/lib/types/OpenApiDefinition.d.ts +1 -1
  235. package/lib/types/PasswordPolicy.d.ts +1 -1
  236. package/lib/types/Plugin.d.ts +8 -8
  237. package/lib/types/Plugin.js +2 -2
  238. package/lib/types/Policy.d.ts +1 -1
  239. package/lib/types/RequestPayload.d.ts +1 -1
  240. package/lib/types/ResponsePayload.d.ts +1 -1
  241. package/lib/types/Token.d.ts +1 -1
  242. package/lib/types/User.d.ts +1 -1
  243. package/lib/types/config/DumpConfiguration.d.ts +8 -8
  244. package/lib/types/config/HttpConfiguration.d.ts +1 -1
  245. package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
  246. package/lib/types/config/LimitsConfiguration.d.ts +8 -8
  247. package/lib/types/config/PluginsConfiguration.d.ts +4 -4
  248. package/lib/types/config/SecurityConfiguration.d.ts +62 -62
  249. package/lib/types/config/ServerConfiguration.d.ts +55 -55
  250. package/lib/types/config/ServicesConfiguration.d.ts +2 -2
  251. package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
  252. package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
  253. package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
  254. package/lib/types/errors/ErrorDefinition.d.ts +1 -1
  255. package/lib/types/errors/ErrorDomains.d.ts +1 -1
  256. package/lib/types/events/EventGenericDocument.d.ts +26 -0
  257. package/lib/types/events/EventGenericDocument.js +3 -0
  258. package/lib/types/index.d.ts +39 -38
  259. package/lib/types/index.js +1 -0
  260. package/lib/types/realtime/RealtimeScope.d.ts +1 -1
  261. package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
  262. package/lib/util/assertType.js +13 -11
  263. package/lib/util/async.d.ts +1 -0
  264. package/lib/util/async.js +61 -0
  265. package/lib/util/asyncStore.js +19 -21
  266. package/lib/util/bufferedPassThrough.d.ts +3 -2
  267. package/lib/util/bufferedPassThrough.js +4 -4
  268. package/lib/util/bytes.js +9 -13
  269. package/lib/util/crypto.js +1 -1
  270. package/lib/util/debug.js +5 -5
  271. package/lib/util/deprecate.js +24 -21
  272. package/lib/util/didYouMean.js +7 -7
  273. package/lib/util/dump-collection.d.ts +2 -2
  274. package/lib/util/dump-collection.js +26 -26
  275. package/lib/util/esRequest.d.ts +1 -0
  276. package/lib/util/esRequest.js +62 -0
  277. package/lib/util/extractFields.js +24 -25
  278. package/lib/util/inflector.js +5 -5
  279. package/lib/util/koncordeCompat.d.ts +2 -2
  280. package/lib/util/koncordeCompat.js +5 -5
  281. package/lib/util/memoize.js +3 -5
  282. package/lib/util/mutex.d.ts +19 -1
  283. package/lib/util/mutex.js +39 -12
  284. package/lib/util/name-generator.js +1331 -1331
  285. package/lib/util/promback.js +8 -10
  286. package/lib/util/readYamlFile.d.ts +1 -1
  287. package/lib/util/readYamlFile.js +1 -1
  288. package/lib/util/requestAssertions.js +34 -34
  289. package/lib/util/safeObject.js +5 -5
  290. package/lib/util/stackTrace.js +20 -22
  291. package/lib/util/wildcard.js +15 -15
  292. package/package.json +28 -29
  293. package/npm-shrinkwrap.json +0 -19422
@@ -19,18 +19,18 @@
19
19
  * limitations under the License.
20
20
  */
21
21
 
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- const Bluebird = require('bluebird');
24
+ const Bluebird = require("bluebird");
25
25
 
26
- const Redis = require('../../service/cache/redis');
26
+ const Redis = require("../../service/cache/redis");
27
27
 
28
28
  class CacheEngine {
29
- constructor () {
29
+ constructor() {
30
30
  const config = global.kuzzle.config.services;
31
31
 
32
- this.public = new Redis(config.memoryStorage, 'public_adapter');
33
- this.internal = new Redis(config.internalCache, 'internal_adapter');
32
+ this.public = new Redis(config.memoryStorage, "public_adapter");
33
+ this.internal = new Redis(config.internalCache, "internal_adapter");
34
34
  }
35
35
 
36
36
  /**
@@ -38,100 +38,95 @@ class CacheEngine {
38
38
  *
39
39
  * @returns {Promise}
40
40
  */
41
- async init () {
42
- await Bluebird.all([
43
- this.public.init(),
44
- this.internal.init(),
45
- ]);
41
+ async init() {
42
+ await Bluebird.all([this.public.init(), this.internal.init()]);
46
43
 
47
44
  this.registerInternalEvents();
48
45
  this.registerPublicEvents();
49
46
 
50
- global.kuzzle.log.info('[✔] Cache initialized');
47
+ global.kuzzle.log.info("[✔] Cache initialized");
51
48
  }
52
49
 
53
- registerInternalEvents () {
50
+ registerInternalEvents() {
54
51
  /**
55
52
  * Deletes on or multiple keys
56
53
  * @param {string|Array.<string>} keys
57
54
  */
58
- global.kuzzle.onAsk(
59
- 'core:cache:internal:del',
60
- keys => this.internal.commands.del(keys));
55
+ global.kuzzle.onAsk("core:cache:internal:del", (keys) =>
56
+ this.internal.commands.del(keys)
57
+ );
61
58
 
62
59
  /**
63
60
  * Asks a key to expire in the provided delay
64
61
  * @param {string} key
65
62
  * @param {number} ttl (in seconds)
66
63
  */
67
- global.kuzzle.onAsk(
68
- 'core:cache:internal:expire',
69
- (key, ttl) => this.internal.commands.expire(key, ttl));
64
+ global.kuzzle.onAsk("core:cache:internal:expire", (key, ttl) =>
65
+ this.internal.commands.expire(key, ttl)
66
+ );
70
67
 
71
68
  /**
72
69
  * Wipes the database clean
73
70
  */
74
- global.kuzzle.onAsk(
75
- 'core:cache:internal:flushdb',
76
- () => this.internal.commands.flushdb());
71
+ global.kuzzle.onAsk("core:cache:internal:flushdb", () =>
72
+ this.internal.commands.flushdb()
73
+ );
77
74
 
78
75
  /**
79
76
  * Returns basic information about the internal cache service
80
77
  * @returns {Promise.<Object>}
81
78
  */
82
- global.kuzzle.onAsk(
83
- 'core:cache:internal:info:get',
84
- () => this.internal.info());
79
+ global.kuzzle.onAsk("core:cache:internal:info:get", () =>
80
+ this.internal.info()
81
+ );
85
82
 
86
83
  /**
87
84
  * Fetches a single value
88
85
  * @param {string} key
89
86
  * @return {string}
90
87
  */
91
- global.kuzzle.onAsk(
92
- 'core:cache:internal:get',
93
- key => this.internal.commands.get(key));
88
+ global.kuzzle.onAsk("core:cache:internal:get", (key) =>
89
+ this.internal.commands.get(key)
90
+ );
94
91
 
95
92
  /**
96
93
  * Fetches multiple values in one go
97
94
  * @param {Array.<string>} ids
98
95
  * @return {Array.<string|null>}
99
96
  */
100
- global.kuzzle.onAsk(
101
- 'core:cache:internal:mget',
102
- keys => {
103
- // redis throws an error if trying to mget without arguments
104
- if (keys.length === 0) {
105
- return [];
106
- }
97
+ global.kuzzle.onAsk("core:cache:internal:mget", (keys) => {
98
+ // redis throws an error if trying to mget without arguments
99
+ if (keys.length === 0) {
100
+ return [];
101
+ }
107
102
 
108
- return this.internal.commands.mget(keys);
109
- });
103
+ return this.internal.commands.mget(keys);
104
+ });
110
105
 
111
106
  /**
112
107
  * Makes a key persistent (disable its expiration delay, if there is one)
113
108
  * @param {string} key
114
109
  */
115
- global.kuzzle.onAsk(
116
- 'core:cache:internal:persist',
117
- (key) => this.internal.commands.persist(key));
110
+ global.kuzzle.onAsk("core:cache:internal:persist", (key) =>
111
+ this.internal.commands.persist(key)
112
+ );
118
113
 
119
114
  /**
120
115
  * Asks a key to expire in the provided delay
121
116
  * @param {string} key
122
117
  * @param {number} ttl (in milliseconds)
123
118
  */
124
- global.kuzzle.onAsk(
125
- 'core:cache:internal:pexpire',
126
- (key, ttl) => this.internal.commands.pexpire(key, ttl));
119
+ global.kuzzle.onAsk("core:cache:internal:pexpire", (key, ttl) =>
120
+ this.internal.commands.pexpire(key, ttl)
121
+ );
127
122
 
128
123
  /**
129
124
  * Fetches all keys matching the provided pattern
130
125
  * @param {string} pattern
131
126
  */
132
- global.kuzzle.onAsk(
133
- 'core:cache:internal:searchKeys',
134
- pattern => this.internal.searchKeys(pattern));
127
+ global.kuzzle.onAsk("core:cache:internal:searchKeys", (pattern) =>
128
+ this.internal.searchKeys(pattern)
129
+ );
135
130
 
136
131
  /**
137
132
  * Add a custom LUA script to the internal client
@@ -143,13 +138,14 @@ class CacheEngine {
143
138
  * @param {string} script
144
139
  */
145
140
  global.kuzzle.onAsk(
146
- 'core:cache:internal:script:define',
141
+ "core:cache:internal:script:define",
147
142
  (name, keys, script) => {
148
143
  return this.internal.client.defineCommand(name, {
149
144
  lua: script,
150
145
  numberOfKeys: keys,
151
146
  });
152
- });
147
+ }
148
+ );
153
149
 
154
150
  /**
155
151
  * Execute a script previously defined with core:cache:internal:script:define
@@ -158,9 +154,9 @@ class CacheEngine {
158
154
  * @param {...string} args -- script arguments
159
155
  * @return {*} script result (if any)
160
156
  */
161
- global.kuzzle.onAsk(
162
- 'core:cache:internal:script:execute',
163
- (name, ...args) => this.internal.client[name](...args));
157
+ global.kuzzle.onAsk("core:cache:internal:script:execute", (name, ...args) =>
158
+ this.internal.client[name](...args)
159
+ );
164
160
 
165
161
  /**
166
162
  * Convenience method for easy access to options NX and PX of the "set"
@@ -177,86 +173,84 @@ class CacheEngine {
177
173
  * @param {{ttl: number, onlyIfNew: boolean}} [opts]
178
174
  * @returns {Promise.<boolean>} true if the key was set, false otherwise
179
175
  */
180
- global.kuzzle.onAsk(
181
- 'core:cache:internal:store',
182
- (key, value, opts) => this.internal.store(key, value, opts));
176
+ global.kuzzle.onAsk("core:cache:internal:store", (key, value, opts) =>
177
+ this.internal.store(key, value, opts)
178
+ );
183
179
 
184
180
  /**
185
181
  * Executes an arbitrary NATIVE cache command directly
186
182
  * @param {string} command
187
183
  * @param {Array} args -- command arguments
188
184
  */
189
- global.kuzzle.onAsk(
190
- 'core:cache:internal:execute',
191
- (command, ...args) => this.internal.exec(command, ...args));
185
+ global.kuzzle.onAsk("core:cache:internal:execute", (command, ...args) =>
186
+ this.internal.exec(command, ...args)
187
+ );
192
188
  }
193
189
 
194
- registerPublicEvents () {
190
+ registerPublicEvents() {
195
191
  /**
196
192
  * Deletes on or multiple keys
197
193
  * @param {string|Array.<string>} keys
198
194
  */
199
- global.kuzzle.onAsk(
200
- 'core:cache:public:del',
201
- keys => this.public.commands.del(keys));
195
+ global.kuzzle.onAsk("core:cache:public:del", (keys) =>
196
+ this.public.commands.del(keys)
197
+ );
202
198
 
203
199
  /**
204
200
  * Executes an arbitrary NATIVE cache command directly
205
201
  * @param {string} command
206
202
  * @param {Array} args -- command arguments
207
203
  */
208
- global.kuzzle.onAsk(
209
- 'core:cache:public:execute',
210
- (command, ...args) => this.public.exec(command, ...args));
204
+ global.kuzzle.onAsk("core:cache:public:execute", (command, ...args) =>
205
+ this.public.exec(command, ...args)
206
+ );
211
207
 
212
208
  /**
213
209
  * Asks a key to expire in the provided delay
214
210
  * @param {string} key
215
211
  * @param {number} ttl (in seconds)
216
212
  */
217
- global.kuzzle.onAsk(
218
- 'core:cache:public:expire',
219
- (key, ttl) => this.public.commands.expire(key, ttl));
213
+ global.kuzzle.onAsk("core:cache:public:expire", (key, ttl) =>
214
+ this.public.commands.expire(key, ttl)
215
+ );
220
216
 
221
217
  /**
222
218
  * Wipes the database clean
223
219
  */
224
- global.kuzzle.onAsk(
225
- 'core:cache:public:flushdb',
226
- () => this.public.commands.flushdb());
220
+ global.kuzzle.onAsk("core:cache:public:flushdb", () =>
221
+ this.public.commands.flushdb()
222
+ );
227
223
 
228
224
  /**
229
225
  * Returns basic information about the internal cache service
230
226
  * @returns {Promise.<Object>}
231
227
  */
232
- global.kuzzle.onAsk(
233
- 'core:cache:public:info:get',
234
- () => this.public.info());
228
+ global.kuzzle.onAsk("core:cache:public:info:get", () => this.public.info());
235
229
 
236
230
  /**
237
231
  * Fetches a single value
238
232
  * @param {string} key
239
233
  * @return {string}
240
234
  */
241
- global.kuzzle.onAsk(
242
- 'core:cache:public:get',
243
- key => this.public.commands.get(key));
235
+ global.kuzzle.onAsk("core:cache:public:get", (key) =>
236
+ this.public.commands.get(key)
237
+ );
244
238
 
245
239
  /**
246
240
  * Executes multiple cache commands in one go, as a single transaction
247
241
  * @param {Array} commands to execute
248
242
  */
249
- global.kuzzle.onAsk(
250
- 'core:cache:public:mExecute',
251
- commands => this.public.mExecute(commands));
243
+ global.kuzzle.onAsk("core:cache:public:mExecute", (commands) =>
244
+ this.public.mExecute(commands)
245
+ );
252
246
 
253
247
  /**
254
248
  * Makes a key persistent (disable its expiration delay, if there is one)
255
249
  * @param {string} key
256
250
  */
257
- global.kuzzle.onAsk(
258
- 'core:cache:public:persist',
259
- (key) => this.public.commands.persist(key));
251
+ global.kuzzle.onAsk("core:cache:public:persist", (key) =>
252
+ this.public.commands.persist(key)
253
+ );
260
254
 
261
255
  /**
262
256
  * Convenience method for easy access to options NX and PX of the "set"
@@ -273,9 +267,9 @@ class CacheEngine {
273
267
  * @param {{ttl: number, onlyIfNew: boolean}} [opts]
274
268
  * @returns {Promise.<boolean>} true if the key was set, false otherwise
275
269
  */
276
- global.kuzzle.onAsk(
277
- 'core:cache:public:store',
278
- (key, value, opts) => this.public.store(key, value, opts));
270
+ global.kuzzle.onAsk("core:cache:public:store", (key, value, opts) =>
271
+ this.public.store(key, value, opts)
272
+ );
279
273
  }
280
274
  }
281
275