kuzzle 2.56.0 → 2.57.0-beta.2
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-binaries.js +71 -4
- package/dist/bin/start-kuzzle-server +191 -97
- package/dist/index.d.ts +31 -1
- package/dist/index.js +45 -2
- package/dist/lib/api/controllers/adminController.d.ts +4 -3
- package/dist/lib/api/controllers/adminController.js +1 -2
- package/dist/lib/api/controllers/authController.d.ts +37 -16
- package/dist/lib/api/controllers/authController.js +88 -39
- package/dist/lib/api/controllers/baseController.d.ts +10 -5
- package/dist/lib/api/controllers/baseController.js +36 -15
- package/dist/lib/api/controllers/bulkController.d.ts +11 -7
- package/dist/lib/api/controllers/bulkController.js +28 -5
- package/dist/lib/api/controllers/clusterController.d.ts +2 -2
- package/dist/lib/api/controllers/clusterController.js +3 -3
- package/dist/lib/api/controllers/collectionController.d.ts +57 -21
- package/dist/lib/api/controllers/collectionController.js +40 -11
- package/dist/lib/api/controllers/debugController.d.ts +1 -1
- package/dist/lib/api/controllers/documentController.d.ts +137 -28
- package/dist/lib/api/controllers/documentController.js +156 -125
- package/dist/lib/api/controllers/index.d.ts +27 -12
- package/dist/lib/api/controllers/index.js +28 -13
- package/dist/lib/api/controllers/indexController.d.ts +17 -10
- package/dist/lib/api/controllers/indexController.js +13 -11
- package/dist/lib/api/controllers/memoryStorageController.d.ts +2 -5
- package/dist/lib/api/controllers/memoryStorageController.js +199 -127
- package/dist/lib/api/controllers/realtimeController.d.ts +19 -9
- package/dist/lib/api/controllers/realtimeController.js +8 -4
- package/dist/lib/api/controllers/securityController.d.ts +42 -29
- package/dist/lib/api/controllers/securityController.js +35 -19
- package/dist/lib/api/controllers/serverController.d.ts +114 -19
- package/dist/lib/api/controllers/serverController.js +69 -29
- package/dist/lib/api/documentExtractor.d.ts +9 -7
- package/dist/lib/api/documentExtractor.js +105 -41
- package/dist/lib/api/funnel.d.ts +131 -29
- package/dist/lib/api/funnel.js +436 -225
- package/dist/lib/api/httpRoutes.d.ts +16 -11
- package/dist/lib/api/httpRoutes.js +272 -2
- package/dist/lib/api/openapi/OpenApiManager.d.ts +1 -1
- package/dist/lib/api/openapi/openApiGenerator.d.ts +1 -1
- package/dist/lib/api/rateLimiter.d.ts +15 -5
- package/dist/lib/api/rateLimiter.js +42 -14
- package/dist/lib/api/request/kuzzleRequest.d.ts +83 -12
- package/dist/lib/api/request/kuzzleRequest.js +88 -23
- package/dist/lib/api/request/requestContext.d.ts +20 -5
- package/dist/lib/api/request/requestContext.js +14 -4
- package/dist/lib/api/request/requestInput.d.ts +37 -6
- package/dist/lib/api/request/requestInput.js +22 -9
- package/dist/lib/api/request/requestResponse.d.ts +45 -9
- package/dist/lib/api/request/requestResponse.js +34 -3
- package/dist/lib/cluster/command.d.ts +131 -37
- package/dist/lib/cluster/command.js +243 -71
- package/dist/lib/cluster/idCardHandler.d.ts +18 -5
- package/dist/lib/cluster/idCardHandler.js +52 -19
- package/dist/lib/cluster/index.d.ts +8 -2
- package/dist/lib/cluster/index.js +6 -2
- package/dist/lib/cluster/node.d.ts +127 -49
- package/dist/lib/cluster/node.js +412 -179
- package/dist/lib/cluster/protobuf/command.proto +18 -0
- package/dist/lib/cluster/protobuf/commandMessages.d.ts +104 -0
- package/dist/lib/cluster/protobuf/commandMessages.js +30 -0
- package/dist/lib/cluster/protobuf/syncMessages.d.ts +184 -0
- package/dist/lib/cluster/protobuf/syncMessages.js +23 -0
- package/dist/lib/cluster/publisher.d.ts +118 -78
- package/dist/lib/cluster/publisher.js +174 -72
- package/dist/lib/cluster/state.d.ts +15 -9
- package/dist/lib/cluster/state.js +12 -8
- package/dist/lib/cluster/subscriber.d.ts +185 -131
- package/dist/lib/cluster/subscriber.js +357 -95
- package/dist/lib/cluster/workers/IDCardRenewer.d.ts +39 -8
- package/dist/lib/cluster/workers/IDCardRenewer.js +88 -23
- package/dist/lib/config/default.config.d.ts +2 -2
- package/dist/lib/config/default.config.js +10 -3
- package/dist/lib/config/documentEventAliases.d.ts +1 -1
- package/dist/lib/config/index.d.ts +2 -5
- package/dist/lib/config/index.js +30 -17
- package/dist/lib/core/auth/formatProcessing.d.ts +3 -3
- package/dist/lib/core/auth/passportResponse.d.ts +1 -1
- package/dist/lib/core/auth/passportWrapper.d.ts +1 -1
- package/dist/lib/core/auth/passportWrapper.js +14 -13
- package/dist/lib/core/auth/tokenManager.d.ts +24 -3
- package/dist/lib/core/auth/tokenManager.js +47 -19
- package/dist/lib/core/backend/applicationManager.d.ts +2 -2
- package/dist/lib/core/backend/backend.d.ts +16 -5
- package/dist/lib/core/backend/backend.js +14 -6
- package/dist/lib/core/backend/backendCluster.d.ts +1 -1
- package/dist/lib/core/backend/backendConfig.d.ts +17 -5
- package/dist/lib/core/backend/backendConfig.js +1 -0
- package/dist/lib/core/backend/backendController.d.ts +1 -1
- package/dist/lib/core/backend/backendController.js +8 -1
- package/dist/lib/core/backend/backendErrors.d.ts +15 -8
- package/dist/lib/core/backend/backendErrors.js +5 -0
- package/dist/lib/core/backend/backendHook.d.ts +1 -1
- package/dist/lib/core/backend/backendImport.d.ts +1 -1
- package/dist/lib/core/backend/backendOpenApi.d.ts +3 -2
- package/dist/lib/core/backend/backendPipe.d.ts +1 -1
- package/dist/lib/core/backend/backendPipe.js +9 -1
- package/dist/lib/core/backend/backendPlugin.d.ts +2 -2
- package/dist/lib/core/backend/backendSubscription.d.ts +2 -2
- package/dist/lib/core/backend/backendVault.d.ts +1 -1
- package/dist/lib/core/backend/backendVault.js +8 -1
- package/dist/lib/core/cache/cacheEngine.d.ts +7 -4
- package/dist/lib/core/cache/cacheEngine.js +25 -8
- package/dist/lib/core/debug/kuzzleDebugger.d.ts +2 -1
- package/dist/lib/core/debug/kuzzleDebugger.js +31 -17
- package/dist/lib/core/network/accessLogger.d.ts +33 -18
- package/dist/lib/core/network/accessLogger.js +135 -73
- package/dist/lib/core/network/clientConnection.d.ts +13 -11
- package/dist/lib/core/network/clientConnection.js +33 -9
- package/dist/lib/core/network/context.d.ts +17 -22
- package/dist/lib/core/network/context.js +43 -26
- package/dist/lib/core/network/entryPoint.d.ts +38 -16
- package/dist/lib/core/network/entryPoint.js +119 -48
- package/dist/lib/core/network/httpRouter/index.d.ts +20 -50
- package/dist/lib/core/network/httpRouter/index.js +61 -75
- package/dist/lib/core/network/httpRouter/routeHandler.d.ts +17 -32
- package/dist/lib/core/network/httpRouter/routeHandler.js +26 -36
- package/dist/lib/core/network/httpRouter/routePart.d.ts +9 -18
- package/dist/lib/core/network/httpRouter/routePart.js +61 -43
- package/dist/lib/core/network/httpRouter/routeTypes.d.ts +3 -0
- package/dist/lib/core/network/httpRouter/routeTypes.js +23 -0
- package/dist/lib/core/network/networkEntryPoint.d.ts +20 -0
- package/dist/lib/core/network/networkEntryPoint.js +23 -0
- package/dist/lib/core/network/protocolManifest.d.ts +5 -4
- package/dist/lib/core/network/protocolManifest.js +6 -3
- package/dist/lib/core/network/protocols/httpMessage.d.ts +25 -18
- package/dist/lib/core/network/protocols/httpMessage.js +14 -11
- package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +84 -93
- package/dist/lib/core/network/protocols/httpwsProtocol.js +284 -129
- package/dist/lib/core/network/protocols/internalProtocol.d.ts +26 -15
- package/dist/lib/core/network/protocols/internalProtocol.js +17 -16
- package/dist/lib/core/network/protocols/mqttProtocol.d.ts +56 -32
- package/dist/lib/core/network/protocols/mqttProtocol.js +91 -44
- package/dist/lib/core/network/protocols/protocol.d.ts +85 -21
- package/dist/lib/core/network/protocols/protocol.js +83 -27
- package/dist/lib/core/network/router.d.ts +13 -22
- package/dist/lib/core/network/router.js +59 -46
- package/dist/lib/core/plugin/plugin.d.ts +57 -51
- package/dist/lib/core/plugin/plugin.js +218 -103
- package/dist/lib/core/plugin/pluginContext.d.ts +54 -11
- package/dist/lib/core/plugin/pluginContext.js +99 -58
- package/dist/lib/core/plugin/pluginManifest.d.ts +6 -2
- package/dist/lib/core/plugin/pluginManifest.js +18 -11
- package/dist/lib/core/plugin/pluginRepository.d.ts +35 -44
- package/dist/lib/core/plugin/pluginRepository.js +35 -50
- package/dist/lib/core/plugin/pluginsManager.d.ts +128 -46
- package/dist/lib/core/plugin/pluginsManager.js +468 -231
- package/dist/lib/core/plugin/privilegedContext.d.ts +4 -9
- package/dist/lib/core/plugin/privilegedContext.js +5 -10
- package/dist/lib/core/realtime/actionEnum.d.ts +12 -21
- package/dist/lib/core/realtime/actionEnum.js +6 -7
- package/dist/lib/core/realtime/channel.d.ts +11 -5
- package/dist/lib/core/realtime/channel.js +17 -2
- package/dist/lib/core/realtime/connectionRooms.d.ts +2 -2
- package/dist/lib/core/realtime/hotelClerk.d.ts +12 -6
- package/dist/lib/core/realtime/hotelClerk.js +29 -11
- package/dist/lib/core/realtime/index.d.ts +8 -3
- package/dist/lib/core/realtime/index.js +12 -5
- package/dist/lib/core/realtime/notification/document.d.ts +54 -25
- package/dist/lib/core/realtime/notification/document.js +10 -13
- package/dist/lib/core/realtime/notification/index.d.ts +9 -3
- package/dist/lib/core/realtime/notification/index.js +10 -4
- package/dist/lib/core/realtime/notification/server.d.ts +7 -10
- package/dist/lib/core/realtime/notification/server.js +4 -7
- package/dist/lib/core/realtime/notification/user.d.ts +45 -21
- package/dist/lib/core/realtime/notification/user.js +8 -9
- package/dist/lib/core/realtime/notifier.d.ts +52 -40
- package/dist/lib/core/realtime/notifier.js +60 -25
- package/dist/lib/core/realtime/room.d.ts +1 -1
- package/dist/lib/core/realtime/subscription.d.ts +11 -6
- package/dist/lib/core/realtime/subscription.js +5 -1
- package/dist/lib/core/security/index.d.ts +14 -6
- package/dist/lib/core/security/index.js +27 -13
- package/dist/lib/core/security/profileRepository.d.ts +24 -19
- package/dist/lib/core/security/profileRepository.js +23 -10
- package/dist/lib/core/security/roleRepository.d.ts +60 -23
- package/dist/lib/core/security/roleRepository.js +122 -53
- package/dist/lib/core/security/securityLoader.d.ts +33 -18
- package/dist/lib/core/security/securityLoader.js +43 -16
- package/dist/lib/core/security/tokenRepository.d.ts +21 -7
- package/dist/lib/core/security/tokenRepository.js +50 -23
- package/dist/lib/core/security/userRepository.d.ts +44 -21
- package/dist/lib/core/security/userRepository.js +59 -19
- package/dist/lib/core/shared/KoncordeWrapper.d.ts +1 -1
- package/dist/lib/core/shared/ObjectRepository.d.ts +80 -18
- package/dist/lib/core/shared/ObjectRepository.js +57 -29
- package/dist/lib/core/shared/abstractManifest.d.ts +21 -8
- package/dist/lib/core/shared/abstractManifest.js +57 -17
- package/dist/lib/core/shared/sdk/embeddedSdk.d.ts +3 -1
- package/dist/lib/core/shared/sdk/embeddedSdk.js +8 -7
- package/dist/lib/core/shared/sdk/funnelProtocol.d.ts +2 -1
- package/dist/lib/core/shared/sdk/funnelProtocol.js +12 -3
- package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +11 -5
- package/dist/lib/core/shared/sdk/impersonatedSdk.js +22 -9
- package/dist/lib/core/shared/store.d.ts +45 -29
- package/dist/lib/core/shared/store.js +48 -27
- package/dist/lib/core/statistics/statistics.d.ts +1 -1
- package/dist/lib/core/storage/clientAdapter.d.ts +39 -21
- package/dist/lib/core/storage/clientAdapter.js +88 -48
- package/dist/lib/core/storage/indexCache.d.ts +8 -0
- package/dist/lib/core/storage/indexCache.js +16 -7
- package/dist/lib/core/storage/storageEngine.d.ts +7 -6
- package/dist/lib/core/storage/storageEngine.js +11 -8
- package/dist/lib/core/validation/baseType.d.ts +22 -22
- package/dist/lib/core/validation/baseType.js +11 -26
- package/dist/lib/core/validation/specification.d.ts +148 -0
- package/dist/lib/core/validation/specification.js +34 -0
- package/dist/lib/core/validation/typeOptions.d.ts +62 -0
- package/dist/lib/core/validation/typeOptions.js +23 -0
- package/dist/lib/core/validation/types/anything.d.ts +3 -6
- package/dist/lib/core/validation/types/anything.js +7 -7
- package/dist/lib/core/validation/types/boolean.d.ts +5 -12
- package/dist/lib/core/validation/types/boolean.js +7 -12
- package/dist/lib/core/validation/types/date.d.ts +19 -11
- package/dist/lib/core/validation/types/date.js +212 -161
- package/dist/lib/core/validation/types/email.d.ts +7 -11
- package/dist/lib/core/validation/types/email.js +13 -17
- package/dist/lib/core/validation/types/enum.d.ts +7 -11
- package/dist/lib/core/validation/types/enum.js +39 -20
- package/dist/lib/core/validation/types/geoPoint.d.ts +5 -13
- package/dist/lib/core/validation/types/geoPoint.js +10 -15
- package/dist/lib/core/validation/types/geoShape.d.ts +22 -21
- package/dist/lib/core/validation/types/geoShape.js +113 -129
- package/dist/lib/core/validation/types/geoShapeUtils.d.ts +15 -0
- package/dist/lib/core/validation/types/geoShapeUtils.js +75 -0
- package/dist/lib/core/validation/types/integer.d.ts +7 -5
- package/dist/lib/core/validation/types/integer.js +7 -13
- package/dist/lib/core/validation/types/ipAddress.d.ts +7 -11
- package/dist/lib/core/validation/types/ipAddress.js +13 -17
- package/dist/lib/core/validation/types/numeric.d.ts +7 -11
- package/dist/lib/core/validation/types/numeric.js +22 -29
- package/dist/lib/core/validation/types/object.d.ts +8 -15
- package/dist/lib/core/validation/types/object.js +12 -21
- package/dist/lib/core/validation/types/string.d.ts +7 -11
- package/dist/lib/core/validation/types/string.js +22 -29
- package/dist/lib/core/validation/types/url.d.ts +7 -11
- package/dist/lib/core/validation/types/url.js +14 -18
- package/dist/lib/core/validation/validation.d.ts +119 -80
- package/dist/lib/core/validation/validation.js +470 -412
- package/dist/lib/core/validation/validationUtils.d.ts +31 -0
- package/dist/lib/core/validation/validationUtils.js +190 -0
- package/dist/lib/kerror/codes/4-plugin.json +0 -12
- package/dist/lib/kerror/codes/index.d.ts +12 -2
- package/dist/lib/kerror/codes/index.js +5 -4
- package/dist/lib/kerror/errors/badRequestError.d.ts +1 -1
- package/dist/lib/kerror/errors/badRequestError.js +1 -1
- package/dist/lib/kerror/errors/externalServiceError.d.ts +1 -1
- package/dist/lib/kerror/errors/externalServiceError.js +1 -1
- package/dist/lib/kerror/errors/forbiddenError.d.ts +1 -1
- package/dist/lib/kerror/errors/forbiddenError.js +1 -1
- package/dist/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
- package/dist/lib/kerror/errors/gatewayTimeoutError.js +1 -1
- package/dist/lib/kerror/errors/internalError.d.ts +1 -1
- package/dist/lib/kerror/errors/internalError.js +1 -1
- package/dist/lib/kerror/errors/kuzzleError.d.ts +32 -3
- package/dist/lib/kerror/errors/kuzzleError.js +21 -7
- package/dist/lib/kerror/errors/multipleErrorsError.d.ts +2 -2
- package/dist/lib/kerror/errors/multipleErrorsError.js +2 -2
- package/dist/lib/kerror/errors/notFoundError.d.ts +1 -1
- package/dist/lib/kerror/errors/notFoundError.js +1 -1
- package/dist/lib/kerror/errors/partialError.d.ts +8 -2
- package/dist/lib/kerror/errors/partialError.js +22 -9
- package/dist/lib/kerror/errors/pluginImplementationError.d.ts +9 -1
- package/dist/lib/kerror/errors/pluginImplementationError.js +9 -3
- package/dist/lib/kerror/errors/preconditionError.d.ts +1 -1
- package/dist/lib/kerror/errors/preconditionError.js +1 -1
- package/dist/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
- package/dist/lib/kerror/errors/serviceUnavailableError.js +1 -1
- package/dist/lib/kerror/errors/sizeLimitError.d.ts +1 -1
- package/dist/lib/kerror/errors/sizeLimitError.js +1 -1
- package/dist/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
- package/dist/lib/kerror/errors/tooManyRequestsError.js +1 -1
- package/dist/lib/kerror/errors/unauthorizedError.d.ts +1 -1
- package/dist/lib/kerror/errors/unauthorizedError.js +1 -1
- package/dist/lib/kerror/index.d.ts +19 -13
- package/dist/lib/kerror/index.js +60 -19
- package/dist/lib/kuzzle/Logger.d.ts +2 -2
- package/dist/lib/kuzzle/dumpGenerator.d.ts +12 -8
- package/dist/lib/kuzzle/dumpGenerator.js +130 -62
- package/dist/lib/kuzzle/event/KuzzleEventEmitter.d.ts +18 -9
- package/dist/lib/kuzzle/event/KuzzleEventEmitter.js +45 -18
- package/dist/lib/kuzzle/event/pipeRunner.d.ts +37 -16
- package/dist/lib/kuzzle/event/pipeRunner.js +73 -26
- package/dist/lib/kuzzle/event/waterfall.d.ts +11 -1
- package/dist/lib/kuzzle/event/waterfall.js +38 -13
- package/dist/lib/kuzzle/internalIndexHandler.d.ts +11 -174
- package/dist/lib/kuzzle/internalIndexHandler.js +58 -29
- package/dist/lib/kuzzle/kuzzle.d.ts +25 -10
- package/dist/lib/kuzzle/kuzzle.js +74 -17
- package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +16 -12
- package/dist/lib/kuzzle/kuzzleStateEnum.js +5 -7
- package/dist/lib/kuzzle/vault.d.ts +5 -1
- package/dist/lib/kuzzle/vault.js +29 -17
- package/dist/lib/model/security/profile.d.ts +34 -5
- package/dist/lib/model/security/profile.js +6 -5
- package/dist/lib/model/security/rights.d.ts +12 -4
- package/dist/lib/model/security/rights.js +7 -6
- package/dist/lib/model/security/role.d.ts +8 -4
- package/dist/lib/model/security/role.js +12 -6
- package/dist/lib/model/security/token.d.ts +8 -0
- package/dist/lib/model/security/user.d.ts +8 -2
- package/dist/lib/model/security/user.js +7 -4
- package/dist/lib/model/storage/apiKey.d.ts +55 -26
- package/dist/lib/model/storage/apiKey.js +97 -24
- package/dist/lib/model/storage/baseModel.d.ts +77 -66
- package/dist/lib/model/storage/baseModel.js +21 -34
- package/dist/lib/service/cache/redis.d.ts +53 -36
- package/dist/lib/service/cache/redis.js +148 -71
- package/dist/lib/service/service.d.ts +14 -19
- package/dist/lib/service/service.js +41 -22
- package/dist/lib/service/storage/7/elasticsearch.d.ts +136 -93
- package/dist/lib/service/storage/7/elasticsearch.js +218 -165
- package/dist/lib/service/storage/7/esWrapper.d.ts +30 -13
- package/dist/lib/service/storage/7/esWrapper.js +58 -37
- package/dist/lib/service/storage/8/elasticsearch.d.ts +153 -119
- package/dist/lib/service/storage/8/elasticsearch.js +286 -213
- package/dist/lib/service/storage/8/esWrapper.d.ts +30 -13
- package/dist/lib/service/storage/8/esWrapper.js +59 -38
- package/dist/lib/service/storage/commons/queryTranslator.d.ts +3 -3
- package/dist/lib/service/storage/commons/queryTranslator.js +71 -35
- package/dist/lib/types/ApiRoute.d.ts +12 -0
- package/dist/lib/types/ApiRoute.js +23 -0
- package/dist/lib/types/ClientConnection.d.ts +1 -1
- package/dist/lib/types/EventHandler.d.ts +10 -0
- package/dist/lib/types/Global.d.ts +8 -3
- package/dist/lib/types/HttpMessage.d.ts +2 -2
- package/dist/lib/types/HttpStream.d.ts +1 -1
- package/dist/lib/types/HttpStream.js +3 -1
- package/dist/lib/types/JSONObject.d.ts +9 -0
- package/dist/lib/types/JSONObject.js +23 -0
- package/dist/lib/types/Kuzzle.d.ts +5 -3
- package/dist/lib/types/KuzzleDocument.d.ts +1 -1
- package/dist/lib/types/KuzzleWebSocket.d.ts +24 -0
- package/dist/lib/types/KuzzleWebSocket.js +23 -0
- package/dist/lib/types/OpenApiDefinition.d.ts +1 -1
- package/dist/lib/types/Plugin.d.ts +33 -8
- package/dist/lib/types/PluginInstance.d.ts +67 -0
- package/dist/lib/types/PluginInstance.js +23 -0
- package/dist/lib/types/Policy.d.ts +1 -1
- package/dist/lib/types/Target.d.ts +8 -0
- package/dist/lib/types/Token.d.ts +14 -2
- package/dist/lib/types/config/HttpConfiguration.d.ts +5 -0
- package/dist/lib/types/config/KuzzleConfiguration.d.ts +102 -1
- package/dist/lib/types/config/PluginsConfiguration.d.ts +3 -2
- package/dist/lib/types/config/SecurityConfiguration.d.ts +6 -2
- package/dist/lib/types/config/ServerConfiguration.d.ts +2 -2
- package/dist/lib/types/config/ServicesConfiguration.d.ts +1 -1
- package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.d.ts +131 -0
- package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.js +3 -0
- package/dist/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +2 -106
- package/dist/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +2 -26
- package/dist/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +3 -0
- package/dist/lib/types/controllers/Controller.d.ts +12 -3
- package/dist/lib/types/controllers/ControllerDefinition.d.ts +2 -2
- package/dist/lib/types/controllers/{adminControlller.type.js → adminController.type.js} +1 -1
- package/dist/lib/types/controllers/authController.type.d.ts +2 -2
- package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -1
- package/dist/lib/types/errors/ErrorDomains.d.ts +1 -1
- package/dist/lib/types/events/EventGenericDocument.d.ts +10 -9
- package/dist/lib/types/events/EventProtocol.d.ts +4 -4
- package/dist/lib/types/index.d.ts +7 -0
- package/dist/lib/types/index.js +7 -0
- package/dist/lib/types/shared/StoreCollectionsDefinition.d.ts +1 -1
- package/dist/lib/types/storage/7/Elasticsearch.d.ts +62 -13
- package/dist/lib/types/storage/8/Elasticsearch.d.ts +62 -13
- package/dist/lib/util/Inflector.d.ts +4 -1
- package/dist/lib/util/Inflector.js +0 -3
- package/dist/lib/util/assertType.d.ts +24 -27
- package/dist/lib/util/assertType.js +28 -39
- package/dist/lib/util/async.js +19 -6
- package/dist/lib/util/asyncStore.js +1 -1
- package/dist/lib/util/bufferedPassThrough.d.ts +9 -0
- package/dist/lib/util/bufferedPassThrough.js +27 -13
- package/dist/lib/util/bytes.d.ts +1 -1
- package/dist/lib/util/bytes.js +6 -2
- package/dist/lib/util/debug.d.ts +3 -1
- package/dist/lib/util/debug.js +42 -10
- package/dist/lib/util/deprecate.d.ts +9 -1
- package/dist/lib/util/deprecate.js +10 -6
- package/dist/lib/util/didYouMean.d.ts +2 -1
- package/dist/lib/util/didYouMean.js +8 -4
- package/dist/lib/util/distributedLock.d.ts +56 -0
- package/dist/lib/util/distributedLock.js +166 -0
- package/dist/lib/util/dump-collection.d.ts +1 -1
- package/dist/lib/util/dump-collection.js +4 -5
- package/dist/lib/util/extractFields.d.ts +15 -11
- package/dist/lib/util/extractFields.js +8 -9
- package/dist/lib/util/koncordeCompat.d.ts +2 -2
- package/dist/lib/util/koncordeCompat.js +33 -0
- package/dist/lib/util/memoize.d.ts +7 -6
- package/dist/lib/util/memoize.js +3 -3
- package/dist/lib/util/mutex.d.ts +22 -2
- package/dist/lib/util/mutex.js +39 -1
- package/dist/lib/util/name-generator.js +14 -2
- package/dist/lib/util/promback.d.ts +20 -11
- package/dist/lib/util/promback.js +14 -7
- package/dist/lib/util/requestAssertions.d.ts +30 -10
- package/dist/lib/util/requestAssertions.js +125 -121
- package/dist/lib/util/safeObject.d.ts +3 -3
- package/dist/lib/util/safeObject.js +7 -3
- package/dist/lib/util/stackTrace.d.ts +13 -5
- package/dist/lib/util/stackTrace.js +17 -12
- package/dist/lib/util/thrown.d.ts +13 -0
- package/dist/lib/util/thrown.js +46 -0
- package/dist/package.json +26 -19
- package/package.json +26 -19
- package/dist/lib/util/wildcard.d.ts +0 -1
- package/dist/lib/util/wildcard.js +0 -46
- /package/dist/lib/types/controllers/{adminControlller.type.d.ts → adminController.type.d.ts} +0 -0
|
@@ -1,38 +1,80 @@
|
|
|
1
|
-
|
|
1
|
+
import type { JSONObject } from "../../types/JSONObject";
|
|
2
|
+
import { BaseController } from "../../api/controllers/baseController";
|
|
3
|
+
import type { ApiRoute } from "../../types/ApiRoute";
|
|
4
|
+
import Plugin from "./plugin";
|
|
5
|
+
/**
|
|
6
|
+
* Any function a plugin exposes: a pipe, a hook, an action handler, a strategy
|
|
7
|
+
* method. A plugin's members are `unknown` by construction — it is a
|
|
8
|
+
* user-supplied object — so this is the type a `typeof … === "function"` check
|
|
9
|
+
* produces, and what `bindPluginMethod` answers.
|
|
10
|
+
*/
|
|
11
|
+
type PluginMethod = (...args: unknown[]) => unknown;
|
|
12
|
+
/**
|
|
13
|
+
* A strategy as a plugin hands it over: `JSONObject`, not
|
|
14
|
+
* `StrategyDefinition[string]`, because nothing has checked its shape yet —
|
|
15
|
+
* `validateStrategy` is what does, at runtime, and it is the reason this
|
|
16
|
+
* parameter cannot claim the validated type.
|
|
17
|
+
*/
|
|
18
|
+
type StrategyEntry = JSONObject;
|
|
19
|
+
/**
|
|
20
|
+
* A strategy once registered: the declaration, the plugin that owns it, and the
|
|
21
|
+
* methods resolved and bound from the names the declaration carries.
|
|
22
|
+
*/
|
|
2
23
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
24
|
+
* A strategy method, resolved from its name and bound to the plugin instance.
|
|
25
|
+
*
|
|
26
|
+
* The return is whatever the plugin's method answers — `exists` gives a boolean,
|
|
27
|
+
* `getInfo` an object — so `JSONObject` describes what the *callers* read off it
|
|
28
|
+
* rather than a promise the plugins make. That is the same latitude the JSDoc's
|
|
29
|
+
* `{object}` gave, kept rather than narrowed, because narrowing it is an API
|
|
30
|
+
* decision and this is a conversion.
|
|
5
31
|
*/
|
|
32
|
+
type StrategyMethod = (...args: unknown[]) => Promise<JSONObject>;
|
|
33
|
+
interface RegisteredStrategy {
|
|
34
|
+
methods: JSONObject;
|
|
35
|
+
owner: string;
|
|
36
|
+
strategy: StrategyEntry;
|
|
37
|
+
}
|
|
6
38
|
declare class PluginsManager {
|
|
7
|
-
_plugins
|
|
8
|
-
controllers: Map<
|
|
9
|
-
strategies:
|
|
10
|
-
routes:
|
|
39
|
+
private _plugins;
|
|
40
|
+
controllers: Map<string, BaseController>;
|
|
41
|
+
strategies: Record<string, RegisteredStrategy>;
|
|
42
|
+
routes: ApiRoute[];
|
|
11
43
|
pluginsEnabledDir: string;
|
|
12
44
|
pluginsAvailableDir: string;
|
|
45
|
+
authenticators: JSONObject;
|
|
46
|
+
config: JSONObject;
|
|
47
|
+
logger: ReturnType<typeof global.kuzzle.log.child>;
|
|
48
|
+
loadedPlugins: string[];
|
|
49
|
+
constructor();
|
|
50
|
+
set application(plugin: Plugin);
|
|
51
|
+
get plugins(): Plugin[];
|
|
13
52
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
53
|
+
* The application plugin, once `kuzzle.start` has registered one.
|
|
54
|
+
*
|
|
55
|
+
* `undefined` before that, and the shutdown path already read it that way —
|
|
56
|
+
* `pluginsManager?.application?.instance?.log?.flush?.()` defends against a
|
|
57
|
+
* start that failed before the assignment. The declared `Plugin` was the
|
|
58
|
+
* half of that the three eager readers assumed.
|
|
59
|
+
*/
|
|
60
|
+
get application(): Plugin | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* The plugin registered under `pluginName`, which is the only thing the
|
|
63
|
+
* strategy methods below can act on. Pre-Kaaf plugin names may carry upper
|
|
64
|
+
* case, hence the lowercasing every call site did for itself.
|
|
65
|
+
*
|
|
66
|
+
* The three callers dereferenced the map's answer unchecked — a strategy
|
|
67
|
+
* registered for an unknown plugin read `undefined.initCalled`. The error
|
|
68
|
+
* is the one `Backend.plugin.get` already raises for the same question.
|
|
69
|
+
*/
|
|
70
|
+
private getPlugin;
|
|
71
|
+
/**
|
|
72
|
+
* The strategy registered under `strategyName`. Reading it off the record
|
|
73
|
+
* and dereferencing straight away is what `getStrategyFields` and
|
|
74
|
+
* `getStrategyMethod` did; `hasStrategyMethod` is the guard that existed,
|
|
75
|
+
* and only one of the two call sites used it.
|
|
76
|
+
*/
|
|
77
|
+
private getStrategy;
|
|
36
78
|
/**
|
|
37
79
|
* Giving a controller name, tells if exists
|
|
38
80
|
*
|
|
@@ -54,13 +96,13 @@ declare class PluginsManager {
|
|
|
54
96
|
* @param {string} controller
|
|
55
97
|
* @returns {Array}
|
|
56
98
|
*/
|
|
57
|
-
getActions(controller: string):
|
|
99
|
+
getActions(controller: string): string[];
|
|
58
100
|
/**
|
|
59
101
|
* Returns an array filled with controller names
|
|
60
102
|
*
|
|
61
103
|
* @returns {Array}
|
|
62
104
|
*/
|
|
63
|
-
getControllerNames():
|
|
105
|
+
getControllerNames(): string[];
|
|
64
106
|
/**
|
|
65
107
|
* Giving a plugin name, tell if it exists
|
|
66
108
|
*
|
|
@@ -73,7 +115,7 @@ declare class PluginsManager {
|
|
|
73
115
|
*
|
|
74
116
|
* @returns {object}
|
|
75
117
|
*/
|
|
76
|
-
getPluginsDescription():
|
|
118
|
+
getPluginsDescription(): JSONObject;
|
|
77
119
|
/**
|
|
78
120
|
* Register plugins feature to Kuzzle
|
|
79
121
|
*
|
|
@@ -81,7 +123,7 @@ declare class PluginsManager {
|
|
|
81
123
|
*
|
|
82
124
|
* @throws PluginImplementationError - Throws when an error occurs when registering a plugin
|
|
83
125
|
*/
|
|
84
|
-
init(plugins?:
|
|
126
|
+
init(plugins?: JSONObject): Promise<JSONObject>;
|
|
85
127
|
/**
|
|
86
128
|
* @param {string} strategyName
|
|
87
129
|
* @returns {string[]}
|
|
@@ -98,7 +140,7 @@ declare class PluginsManager {
|
|
|
98
140
|
* @param {string} methodName
|
|
99
141
|
* @returns {function}
|
|
100
142
|
*/
|
|
101
|
-
getStrategyMethod(strategyName: string, methodName: string):
|
|
143
|
+
getStrategyMethod(strategyName: string, methodName: string): StrategyMethod;
|
|
102
144
|
/**
|
|
103
145
|
* Returns the list of registered passport strategies
|
|
104
146
|
* @returns {string[]}
|
|
@@ -112,7 +154,7 @@ declare class PluginsManager {
|
|
|
112
154
|
* @param {object} strategy
|
|
113
155
|
* @throws {PluginImplementationError} If the strategy is invalid
|
|
114
156
|
*/
|
|
115
|
-
validateStrategy(pluginName: string, strategyName: string, strategy:
|
|
157
|
+
validateStrategy(pluginName: string, strategyName: string, strategy: StrategyEntry): void;
|
|
116
158
|
/**
|
|
117
159
|
* Register a pipe function on an event
|
|
118
160
|
*
|
|
@@ -123,8 +165,8 @@ declare class PluginsManager {
|
|
|
123
165
|
*
|
|
124
166
|
* @returns {string} pipeId
|
|
125
167
|
*/
|
|
126
|
-
registerPipe(plugin:
|
|
127
|
-
unregisterPipe(pipeId:
|
|
168
|
+
registerPipe(plugin: Plugin, event: string, handler: PluginMethod): string;
|
|
169
|
+
unregisterPipe(pipeId: string): void;
|
|
128
170
|
/**
|
|
129
171
|
* Registers an authentication strategy.
|
|
130
172
|
* If the plugin init method has not been called yet, add the strategy to
|
|
@@ -136,7 +178,7 @@ declare class PluginsManager {
|
|
|
136
178
|
* @throws {PluginImplementationError} If the strategy is invalid or if
|
|
137
179
|
* registration fails
|
|
138
180
|
*/
|
|
139
|
-
registerStrategy(pluginName: string, strategyName: string, strategy:
|
|
181
|
+
registerStrategy(pluginName: string, strategyName: string, strategy: StrategyEntry): void;
|
|
140
182
|
/**
|
|
141
183
|
* Unregister
|
|
142
184
|
* @param {string} pluginName
|
|
@@ -149,35 +191,74 @@ declare class PluginsManager {
|
|
|
149
191
|
* @param {object} plugin
|
|
150
192
|
* @param {number} pipeWarnTime
|
|
151
193
|
*/
|
|
152
|
-
_initPipes(plugin:
|
|
194
|
+
_initPipes(plugin: Plugin): void;
|
|
195
|
+
/**
|
|
196
|
+
* Resolves one pipe or hook target — a function, or the name of a plugin
|
|
197
|
+
* method — into the handler to register.
|
|
198
|
+
*
|
|
199
|
+
* Shared by `_initPipes` and `_initHooks`, which carried the same twenty
|
|
200
|
+
* lines with two words changed. The `.js` → `.ts` rename re-scored both as
|
|
201
|
+
* new code, so the gate asked for the deduplication the files already wanted.
|
|
202
|
+
*
|
|
203
|
+
* @throws {PluginImplementationError} when the target names nothing callable
|
|
204
|
+
*/
|
|
205
|
+
private resolveEventHandler;
|
|
153
206
|
/**
|
|
154
207
|
* @param {object} plugin
|
|
155
208
|
*/
|
|
156
|
-
_initHooks(plugin:
|
|
157
|
-
_initApi(plugin:
|
|
209
|
+
_initHooks(plugin: Plugin): void;
|
|
210
|
+
_initApi(plugin: Plugin): Promise<void>;
|
|
158
211
|
/**
|
|
159
212
|
* Init plugin controllers
|
|
160
213
|
*
|
|
161
214
|
* @param {object} plugin
|
|
162
215
|
* @returns {boolean}
|
|
163
216
|
*/
|
|
164
|
-
_initControllers(plugin:
|
|
217
|
+
_initControllers(plugin: Plugin): void;
|
|
218
|
+
/**
|
|
219
|
+
* Registers one action of the `api` object and answers the HTTP routes to
|
|
220
|
+
* bind for it — the declared ones, or the single default route built from the
|
|
221
|
+
* controller and action names.
|
|
222
|
+
*
|
|
223
|
+
* Lifted verbatim out of `_initApi` for the same gate reason as its siblings.
|
|
224
|
+
*/
|
|
225
|
+
private registerApiAction;
|
|
226
|
+
/**
|
|
227
|
+
* Checks one entry of the deprecated `routes` object: its properties, the
|
|
228
|
+
* controller and action it names, and its HTTP verb.
|
|
229
|
+
*
|
|
230
|
+
* Lifted verbatim out of `_initControllers`, second half of the same
|
|
231
|
+
* gate-driven split as `registerLegacyAction`.
|
|
232
|
+
*
|
|
233
|
+
* @throws {PluginImplementationError}
|
|
234
|
+
*/
|
|
235
|
+
private checkLegacyRoute;
|
|
236
|
+
/**
|
|
237
|
+
* Registers one action of the pre-Kaaf `controllers` object: a handler given
|
|
238
|
+
* either as a function or as the name of a plugin method.
|
|
239
|
+
*
|
|
240
|
+
* Lifted verbatim out of `_initControllers`, whose cognitive complexity the
|
|
241
|
+
* `.js` → `.ts` rename re-scored as new code.
|
|
242
|
+
*
|
|
243
|
+
* @throws {PluginImplementationError} when the target names nothing callable
|
|
244
|
+
*/
|
|
245
|
+
private registerLegacyAction;
|
|
165
246
|
/**
|
|
166
247
|
* @param {object} plugin
|
|
167
248
|
* @throws {PluginImplementationError} If strategies registration fails
|
|
168
249
|
*/
|
|
169
|
-
_initStrategies(plugin:
|
|
250
|
+
_initStrategies(plugin: Plugin): void;
|
|
170
251
|
/**
|
|
171
252
|
* @param {object} plugin
|
|
172
253
|
* @throws {PluginImplementationError} If strategies registration fails
|
|
173
254
|
*/
|
|
174
|
-
_initAuthenticators(plugin:
|
|
255
|
+
_initAuthenticators(plugin: Plugin): void;
|
|
175
256
|
/**
|
|
176
257
|
* Load detected plugins in memory
|
|
177
258
|
*
|
|
178
259
|
* @returns {object} list of loaded plugin
|
|
179
260
|
*/
|
|
180
|
-
loadPlugins(plugins?:
|
|
261
|
+
loadPlugins(plugins?: JSONObject): Map<string, Plugin>;
|
|
181
262
|
/**
|
|
182
263
|
* Wraps a strategy plugin's verify function.
|
|
183
264
|
*
|
|
@@ -186,5 +267,6 @@ declare class PluginsManager {
|
|
|
186
267
|
* @param {Function} verifyMethod - Strategy plugin's verify method
|
|
187
268
|
* @returns {Function}
|
|
188
269
|
*/
|
|
189
|
-
wrapStrategyVerify(pluginName: string, strategyName: string, verifyMethod:
|
|
270
|
+
wrapStrategyVerify(pluginName: string, strategyName: string, verifyMethod: PluginMethod): (...args: unknown[]) => Promise<unknown>;
|
|
190
271
|
}
|
|
272
|
+
export = PluginsManager;
|