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.
- package/dist/bin/copy-protobuf.js +17 -0
- package/dist/lib/api/controllers/adminController.d.ts +51 -0
- package/dist/lib/api/controllers/adminController.js +191 -0
- package/{lib → dist/lib}/api/controllers/authController.d.ts +20 -40
- package/{lib → dist/lib}/api/controllers/authController.js +23 -24
- package/dist/lib/api/controllers/bulkController.d.ts +46 -0
- package/dist/lib/api/controllers/bulkController.js +132 -0
- package/dist/lib/api/controllers/clusterController.d.ts +6 -0
- package/{lib → dist/lib}/api/controllers/clusterController.js +7 -11
- package/dist/lib/api/controllers/collectionController.d.ts +136 -0
- package/dist/lib/api/controllers/collectionController.js +356 -0
- package/dist/lib/api/controllers/documentController.d.ts +181 -0
- package/dist/lib/api/controllers/documentController.js +768 -0
- package/dist/lib/api/controllers/index.d.ts +12 -0
- package/{lib → dist/lib}/api/controllers/index.js +13 -14
- package/dist/lib/api/controllers/indexController.d.ts +65 -0
- package/dist/lib/api/controllers/indexController.js +139 -0
- package/dist/lib/api/controllers/memoryStorageController.d.ts +8 -0
- package/dist/lib/api/controllers/memoryStorageController.js +867 -0
- package/dist/lib/api/controllers/realtimeController.d.ts +47 -0
- package/dist/lib/api/controllers/realtimeController.js +128 -0
- package/dist/lib/api/controllers/securityController.d.ts +423 -0
- package/dist/lib/api/controllers/securityController.js +1139 -0
- package/dist/lib/api/controllers/serverController.d.ts +82 -0
- package/dist/lib/api/controllers/serverController.js +321 -0
- package/dist/lib/api/documentExtractor.d.ts +9 -0
- package/dist/lib/api/documentExtractor.js +274 -0
- package/dist/lib/api/funnel.d.ts +183 -0
- package/dist/lib/api/funnel.js +821 -0
- package/dist/lib/api/httpRoutes.d.ts +17 -0
- package/dist/lib/api/httpRoutes.js +1496 -0
- package/dist/lib/api/rateLimiter.d.ts +18 -0
- package/dist/lib/api/rateLimiter.js +74 -0
- package/{lib → dist/lib}/api/request/kuzzleRequest.d.ts +2 -2
- package/{lib → dist/lib}/api/request/requestContext.d.ts +2 -1
- package/dist/lib/cluster/command.d.ts +73 -0
- package/dist/lib/cluster/command.js +236 -0
- package/dist/lib/cluster/index.d.ts +2 -0
- package/{lib → dist/lib}/cluster/index.js +1 -2
- package/dist/lib/cluster/node.d.ts +278 -0
- package/dist/lib/cluster/node.js +876 -0
- package/dist/lib/cluster/publisher.d.ts +188 -0
- package/dist/lib/cluster/publisher.js +347 -0
- package/dist/lib/cluster/subscriber.d.ts +269 -0
- package/dist/lib/cluster/subscriber.js +555 -0
- package/dist/lib/cluster/workers/IDCardRenewer.d.ts +13 -0
- package/dist/lib/cluster/workers/IDCardRenewer.js +120 -0
- package/{lib → dist/lib}/config/documentEventAliases.d.ts +1 -2
- package/dist/lib/config/index.d.ts +5 -0
- package/dist/lib/config/index.js +244 -0
- package/dist/lib/config/sdkCompatibility.json +9 -0
- package/dist/lib/core/auth/formatProcessing.d.ts +30 -0
- package/dist/lib/core/auth/formatProcessing.js +55 -0
- package/dist/lib/core/auth/passportResponse.d.ts +15 -0
- package/{lib → dist/lib}/core/auth/passportResponse.js +24 -30
- package/dist/lib/core/auth/passportWrapper.d.ts +28 -0
- package/dist/lib/core/auth/passportWrapper.js +126 -0
- package/{lib → dist/lib}/core/backend/backendConfig.js +2 -2
- package/{lib → dist/lib}/core/backend/backendErrors.js +9 -12
- package/dist/lib/core/cache/cacheEngine.d.ts +15 -0
- package/dist/lib/core/cache/cacheEngine.js +205 -0
- package/dist/lib/core/network/accessLogger.d.ts +29 -0
- package/dist/lib/core/network/accessLogger.js +250 -0
- package/dist/lib/core/network/clientConnection.d.ts +15 -0
- package/{lib → dist/lib}/core/network/clientConnection.js +17 -24
- package/dist/lib/core/network/context.d.ts +42 -0
- package/dist/lib/core/network/context.js +57 -0
- package/dist/lib/core/network/entryPoint.d.ts +62 -0
- package/dist/lib/core/network/entryPoint.js +261 -0
- package/dist/lib/core/network/httpRouter/index.d.ts +85 -0
- package/dist/lib/core/network/httpRouter/index.js +258 -0
- package/dist/lib/core/network/httpRouter/routeHandler.d.ts +46 -0
- package/dist/lib/core/network/httpRouter/routeHandler.js +101 -0
- package/dist/lib/core/network/httpRouter/routePart.d.ts +35 -0
- package/dist/lib/core/network/httpRouter/routePart.js +117 -0
- package/dist/lib/core/network/protocolManifest.d.ts +6 -0
- package/{lib → dist/lib}/core/network/protocolManifest.js +5 -9
- package/dist/lib/core/network/protocols/httpMessage.d.ts +22 -0
- package/dist/lib/core/network/protocols/httpMessage.js +62 -0
- package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +171 -0
- package/dist/lib/core/network/protocols/httpwsProtocol.js +921 -0
- package/dist/lib/core/network/protocols/internalProtocol.d.ts +27 -0
- package/dist/lib/core/network/protocols/internalProtocol.js +82 -0
- package/dist/lib/core/network/protocols/mqttProtocol.d.ts +39 -0
- package/dist/lib/core/network/protocols/mqttProtocol.js +219 -0
- package/dist/lib/core/network/protocols/protocol.d.ts +26 -0
- package/dist/lib/core/network/protocols/protocol.js +74 -0
- package/dist/lib/core/network/router.d.ts +49 -0
- package/dist/lib/core/network/router.js +193 -0
- package/dist/lib/core/plugin/plugin.d.ts +56 -0
- package/dist/lib/core/plugin/plugin.js +282 -0
- package/{lib → dist/lib}/core/plugin/pluginContext.js +2 -2
- package/dist/lib/core/plugin/pluginManifest.d.ts +5 -0
- package/{lib → dist/lib}/core/plugin/pluginManifest.js +16 -27
- package/dist/lib/core/plugin/pluginRepository.d.ts +53 -0
- package/dist/lib/core/plugin/pluginRepository.js +112 -0
- package/dist/lib/core/plugin/pluginsManager.d.ts +190 -0
- package/dist/lib/core/plugin/pluginsManager.js +817 -0
- package/dist/lib/core/plugin/privilegedContext.d.ts +14 -0
- package/{lib → dist/lib}/core/plugin/privilegedContext.js +10 -14
- package/dist/lib/core/realtime/actionEnum.d.ts +25 -0
- package/{lib → dist/lib}/core/realtime/actionEnum.js +7 -10
- package/dist/lib/core/realtime/index.d.ts +8 -0
- package/{lib → dist/lib}/core/realtime/index.js +9 -13
- package/dist/lib/core/realtime/notification/document.d.ts +34 -0
- package/dist/lib/core/realtime/notification/document.js +98 -0
- package/dist/lib/core/realtime/notification/index.d.ts +3 -0
- package/{lib → dist/lib}/core/realtime/notification/index.js +4 -5
- package/dist/lib/core/realtime/notification/server.d.ts +17 -0
- package/{lib → dist/lib}/core/realtime/notification/server.js +8 -10
- package/dist/lib/core/realtime/notification/user.d.ts +29 -0
- package/dist/lib/core/realtime/notification/user.js +66 -0
- package/dist/lib/core/realtime/notifier.d.ts +171 -0
- package/dist/lib/core/realtime/notifier.js +405 -0
- package/dist/lib/core/security/index.d.ts +14 -0
- package/{lib → dist/lib}/core/security/index.js +15 -19
- package/dist/lib/core/security/roleRepository.d.ts +143 -0
- package/dist/lib/core/security/roleRepository.js +445 -0
- package/dist/lib/core/security/securityLoader.d.ts +24 -0
- package/dist/lib/core/security/securityLoader.js +125 -0
- package/{lib → dist/lib}/core/security/tokenRepository.js +1 -1
- package/dist/lib/core/security/userRepository.d.ts +81 -0
- package/dist/lib/core/security/userRepository.js +346 -0
- package/dist/lib/core/shared/abstractManifest.d.ts +27 -0
- package/dist/lib/core/shared/abstractManifest.js +85 -0
- package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +7 -0
- package/dist/lib/core/shared/sdk/impersonatedSdk.js +80 -0
- package/{lib → dist/lib}/core/shared/store.d.ts +2 -2
- package/dist/lib/core/statistics/statistics.d.ts +94 -0
- package/dist/lib/core/statistics/statistics.js +287 -0
- package/dist/lib/core/storage/clientAdapter.d.ts +62 -0
- package/dist/lib/core/storage/clientAdapter.js +756 -0
- package/dist/lib/core/storage/storageEngine.d.ts +13 -0
- package/dist/lib/core/storage/storageEngine.js +52 -0
- package/dist/lib/core/validation/baseType.d.ts +35 -0
- package/dist/lib/core/validation/baseType.js +70 -0
- package/dist/lib/core/validation/types/anything.d.ts +10 -0
- package/{lib → dist/lib}/core/validation/types/anything.js +7 -10
- package/dist/lib/core/validation/types/boolean.d.ts +16 -0
- package/{lib → dist/lib}/core/validation/types/boolean.js +18 -23
- package/dist/lib/core/validation/types/date.d.ts +17 -0
- package/dist/lib/core/validation/types/date.js +215 -0
- package/dist/lib/core/validation/types/email.d.ts +17 -0
- package/dist/lib/core/validation/types/email.js +80 -0
- package/dist/lib/core/validation/types/enum.d.ts +17 -0
- package/dist/lib/core/validation/types/enum.js +70 -0
- package/dist/lib/core/validation/types/geoPoint.d.ts +17 -0
- package/{lib → dist/lib}/core/validation/types/geoPoint.js +19 -24
- package/dist/lib/core/validation/types/geoShape.d.ts +31 -0
- package/dist/lib/core/validation/types/geoShape.js +280 -0
- package/dist/lib/core/validation/types/integer.d.ts +7 -0
- package/{lib → dist/lib}/core/validation/types/integer.js +21 -27
- package/dist/lib/core/validation/types/ipAddress.d.ts +17 -0
- package/dist/lib/core/validation/types/ipAddress.js +73 -0
- package/dist/lib/core/validation/types/numeric.d.ts +17 -0
- package/dist/lib/core/validation/types/numeric.js +84 -0
- package/dist/lib/core/validation/types/object.d.ts +24 -0
- package/dist/lib/core/validation/types/object.js +74 -0
- package/dist/lib/core/validation/types/string.d.ts +17 -0
- package/dist/lib/core/validation/types/string.js +85 -0
- package/dist/lib/core/validation/types/url.d.ts +17 -0
- package/dist/lib/core/validation/types/url.js +73 -0
- package/dist/lib/core/validation/validation.d.ts +113 -0
- package/dist/lib/core/validation/validation.js +692 -0
- package/dist/lib/kerror/codes/0-core.json +194 -0
- package/dist/lib/kerror/codes/1-services.json +351 -0
- package/dist/lib/kerror/codes/2-api.json +195 -0
- package/dist/lib/kerror/codes/3-network.json +151 -0
- package/dist/lib/kerror/codes/4-plugin.json +498 -0
- package/dist/lib/kerror/codes/5-validation.json +158 -0
- package/dist/lib/kerror/codes/6-protocol.json +28 -0
- package/dist/lib/kerror/codes/7-security.json +283 -0
- package/dist/lib/kerror/codes/8-cluster.json +16 -0
- package/dist/lib/kerror/codes/index.d.ts +24 -0
- package/dist/lib/kerror/codes/index.js +140 -0
- package/{lib → dist/lib}/kerror/index.d.ts +5 -5
- package/{lib → dist/lib}/kuzzle/Logger.d.ts +6 -0
- package/{lib → dist/lib}/kuzzle/Logger.js +26 -5
- package/dist/lib/kuzzle/dumpGenerator.d.ts +14 -0
- package/dist/lib/kuzzle/dumpGenerator.js +180 -0
- package/dist/lib/kuzzle/event/pipeRunner.d.ts +30 -0
- package/dist/lib/kuzzle/event/pipeRunner.js +119 -0
- package/dist/lib/kuzzle/event/waterfall.d.ts +2 -0
- package/dist/lib/kuzzle/event/waterfall.js +90 -0
- package/dist/lib/kuzzle/internalIndexHandler.d.ts +186 -0
- package/dist/lib/kuzzle/internalIndexHandler.js +174 -0
- package/{lib → dist/lib}/kuzzle/kuzzle.d.ts +6 -7
- package/{lib → dist/lib}/kuzzle/kuzzle.js +5 -2
- package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +20 -0
- package/{lib → dist/lib}/kuzzle/kuzzleStateEnum.js +5 -8
- package/dist/lib/kuzzle/vault.d.ts +2 -0
- package/dist/lib/kuzzle/vault.js +63 -0
- package/dist/lib/model/security/rights.d.ts +8 -0
- package/{lib → dist/lib}/model/security/rights.js +4 -8
- package/{lib → dist/lib}/model/security/role.d.ts +1 -1
- package/{lib → dist/lib}/model/security/user.d.ts +1 -0
- package/dist/lib/model/storage/apiKey.d.ts +49 -0
- package/dist/lib/model/storage/apiKey.js +126 -0
- package/dist/lib/model/storage/baseModel.d.ts +100 -0
- package/dist/lib/model/storage/baseModel.js +211 -0
- package/dist/lib/service/cache/redis.d.ts +74 -0
- package/dist/lib/service/cache/redis.js +237 -0
- package/dist/lib/service/service.d.ts +30 -0
- package/dist/lib/service/service.js +74 -0
- package/{lib → dist/lib}/service/storage/7/elasticsearch.d.ts +2 -2
- package/{lib → dist/lib}/service/storage/7/elasticsearch.js +23 -25
- package/dist/lib/service/storage/7/esWrapper.d.ts +19 -0
- package/dist/lib/service/storage/7/esWrapper.js +245 -0
- package/{lib → dist/lib}/service/storage/8/elasticsearch.js +23 -25
- package/dist/lib/service/storage/8/esWrapper.d.ts +19 -0
- package/dist/lib/service/storage/8/esWrapper.js +245 -0
- package/{lib → dist/lib}/types/Plugin.d.ts +1 -1
- package/{lib/types → dist/lib/types/controllers}/Controller.d.ts +2 -2
- package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.d.ts +1 -1
- package/dist/lib/types/controllers/adminControlller.type.d.ts +5 -0
- package/dist/lib/types/controllers/adminControlller.type.js +3 -0
- package/dist/lib/types/controllers/authController.type.d.ts +5 -0
- package/dist/lib/types/controllers/authController.type.js +3 -0
- package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -0
- package/dist/lib/types/core/auth/formatProcessing.type.js +3 -0
- package/{lib → dist/lib}/types/index.d.ts +3 -3
- package/{lib → dist/lib}/types/index.js +3 -3
- package/dist/lib/util/assertType.d.ts +41 -0
- package/{lib → dist/lib}/util/assertType.js +38 -56
- package/dist/lib/util/asyncStore.d.ts +38 -0
- package/dist/lib/util/asyncStore.js +70 -0
- package/dist/lib/util/bytes.d.ts +2 -0
- package/dist/lib/util/bytes.js +33 -0
- package/dist/lib/util/debug.d.ts +2 -0
- package/{lib → dist/lib}/util/debug.js +15 -23
- package/dist/lib/util/deprecate.d.ts +1 -0
- package/dist/lib/util/deprecate.js +64 -0
- package/dist/lib/util/didYouMean.d.ts +2 -0
- package/{lib → dist/lib}/util/didYouMean.js +9 -15
- package/dist/lib/util/extractFields.d.ts +17 -0
- package/{lib → dist/lib}/util/extractFields.js +18 -32
- package/dist/lib/util/memoize.d.ts +7 -0
- package/{lib → dist/lib}/util/memoize.js +14 -21
- package/dist/lib/util/promback.d.ts +13 -0
- package/dist/lib/util/promback.js +60 -0
- package/dist/lib/util/requestAssertions.d.ts +10 -0
- package/dist/lib/util/requestAssertions.js +143 -0
- package/dist/lib/util/safeObject.d.ts +3 -0
- package/{lib → dist/lib}/util/safeObject.js +7 -13
- package/dist/lib/util/stackTrace.d.ts +19 -0
- package/{lib → dist/lib}/util/stackTrace.js +35 -41
- package/dist/lib/util/wildcard.d.ts +1 -0
- package/{lib → dist/lib}/util/wildcard.js +21 -30
- package/dist/package.json +119 -0
- package/package.json +44 -58
- package/bin/start-kuzzle-server +0 -126
- package/check-node-version.js +0 -17
- package/lib/api/controllers/adminController.js +0 -229
- package/lib/api/controllers/bulkController.js +0 -210
- package/lib/api/controllers/collectionController.js +0 -502
- package/lib/api/controllers/documentController.js +0 -1156
- package/lib/api/controllers/indexController.js +0 -179
- package/lib/api/controllers/memoryStorageController.js +0 -1023
- package/lib/api/controllers/realtimeController.js +0 -155
- package/lib/api/controllers/securityController.js +0 -1571
- package/lib/api/controllers/serverController.js +0 -381
- package/lib/api/documentExtractor.js +0 -309
- package/lib/api/funnel.js +0 -1143
- package/lib/api/httpRoutes.js +0 -1547
- package/lib/api/rateLimiter.js +0 -87
- package/lib/cluster/command.js +0 -284
- package/lib/cluster/node.js +0 -1203
- package/lib/cluster/publisher.js +0 -386
- package/lib/cluster/subscriber.js +0 -776
- package/lib/cluster/workers/IDCardRenewer.js +0 -144
- package/lib/config/index.js +0 -351
- package/lib/config/sdkCompatibility.json +0 -9
- package/lib/core/auth/formatProcessing.js +0 -66
- package/lib/core/auth/passportWrapper.js +0 -126
- package/lib/core/cache/cacheEngine.js +0 -278
- package/lib/core/network/accessLogger.js +0 -322
- package/lib/core/network/context.js +0 -80
- package/lib/core/network/entryPoint.js +0 -358
- package/lib/core/network/httpRouter/index.js +0 -316
- package/lib/core/network/httpRouter/routeHandler.js +0 -111
- package/lib/core/network/httpRouter/routePart.js +0 -147
- package/lib/core/network/protocols/httpMessage.js +0 -69
- package/lib/core/network/protocols/httpwsProtocol.js +0 -1254
- package/lib/core/network/protocols/internalProtocol.js +0 -109
- package/lib/core/network/protocols/mqttProtocol.js +0 -291
- package/lib/core/network/protocols/protocol.js +0 -102
- package/lib/core/network/router.js +0 -255
- package/lib/core/plugin/plugin.js +0 -436
- package/lib/core/plugin/pluginRepository.js +0 -132
- package/lib/core/plugin/pluginsManager.js +0 -1244
- package/lib/core/realtime/notification/document.js +0 -108
- package/lib/core/realtime/notification/user.js +0 -70
- package/lib/core/realtime/notifier.js +0 -541
- package/lib/core/security/README.md +0 -223
- package/lib/core/security/roleRepository.js +0 -569
- package/lib/core/security/securityLoader.js +0 -174
- package/lib/core/security/userRepository.js +0 -446
- package/lib/core/shared/README.md +0 -3
- package/lib/core/shared/abstractManifest.js +0 -102
- package/lib/core/shared/sdk/impersonatedSdk.js +0 -94
- package/lib/core/statistics/index.js +0 -24
- package/lib/core/statistics/statistics.js +0 -373
- package/lib/core/storage/clientAdapter.js +0 -1045
- package/lib/core/storage/storageEngine.js +0 -63
- package/lib/core/validation/baseType.js +0 -80
- package/lib/core/validation/index.js +0 -24
- package/lib/core/validation/types/date.js +0 -284
- package/lib/core/validation/types/email.js +0 -92
- package/lib/core/validation/types/enum.js +0 -100
- package/lib/core/validation/types/geoShape.js +0 -370
- package/lib/core/validation/types/ipAddress.js +0 -83
- package/lib/core/validation/types/numeric.js +0 -108
- package/lib/core/validation/types/object.js +0 -88
- package/lib/core/validation/types/string.js +0 -110
- package/lib/core/validation/types/url.js +0 -83
- package/lib/core/validation/validation.js +0 -1180
- package/lib/kerror/codes/0-core.json +0 -194
- package/lib/kerror/codes/1-services.json +0 -351
- package/lib/kerror/codes/2-api.json +0 -195
- package/lib/kerror/codes/3-network.json +0 -151
- package/lib/kerror/codes/4-plugin.json +0 -498
- package/lib/kerror/codes/5-validation.json +0 -158
- package/lib/kerror/codes/6-protocol.json +0 -28
- package/lib/kerror/codes/7-security.json +0 -283
- package/lib/kerror/codes/8-cluster.json +0 -16
- package/lib/kerror/codes/index.js +0 -208
- package/lib/kuzzle/dumpGenerator.js +0 -259
- package/lib/kuzzle/event/pipeRunner.js +0 -144
- package/lib/kuzzle/event/waterfall.js +0 -101
- package/lib/kuzzle/internalIndexHandler.js +0 -234
- package/lib/kuzzle/vault.js +0 -89
- package/lib/model/storage/apiKey.js +0 -158
- package/lib/model/storage/baseModel.js +0 -275
- package/lib/service/cache/redis.js +0 -282
- package/lib/service/service.js +0 -84
- package/lib/service/storage/7/esWrapper.js +0 -303
- package/lib/service/storage/8/esWrapper.js +0 -303
- package/lib/util/asyncStore.js +0 -112
- package/lib/util/bytes.js +0 -36
- package/lib/util/deprecate.js +0 -82
- package/lib/util/promback.js +0 -66
- package/lib/util/readYamlFile.d.ts +0 -2
- package/lib/util/readYamlFile.js +0 -10
- package/lib/util/requestAssertions.js +0 -157
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.js → dist/index.js} +0 -0
- /package/{lib → dist/lib}/api/controllers/baseController.d.ts +0 -0
- /package/{lib → dist/lib}/api/controllers/baseController.js +0 -0
- /package/{lib → dist/lib}/api/controllers/debugController.d.ts +0 -0
- /package/{lib → dist/lib}/api/controllers/debugController.js +0 -0
- /package/{lib → dist/lib}/api/openapi/OpenApiManager.d.ts +0 -0
- /package/{lib → dist/lib}/api/openapi/OpenApiManager.js +0 -0
- /package/{lib → dist/lib}/api/openapi/index.d.ts +0 -0
- /package/{lib → dist/lib}/api/openapi/index.js +0 -0
- /package/{lib → dist/lib}/api/openapi/openApiGenerator.d.ts +0 -0
- /package/{lib → dist/lib}/api/openapi/openApiGenerator.js +0 -0
- /package/{lib → dist/lib}/api/request/index.d.ts +0 -0
- /package/{lib → dist/lib}/api/request/index.js +0 -0
- /package/{lib → dist/lib}/api/request/kuzzleRequest.js +0 -0
- /package/{lib → dist/lib}/api/request/requestContext.js +0 -0
- /package/{lib → dist/lib}/api/request/requestInput.d.ts +0 -0
- /package/{lib → dist/lib}/api/request/requestInput.js +0 -0
- /package/{lib → dist/lib}/api/request/requestResponse.d.ts +0 -0
- /package/{lib → dist/lib}/api/request/requestResponse.js +0 -0
- /package/{lib → dist/lib}/cluster/idCardHandler.d.ts +0 -0
- /package/{lib → dist/lib}/cluster/idCardHandler.js +0 -0
- /package/{lib → dist/lib}/cluster/protobuf/command.proto +0 -0
- /package/{lib → dist/lib}/cluster/protobuf/sync.proto +0 -0
- /package/{lib → dist/lib}/cluster/state.d.ts +0 -0
- /package/{lib → dist/lib}/cluster/state.js +0 -0
- /package/{lib → dist/lib}/config/default.config.d.ts +0 -0
- /package/{lib → dist/lib}/config/default.config.js +0 -0
- /package/{lib → dist/lib}/config/documentEventAliases.js +0 -0
- /package/{lib → dist/lib}/core/auth/tokenManager.d.ts +0 -0
- /package/{lib → dist/lib}/core/auth/tokenManager.js +0 -0
- /package/{lib → dist/lib}/core/backend/applicationManager.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/applicationManager.js +0 -0
- /package/{lib → dist/lib}/core/backend/backend.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backend.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendCluster.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendCluster.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendConfig.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendController.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendController.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendErrors.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendHook.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendHook.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendImport.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendImport.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendOpenApi.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendOpenApi.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendPipe.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendPipe.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendPlugin.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendPlugin.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendStorage.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendStorage.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendSubscription.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendSubscription.js +0 -0
- /package/{lib → dist/lib}/core/backend/backendVault.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/backendVault.js +0 -0
- /package/{lib → dist/lib}/core/backend/index.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/index.js +0 -0
- /package/{lib → dist/lib}/core/backend/internalLogger.d.ts +0 -0
- /package/{lib → dist/lib}/core/backend/internalLogger.js +0 -0
- /package/{lib → dist/lib}/core/cache/cacheDbEnum.d.ts +0 -0
- /package/{lib → dist/lib}/core/cache/cacheDbEnum.js +0 -0
- /package/{lib → dist/lib}/core/debug/kuzzleDebugger.d.ts +0 -0
- /package/{lib → dist/lib}/core/debug/kuzzleDebugger.js +0 -0
- /package/{lib → dist/lib}/core/plugin/pluginContext.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/channel.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/channel.js +0 -0
- /package/{lib → dist/lib}/core/realtime/connectionRooms.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/connectionRooms.js +0 -0
- /package/{lib → dist/lib}/core/realtime/hotelClerk.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/hotelClerk.js +0 -0
- /package/{lib → dist/lib}/core/realtime/room.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/room.js +0 -0
- /package/{lib → dist/lib}/core/realtime/subscription.d.ts +0 -0
- /package/{lib → dist/lib}/core/realtime/subscription.js +0 -0
- /package/{lib → dist/lib}/core/security/profileRepository.d.ts +0 -0
- /package/{lib → dist/lib}/core/security/profileRepository.js +0 -0
- /package/{lib → dist/lib}/core/security/tokenRepository.d.ts +0 -0
- /package/{lib → dist/lib}/core/shared/KoncordeWrapper.d.ts +0 -0
- /package/{lib → dist/lib}/core/shared/KoncordeWrapper.js +0 -0
- /package/{lib → dist/lib}/core/shared/ObjectRepository.d.ts +0 -0
- /package/{lib → dist/lib}/core/shared/ObjectRepository.js +0 -0
- /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.d.ts +0 -0
- /package/{lib → dist/lib}/core/shared/sdk/embeddedSdk.js +0 -0
- /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.d.ts +0 -0
- /package/{lib → dist/lib}/core/shared/sdk/funnelProtocol.js +0 -0
- /package/{lib → dist/lib}/core/shared/store.js +0 -0
- /package/{lib → dist/lib}/core/storage/indexCache.d.ts +0 -0
- /package/{lib → dist/lib}/core/storage/indexCache.js +0 -0
- /package/{lib → dist/lib}/core/storage/storeScopeEnum.d.ts +0 -0
- /package/{lib → dist/lib}/core/storage/storeScopeEnum.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/badRequestError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/badRequestError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/externalServiceError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/externalServiceError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/forbiddenError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/forbiddenError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/gatewayTimeoutError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/index.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/index.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/internalError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/internalError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/kuzzleError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/kuzzleError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/multipleErrorsError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/notFoundError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/notFoundError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/partialError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/partialError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/pluginImplementationError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/preconditionError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/preconditionError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/serviceUnavailableError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/sizeLimitError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/sizeLimitError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/tooManyRequestsError.js +0 -0
- /package/{lib → dist/lib}/kerror/errors/unauthorizedError.d.ts +0 -0
- /package/{lib → dist/lib}/kerror/errors/unauthorizedError.js +0 -0
- /package/{lib → dist/lib}/kerror/index.js +0 -0
- /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.d.ts +0 -0
- /package/{lib → dist/lib}/kuzzle/event/KuzzleEventEmitter.js +0 -0
- /package/{lib → dist/lib}/kuzzle/index.d.ts +0 -0
- /package/{lib → dist/lib}/kuzzle/index.js +0 -0
- /package/{lib → dist/lib}/model/security/profile.d.ts +0 -0
- /package/{lib → dist/lib}/model/security/profile.js +0 -0
- /package/{lib → dist/lib}/model/security/role.js +0 -0
- /package/{lib → dist/lib}/model/security/token.d.ts +0 -0
- /package/{lib → dist/lib}/model/security/token.js +0 -0
- /package/{lib → dist/lib}/model/security/user.js +0 -0
- /package/{lib → dist/lib}/service/storage/8/elasticsearch.d.ts +0 -0
- /package/{lib → dist/lib}/service/storage/Elasticsearch.d.ts +0 -0
- /package/{lib → dist/lib}/service/storage/Elasticsearch.js +0 -0
- /package/{lib → dist/lib}/service/storage/commons/queryTranslator.d.ts +0 -0
- /package/{lib → dist/lib}/service/storage/commons/queryTranslator.js +0 -0
- /package/{lib → dist/lib}/types/ClientConnection.d.ts +0 -0
- /package/{lib → dist/lib}/types/ClientConnection.js +0 -0
- /package/{lib → dist/lib}/types/Deprecation.d.ts +0 -0
- /package/{lib → dist/lib}/types/Deprecation.js +0 -0
- /package/{lib → dist/lib}/types/EventHandler.d.ts +0 -0
- /package/{lib → dist/lib}/types/EventHandler.js +0 -0
- /package/{lib → dist/lib}/types/Global.d.ts +0 -0
- /package/{lib → dist/lib}/types/Global.js +0 -0
- /package/{lib → dist/lib}/types/HttpMessage.d.ts +0 -0
- /package/{lib → dist/lib}/types/HttpMessage.js +0 -0
- /package/{lib → dist/lib}/types/HttpStream.d.ts +0 -0
- /package/{lib → dist/lib}/types/HttpStream.js +0 -0
- /package/{lib → dist/lib}/types/Kuzzle.d.ts +0 -0
- /package/{lib → dist/lib}/types/Kuzzle.js +0 -0
- /package/{lib → dist/lib}/types/KuzzleDocument.d.ts +0 -0
- /package/{lib → dist/lib}/types/KuzzleDocument.js +0 -0
- /package/{lib → dist/lib}/types/OpenApiDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/OpenApiDefinition.js +0 -0
- /package/{lib → dist/lib}/types/PasswordPolicy.d.ts +0 -0
- /package/{lib → dist/lib}/types/PasswordPolicy.js +0 -0
- /package/{lib → dist/lib}/types/Plugin.js +0 -0
- /package/{lib → dist/lib}/types/PluginManifest.d.ts +0 -0
- /package/{lib → dist/lib}/types/PluginManifest.js +0 -0
- /package/{lib → dist/lib}/types/Policy.d.ts +0 -0
- /package/{lib → dist/lib}/types/Policy.js +0 -0
- /package/{lib → dist/lib}/types/PolicyRestrictions.d.ts +0 -0
- /package/{lib → dist/lib}/types/PolicyRestrictions.js +0 -0
- /package/{lib → dist/lib}/types/ProfileDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/ProfileDefinition.js +0 -0
- /package/{lib → dist/lib}/types/RoleDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/RoleDefinition.js +0 -0
- /package/{lib → dist/lib}/types/StrategyDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/StrategyDefinition.js +0 -0
- /package/{lib → dist/lib}/types/Target.d.ts +0 -0
- /package/{lib → dist/lib}/types/Target.js +0 -0
- /package/{lib → dist/lib}/types/Token.d.ts +0 -0
- /package/{lib → dist/lib}/types/Token.js +0 -0
- /package/{lib → dist/lib}/types/User.d.ts +0 -0
- /package/{lib → dist/lib}/types/User.js +0 -0
- /package/{lib → dist/lib}/types/config/DumpConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/DumpConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/HttpConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/HttpConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/KuzzleConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/KuzzleConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/LimitsConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/LimitsConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/PluginsConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/PluginsConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/SecurityConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/SecurityConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/ServerConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/ServerConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/ServicesConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/ServicesConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/internalCache/InternalCacheRedisConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/publicCache/PublicCacheRedisConfiguration.js +0 -0
- /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +0 -0
- /package/{lib → dist/lib}/types/config/storageEngine/StorageEngineElasticsearchConfiguration.js +0 -0
- /package/{lib/types → dist/lib/types/controllers}/Controller.js +0 -0
- /package/{lib/types → dist/lib/types/controllers}/ControllerDefinition.js +0 -0
- /package/{lib/types → dist/lib/types/controllers}/ControllerRights.d.ts +0 -0
- /package/{lib/types → dist/lib/types/controllers}/ControllerRights.js +0 -0
- /package/{lib → dist/lib}/types/errors/ErrorDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/errors/ErrorDefinition.js +0 -0
- /package/{lib → dist/lib}/types/errors/ErrorDomains.d.ts +0 -0
- /package/{lib → dist/lib}/types/errors/ErrorDomains.js +0 -0
- /package/{lib → dist/lib}/types/events/EventGenericDocument.d.ts +0 -0
- /package/{lib → dist/lib}/types/events/EventGenericDocument.js +0 -0
- /package/{lib → dist/lib}/types/events/EventProtocol.d.ts +0 -0
- /package/{lib → dist/lib}/types/events/EventProtocol.js +0 -0
- /package/{lib → dist/lib}/types/realtime/RealtimeScope.d.ts +0 -0
- /package/{lib → dist/lib}/types/realtime/RealtimeScope.js +0 -0
- /package/{lib → dist/lib}/types/realtime/RealtimeUsers.d.ts +0 -0
- /package/{lib → dist/lib}/types/realtime/RealtimeUsers.js +0 -0
- /package/{lib → dist/lib}/types/realtime/RoomList.d.ts +0 -0
- /package/{lib → dist/lib}/types/realtime/RoomList.js +0 -0
- /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.d.ts +0 -0
- /package/{lib → dist/lib}/types/shared/StoreCollectionsDefinition.js +0 -0
- /package/{lib → dist/lib}/types/storage/7/Elasticsearch.d.ts +0 -0
- /package/{lib → dist/lib}/types/storage/7/Elasticsearch.js +0 -0
- /package/{lib → dist/lib}/types/storage/8/Elasticsearch.d.ts +0 -0
- /package/{lib → dist/lib}/types/storage/8/Elasticsearch.js +0 -0
- /package/{lib → dist/lib}/util/Inflector.d.ts +0 -0
- /package/{lib → dist/lib}/util/Inflector.js +0 -0
- /package/{lib → dist/lib}/util/array.d.ts +0 -0
- /package/{lib → dist/lib}/util/array.js +0 -0
- /package/{lib → dist/lib}/util/async.d.ts +0 -0
- /package/{lib → dist/lib}/util/async.js +0 -0
- /package/{lib → dist/lib}/util/bufferedPassThrough.d.ts +0 -0
- /package/{lib → dist/lib}/util/bufferedPassThrough.js +0 -0
- /package/{lib → dist/lib}/util/crypto.d.ts +0 -0
- /package/{lib → dist/lib}/util/crypto.js +0 -0
- /package/{lib → dist/lib}/util/dump-collection.d.ts +0 -0
- /package/{lib → dist/lib}/util/dump-collection.js +0 -0
- /package/{lib → dist/lib}/util/esRequest.d.ts +0 -0
- /package/{lib → dist/lib}/util/esRequest.js +0 -0
- /package/{lib → dist/lib}/util/koncordeCompat.d.ts +0 -0
- /package/{lib → dist/lib}/util/koncordeCompat.js +0 -0
- /package/{lib → dist/lib}/util/mutex.d.ts +0 -0
- /package/{lib → dist/lib}/util/mutex.js +0 -0
- /package/{lib → dist/lib}/util/name-generator.d.ts +0 -0
- /package/{lib → dist/lib}/util/name-generator.js +0 -0
- /package/{lib → dist/lib}/util/time.d.ts +0 -0
- /package/{lib → dist/lib}/util/time.js +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
export = BaseModel;
|
|
2
|
+
declare class BaseModel {
|
|
3
|
+
/**
|
|
4
|
+
* Register a new model
|
|
5
|
+
*
|
|
6
|
+
* @param {Model} ModelClass
|
|
7
|
+
*/
|
|
8
|
+
static register(ModelClass: Model): void;
|
|
9
|
+
/**
|
|
10
|
+
* Loads an instance from the database
|
|
11
|
+
*
|
|
12
|
+
* @param {String} id
|
|
13
|
+
*
|
|
14
|
+
* @returns {BaseModel}
|
|
15
|
+
*/
|
|
16
|
+
static load(id: string): BaseModel;
|
|
17
|
+
/**
|
|
18
|
+
* Deletes all instances matching the given query.
|
|
19
|
+
* - the instance delete method will be called on each occurence
|
|
20
|
+
*
|
|
21
|
+
* @param {Object} query - Search query (e.g. { match_all: {} })
|
|
22
|
+
* @param {Object} options - refresh (undefined)
|
|
23
|
+
*
|
|
24
|
+
* @returns {Promise}
|
|
25
|
+
*/
|
|
26
|
+
static deleteByQuery(query: any, { refresh }?: any): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* Returns instances matching the given query
|
|
29
|
+
*
|
|
30
|
+
* @param {Object} searchBody
|
|
31
|
+
* @param {Object} options - from, size, scroll
|
|
32
|
+
*
|
|
33
|
+
* @returns {Promise<BaseModel[]>} - Array of instances
|
|
34
|
+
*/
|
|
35
|
+
static search(searchBody: any, options: any): Promise<BaseModel[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Deletes all instances of the collection
|
|
38
|
+
*
|
|
39
|
+
* @param {Object} options - refresh (undefined)
|
|
40
|
+
*
|
|
41
|
+
* @returns {Promise}
|
|
42
|
+
*/
|
|
43
|
+
static truncate({ refresh }?: any): Promise<any>;
|
|
44
|
+
static batchExecute(query: any, callback: any): Promise<any>;
|
|
45
|
+
/**
|
|
46
|
+
* Must be overriden by children
|
|
47
|
+
*/
|
|
48
|
+
static get collection(): void;
|
|
49
|
+
/**
|
|
50
|
+
* Must be overriden by children
|
|
51
|
+
*/
|
|
52
|
+
static get fields(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Instantiate the model from a document
|
|
55
|
+
*
|
|
56
|
+
* @param {Object} document - { _id, _source }
|
|
57
|
+
*
|
|
58
|
+
* @returns {BaseModel}
|
|
59
|
+
*/
|
|
60
|
+
static _instantiateFromDb({ _id, _source }: any): BaseModel;
|
|
61
|
+
constructor(_source?: {}, _id?: any);
|
|
62
|
+
__id: any;
|
|
63
|
+
__source: {};
|
|
64
|
+
set _id(_id: any);
|
|
65
|
+
get _id(): any;
|
|
66
|
+
set _source(_source: {});
|
|
67
|
+
get _source(): {};
|
|
68
|
+
/**
|
|
69
|
+
* Save the current instance in the database.
|
|
70
|
+
* - use update if the instance already exists
|
|
71
|
+
* - use create otherwise
|
|
72
|
+
*
|
|
73
|
+
* @param {Object} options - userId (null), refresh (undefined)
|
|
74
|
+
*
|
|
75
|
+
* @returns {Promise}
|
|
76
|
+
*/
|
|
77
|
+
save({ userId, refresh }?: any): Promise<any>;
|
|
78
|
+
__persisted: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Delete the current instance from the database.
|
|
81
|
+
* - call the _afterDelete hook after deletion
|
|
82
|
+
*
|
|
83
|
+
* @param {Object} options - refresh (undefined)
|
|
84
|
+
*
|
|
85
|
+
* @returns {Promise}
|
|
86
|
+
*/
|
|
87
|
+
delete({ refresh }?: any): Promise<any>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a plain object representing the instance
|
|
90
|
+
*
|
|
91
|
+
* @returns {Object} { _id, _source }
|
|
92
|
+
*/
|
|
93
|
+
serialize(): any;
|
|
94
|
+
/**
|
|
95
|
+
* Hook called in the delete method after deletion from the database
|
|
96
|
+
*
|
|
97
|
+
* @returns {Promise}
|
|
98
|
+
*/
|
|
99
|
+
_afterDelete(): Promise<any>;
|
|
100
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
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
|
+
class BaseModel {
|
|
24
|
+
constructor(_source = {}, _id = null) {
|
|
25
|
+
this.__id = null;
|
|
26
|
+
this.__source = {};
|
|
27
|
+
Reflect.defineProperty(this, "__persisted", {
|
|
28
|
+
value: false,
|
|
29
|
+
writable: true,
|
|
30
|
+
});
|
|
31
|
+
this._id = _id;
|
|
32
|
+
this._source = _source;
|
|
33
|
+
}
|
|
34
|
+
// static private methods ====================================================
|
|
35
|
+
/**
|
|
36
|
+
* Register a new model
|
|
37
|
+
*
|
|
38
|
+
* @param {Model} ModelClass
|
|
39
|
+
*/
|
|
40
|
+
static register(ModelClass) {
|
|
41
|
+
if (this !== BaseModel) {
|
|
42
|
+
throw new Error("Incorrect usage of BaseModel.register");
|
|
43
|
+
}
|
|
44
|
+
// Define getters and setters for Model fields
|
|
45
|
+
for (const field of ModelClass.fields) {
|
|
46
|
+
Reflect.defineProperty(ModelClass.prototype, field, {
|
|
47
|
+
get() {
|
|
48
|
+
return this.__source[field];
|
|
49
|
+
},
|
|
50
|
+
set(value) {
|
|
51
|
+
this.__source[field] = value;
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Public methods ============================================================
|
|
57
|
+
/**
|
|
58
|
+
* Save the current instance in the database.
|
|
59
|
+
* - use update if the instance already exists
|
|
60
|
+
* - use create otherwise
|
|
61
|
+
*
|
|
62
|
+
* @param {Object} options - userId (null), refresh (undefined)
|
|
63
|
+
*
|
|
64
|
+
* @returns {Promise}
|
|
65
|
+
*/
|
|
66
|
+
async save({ userId = null, refresh } = {}) {
|
|
67
|
+
if (!this.__persisted) {
|
|
68
|
+
const { _id, _source } = await global.kuzzle.internalIndex.create(this.constructor.collection, this._source, { id: this._id, refresh, userId });
|
|
69
|
+
this._id = _id;
|
|
70
|
+
this._source = _source;
|
|
71
|
+
this.__persisted = true;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
await global.kuzzle.internalIndex.update(this.constructor.collection, this._id, this._source, { refresh, userId });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Delete the current instance from the database.
|
|
79
|
+
* - call the _afterDelete hook after deletion
|
|
80
|
+
*
|
|
81
|
+
* @param {Object} options - refresh (undefined)
|
|
82
|
+
*
|
|
83
|
+
* @returns {Promise}
|
|
84
|
+
*/
|
|
85
|
+
async delete({ refresh } = {}) {
|
|
86
|
+
if (!this.__persisted) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
await global.kuzzle.internalIndex.delete(this.constructor.collection, this._id, { refresh });
|
|
90
|
+
await this._afterDelete();
|
|
91
|
+
this.__persisted = false;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Returns a plain object representing the instance
|
|
95
|
+
*
|
|
96
|
+
* @returns {Object} { _id, _source }
|
|
97
|
+
*/
|
|
98
|
+
serialize() {
|
|
99
|
+
return {
|
|
100
|
+
_id: this._id,
|
|
101
|
+
_source: this._source,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// Protected methods =========================================================
|
|
105
|
+
/**
|
|
106
|
+
* Hook called in the delete method after deletion from the database
|
|
107
|
+
*
|
|
108
|
+
* @returns {Promise}
|
|
109
|
+
*/
|
|
110
|
+
async _afterDelete() {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
// Getter/Setter =============================================================
|
|
114
|
+
get _id() {
|
|
115
|
+
return this.__id;
|
|
116
|
+
}
|
|
117
|
+
set _id(_id) {
|
|
118
|
+
this.__id = _id;
|
|
119
|
+
}
|
|
120
|
+
get _source() {
|
|
121
|
+
return this.__source;
|
|
122
|
+
}
|
|
123
|
+
set _source(_source) {
|
|
124
|
+
for (const key of Object.keys(_source)) {
|
|
125
|
+
if (this.constructor.fields.includes(key)) {
|
|
126
|
+
this.__source[key] = _source[key];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Static public methods =====================================================
|
|
131
|
+
/**
|
|
132
|
+
* Loads an instance from the database
|
|
133
|
+
*
|
|
134
|
+
* @param {String} id
|
|
135
|
+
*
|
|
136
|
+
* @returns {BaseModel}
|
|
137
|
+
*/
|
|
138
|
+
static async load(id) {
|
|
139
|
+
const result = await global.kuzzle.internalIndex.get(this.collection, id);
|
|
140
|
+
return this._instantiateFromDb(result);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Deletes all instances matching the given query.
|
|
144
|
+
* - the instance delete method will be called on each occurence
|
|
145
|
+
*
|
|
146
|
+
* @param {Object} query - Search query (e.g. { match_all: {} })
|
|
147
|
+
* @param {Object} options - refresh (undefined)
|
|
148
|
+
*
|
|
149
|
+
* @returns {Promise}
|
|
150
|
+
*/
|
|
151
|
+
static async deleteByQuery(query, { refresh } = {}) {
|
|
152
|
+
const { documents } = await global.kuzzle.internalIndex.deleteByQuery(this.collection, query);
|
|
153
|
+
await Bluebird.map(documents, (document) => this._instantiateFromDb(document)._afterDelete(), { concurrency: 10 }); // limits the load on storage services
|
|
154
|
+
if (refresh) {
|
|
155
|
+
await global.kuzzle.internalIndex.refreshCollection(this.collection);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Returns instances matching the given query
|
|
160
|
+
*
|
|
161
|
+
* @param {Object} searchBody
|
|
162
|
+
* @param {Object} options - from, size, scroll
|
|
163
|
+
*
|
|
164
|
+
* @returns {Promise<BaseModel[]>} - Array of instances
|
|
165
|
+
*/
|
|
166
|
+
static async search(searchBody, options) {
|
|
167
|
+
const resp = await global.kuzzle.internalIndex.search(this.collection, searchBody, options);
|
|
168
|
+
return resp.hits.map((hit) => this._instantiateFromDb(hit));
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Deletes all instances of the collection
|
|
172
|
+
*
|
|
173
|
+
* @param {Object} options - refresh (undefined)
|
|
174
|
+
*
|
|
175
|
+
* @returns {Promise}
|
|
176
|
+
*/
|
|
177
|
+
static truncate({ refresh } = {}) {
|
|
178
|
+
return this.deleteByQuery({ match_all: {} }, { refresh });
|
|
179
|
+
}
|
|
180
|
+
// ? This looks not in use anymore ?
|
|
181
|
+
static batchExecute(query, callback) {
|
|
182
|
+
return global.kuzzle.internalIndex.mExecute(this.collection, query, callback);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Must be overriden by children
|
|
186
|
+
*/
|
|
187
|
+
static get collection() {
|
|
188
|
+
throw new Error("Model.collection must be defined");
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Must be overriden by children
|
|
192
|
+
*/
|
|
193
|
+
static get fields() {
|
|
194
|
+
throw new Error("Model.fields must be defined");
|
|
195
|
+
}
|
|
196
|
+
// Static protected methods ==================================================
|
|
197
|
+
/**
|
|
198
|
+
* Instantiate the model from a document
|
|
199
|
+
*
|
|
200
|
+
* @param {Object} document - { _id, _source }
|
|
201
|
+
*
|
|
202
|
+
* @returns {BaseModel}
|
|
203
|
+
*/
|
|
204
|
+
static _instantiateFromDb({ _id, _source }) {
|
|
205
|
+
const model = new this(_source, _id); // NOSONAR
|
|
206
|
+
model.__persisted = true;
|
|
207
|
+
return model;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
module.exports = BaseModel;
|
|
211
|
+
//# sourceMappingURL=baseModel.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export = Redis;
|
|
2
|
+
/**
|
|
3
|
+
* @class Redis
|
|
4
|
+
* @extends Service
|
|
5
|
+
* @param {object} config
|
|
6
|
+
* @property service
|
|
7
|
+
*/
|
|
8
|
+
declare class Redis extends Service {
|
|
9
|
+
connected: boolean;
|
|
10
|
+
client: any;
|
|
11
|
+
commands: {};
|
|
12
|
+
adapterName: any;
|
|
13
|
+
pingIntervalID: NodeJS.Timeout;
|
|
14
|
+
logger: import("../../kuzzle/Logger").Logger;
|
|
15
|
+
/**
|
|
16
|
+
* Setup a ping interval to keep the connection alive
|
|
17
|
+
* Every 60 seconds a ping is sent to Redis
|
|
18
|
+
*/
|
|
19
|
+
_setupKeepAlive(delay: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* Ping Redis
|
|
22
|
+
*/
|
|
23
|
+
_ping(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Initializes the Redis commands list, and add transformers when necessary
|
|
26
|
+
*/
|
|
27
|
+
setCommands(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Returns all the keys matching a given pattern.
|
|
30
|
+
*
|
|
31
|
+
* /!\ We don't use `keys` to avoid blocking Redis if using a big dataset
|
|
32
|
+
* cf: http://redis.io/commands/keys
|
|
33
|
+
* and http://redis.io/commands/scan
|
|
34
|
+
*
|
|
35
|
+
* @param pattern
|
|
36
|
+
* @returns {Promise.<string[]>} promise resolving to an array of keys
|
|
37
|
+
*/
|
|
38
|
+
searchKeys(pattern: any): Promise<string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Executes multiple client commands in a single action
|
|
41
|
+
*
|
|
42
|
+
* @returns {Promise}
|
|
43
|
+
*/
|
|
44
|
+
mExecute(commands: any): Promise<any>;
|
|
45
|
+
_searchNodeKeys(node: any, pattern: any): Bluebird<any>;
|
|
46
|
+
_buildClient(options: any): any;
|
|
47
|
+
_buildClusterClient(options: any): IORedis.Cluster;
|
|
48
|
+
/**
|
|
49
|
+
* Convenience method: set a key and its value
|
|
50
|
+
*
|
|
51
|
+
* Options:
|
|
52
|
+
* - onlyIfNew: if true, set the NX option
|
|
53
|
+
* - ttl: if true, set the PX option
|
|
54
|
+
*
|
|
55
|
+
* @param {string} key
|
|
56
|
+
* @param {string} value
|
|
57
|
+
* @param {{onlyIfNew: boolean, ttl: number}} [options]
|
|
58
|
+
* @return {boolean} true if the key was set, false otherwise
|
|
59
|
+
*/
|
|
60
|
+
store(key: string, value: string, { onlyIfNew, ttl }?: {
|
|
61
|
+
onlyIfNew: boolean;
|
|
62
|
+
ttl: number;
|
|
63
|
+
}): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Executes a client command
|
|
66
|
+
* @param {string} command
|
|
67
|
+
* @param {Array} args
|
|
68
|
+
* @return {Promise.<*>}
|
|
69
|
+
*/
|
|
70
|
+
exec(command: string, ...args: any[]): Promise<any>;
|
|
71
|
+
}
|
|
72
|
+
import Service = require("../service");
|
|
73
|
+
import Bluebird = require("bluebird");
|
|
74
|
+
import IORedis = require("ioredis");
|
|
@@ -0,0 +1,237 @@
|
|
|
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 { flatten, uniq } = require("lodash");
|
|
23
|
+
const Bluebird = require("bluebird");
|
|
24
|
+
const IORedis = require("ioredis");
|
|
25
|
+
const kerror = require("../../kerror").wrap("services", "cache");
|
|
26
|
+
const Service = require("../service");
|
|
27
|
+
/**
|
|
28
|
+
* @class Redis
|
|
29
|
+
* @extends Service
|
|
30
|
+
* @param {object} config
|
|
31
|
+
* @property service
|
|
32
|
+
*/
|
|
33
|
+
class Redis extends Service {
|
|
34
|
+
constructor(config, name) {
|
|
35
|
+
super("redis", config);
|
|
36
|
+
this.connected = false;
|
|
37
|
+
this.client = null;
|
|
38
|
+
this.commands = {};
|
|
39
|
+
this.adapterName = name;
|
|
40
|
+
this.pingIntervalID = null;
|
|
41
|
+
this.logger = global.kuzzle.log.child // It means we're in the main Kuzzle process
|
|
42
|
+
? global.kuzzle.log.child("services:cache:redis")
|
|
43
|
+
: global.kuzzle.log;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Initialize the redis client, select the service associated database and
|
|
47
|
+
* flush it to make sure we start from a clean state
|
|
48
|
+
*
|
|
49
|
+
* @returns {Promise}
|
|
50
|
+
*/
|
|
51
|
+
_initSequence() {
|
|
52
|
+
const config = JSON.parse(JSON.stringify(this._config));
|
|
53
|
+
// Only way to connect to AWS ELastiCache
|
|
54
|
+
// https://github.com/luin/ioredis#special-note-aws-elasticache-clusters-with-tls
|
|
55
|
+
if (config.overrideDnsLookup) {
|
|
56
|
+
config.clusterOptions.dnsLookup = (address, callback) => callback(null, address);
|
|
57
|
+
}
|
|
58
|
+
if (config.nodes) {
|
|
59
|
+
this.client = this._buildClusterClient({
|
|
60
|
+
...config.clusterOptions,
|
|
61
|
+
redisOptions: config.options,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.client = this._buildClient(config.options);
|
|
66
|
+
}
|
|
67
|
+
this.client.on("ready", () => {
|
|
68
|
+
this.connected = true;
|
|
69
|
+
});
|
|
70
|
+
this.client.on("error", (error) => {
|
|
71
|
+
if (this.connected) {
|
|
72
|
+
global.kuzzle.log.error(`Redis service seem to be down, see original error for more info:\n${error.message}`);
|
|
73
|
+
}
|
|
74
|
+
this.connected = false;
|
|
75
|
+
});
|
|
76
|
+
this.setCommands();
|
|
77
|
+
// TODO: Remove this when IORedis does support application level pings to keep connection to Azure Redis alive
|
|
78
|
+
if (config.pingKeepAlive && config.pingKeepAlive > 0) {
|
|
79
|
+
this._setupKeepAlive(config.pingKeepAlive);
|
|
80
|
+
}
|
|
81
|
+
return new Bluebird((resolve, reject) => {
|
|
82
|
+
this.client.once("ready", async () => {
|
|
83
|
+
await this.client.client("SETNAME", `${this.adapterName}/${global.kuzzle.id}`);
|
|
84
|
+
resolve();
|
|
85
|
+
});
|
|
86
|
+
this.client.once("error", (error) => {
|
|
87
|
+
reject(error);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Setup a ping interval to keep the connection alive
|
|
93
|
+
* Every 60 seconds a ping is sent to Redis
|
|
94
|
+
*/
|
|
95
|
+
_setupKeepAlive(delay) {
|
|
96
|
+
this.client.on("ready", async () => {
|
|
97
|
+
await this._ping();
|
|
98
|
+
this.pingIntervalID = setInterval(this._ping.bind(this), delay);
|
|
99
|
+
});
|
|
100
|
+
this.client.on("error", () => {
|
|
101
|
+
clearInterval(this.pingIntervalID);
|
|
102
|
+
this.pingIntervalID = null;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Ping Redis
|
|
107
|
+
*/
|
|
108
|
+
async _ping() {
|
|
109
|
+
try {
|
|
110
|
+
await this.client.ping();
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
global.kuzzle.log.error(`Failed to PING Redis to keep connection alive:\n${error.message}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Initializes the Redis commands list, and add transformers when necessary
|
|
118
|
+
*/
|
|
119
|
+
setCommands() {
|
|
120
|
+
const commandsList = this.client.getBuiltinCommands();
|
|
121
|
+
for (const command of commandsList) {
|
|
122
|
+
this.commands[command] = async (...args) => {
|
|
123
|
+
if (!this.connected) {
|
|
124
|
+
throw kerror.get("notconnected");
|
|
125
|
+
}
|
|
126
|
+
return this.client[command](...args);
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Return some basic information about this service
|
|
132
|
+
* @override
|
|
133
|
+
*
|
|
134
|
+
* @returns {Promise} service informations
|
|
135
|
+
*/
|
|
136
|
+
async info() {
|
|
137
|
+
const result = await this.commands.info();
|
|
138
|
+
const arr = result.replace(/\r\n/g, "\n").split("\n");
|
|
139
|
+
const info = {};
|
|
140
|
+
arr.forEach((item) => {
|
|
141
|
+
item = item.trim();
|
|
142
|
+
if (item.length > 0 && !item.startsWith("#")) {
|
|
143
|
+
const keyValuePair = item.split(":");
|
|
144
|
+
info[keyValuePair[0]] = keyValuePair[1];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
return {
|
|
148
|
+
memoryPeak: info.used_memory_peak_human,
|
|
149
|
+
memoryUsed: info.used_memory_human,
|
|
150
|
+
mode: info.redis_mode,
|
|
151
|
+
type: "redis",
|
|
152
|
+
version: info.redis_version,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Returns all the keys matching a given pattern.
|
|
157
|
+
*
|
|
158
|
+
* /!\ We don't use `keys` to avoid blocking Redis if using a big dataset
|
|
159
|
+
* cf: http://redis.io/commands/keys
|
|
160
|
+
* and http://redis.io/commands/scan
|
|
161
|
+
*
|
|
162
|
+
* @param pattern
|
|
163
|
+
* @returns {Promise.<string[]>} promise resolving to an array of keys
|
|
164
|
+
*/
|
|
165
|
+
async searchKeys(pattern) {
|
|
166
|
+
if (this.client instanceof IORedis.Cluster) {
|
|
167
|
+
const keys = await Bluebird.map(this.client.nodes("master"), (node) => {
|
|
168
|
+
return this._searchNodeKeys(node, pattern);
|
|
169
|
+
});
|
|
170
|
+
return uniq(flatten(keys));
|
|
171
|
+
}
|
|
172
|
+
return this._searchNodeKeys(this.client, pattern);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Executes multiple client commands in a single action
|
|
176
|
+
*
|
|
177
|
+
* @returns {Promise}
|
|
178
|
+
*/
|
|
179
|
+
mExecute(commands) {
|
|
180
|
+
if (!Array.isArray(commands) || commands.length === 0) {
|
|
181
|
+
return Bluebird.resolve([]);
|
|
182
|
+
}
|
|
183
|
+
return this.client.multi(commands).exec();
|
|
184
|
+
}
|
|
185
|
+
_searchNodeKeys(node, pattern) {
|
|
186
|
+
return new Bluebird((resolve) => {
|
|
187
|
+
let keys = [];
|
|
188
|
+
const stream = node.scanStream({ match: pattern });
|
|
189
|
+
stream.on("data", (resultKeys) => {
|
|
190
|
+
keys = keys.concat(resultKeys);
|
|
191
|
+
});
|
|
192
|
+
stream.on("end", () => {
|
|
193
|
+
resolve(uniq(keys));
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
_buildClient(options) {
|
|
198
|
+
return new IORedis({ ...this._config.node, ...options });
|
|
199
|
+
}
|
|
200
|
+
_buildClusterClient(options) {
|
|
201
|
+
return new IORedis.Cluster(this._config.nodes, options);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Convenience method: set a key and its value
|
|
205
|
+
*
|
|
206
|
+
* Options:
|
|
207
|
+
* - onlyIfNew: if true, set the NX option
|
|
208
|
+
* - ttl: if true, set the PX option
|
|
209
|
+
*
|
|
210
|
+
* @param {string} key
|
|
211
|
+
* @param {string} value
|
|
212
|
+
* @param {{onlyIfNew: boolean, ttl: number}} [options]
|
|
213
|
+
* @return {boolean} true if the key was set, false otherwise
|
|
214
|
+
*/
|
|
215
|
+
async store(key, value, { onlyIfNew = false, ttl = 0 } = {}) {
|
|
216
|
+
const command = [key, value];
|
|
217
|
+
if (onlyIfNew) {
|
|
218
|
+
command.push("NX");
|
|
219
|
+
}
|
|
220
|
+
if (ttl > 0) {
|
|
221
|
+
command.push("PX", ttl);
|
|
222
|
+
}
|
|
223
|
+
const result = await this.commands.set(...command);
|
|
224
|
+
return result === "OK";
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Executes a client command
|
|
228
|
+
* @param {string} command
|
|
229
|
+
* @param {Array} args
|
|
230
|
+
* @return {Promise.<*>}
|
|
231
|
+
*/
|
|
232
|
+
exec(command, ...args) {
|
|
233
|
+
return this.commands[command](...args);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
module.exports = Redis;
|
|
237
|
+
//# sourceMappingURL=redis.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export = Service;
|
|
2
|
+
/**
|
|
3
|
+
* Services base class
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
declare class Service {
|
|
7
|
+
constructor(name: any, config: any);
|
|
8
|
+
_name: any;
|
|
9
|
+
_config: any;
|
|
10
|
+
_initTimeout: any;
|
|
11
|
+
get config(): any;
|
|
12
|
+
get name(): any;
|
|
13
|
+
/**
|
|
14
|
+
* Call _initSequence to initialize the service
|
|
15
|
+
* and throw an error if timeout exceed
|
|
16
|
+
*
|
|
17
|
+
* @returns {Promise}
|
|
18
|
+
*/
|
|
19
|
+
init(): Promise<any>;
|
|
20
|
+
/**
|
|
21
|
+
* @abstract
|
|
22
|
+
* @returns {Promise}
|
|
23
|
+
*/
|
|
24
|
+
_initSequence(): Promise<any>;
|
|
25
|
+
/**
|
|
26
|
+
* @abstract
|
|
27
|
+
* @returns {Promise}
|
|
28
|
+
*/
|
|
29
|
+
info(): Promise<any>;
|
|
30
|
+
}
|