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,13 +1,80 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/*
|
|
4
|
+
* Kuzzle, a backend software, self-hostable and ready to use
|
|
5
|
+
* to power modern apps
|
|
6
|
+
*
|
|
7
|
+
* Copyright 2015-2022 Kuzzle
|
|
8
|
+
* mailto: support AT kuzzle.io
|
|
9
|
+
* website: http://kuzzle.io
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License.
|
|
22
|
+
*/
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
/**
|
|
48
|
+
* Second half of `npm run build`: `tsc` emits the compiled JavaScript, this
|
|
49
|
+
* copies into `dist/` what the compiler does not — the cluster's `.proto`
|
|
50
|
+
* definitions — and gives the compiled server entrypoint the extensionless,
|
|
51
|
+
* executable name the container and the published package promise.
|
|
52
|
+
*
|
|
53
|
+
* `bin/start-kuzzle-server` used to be JavaScript, copied here verbatim
|
|
54
|
+
* ([step 03](../docs/adr-001/steps/03-sprint-2-bin.md)). It is TypeScript now,
|
|
55
|
+
* so `tsc` emits `dist/bin/start-kuzzle-server.js` and the copy below is what
|
|
56
|
+
* keeps `dist/bin/start-kuzzle-server` — `docker/images/kuzzle/Dockerfile`'s
|
|
57
|
+
* `CMD`, and an entry in `package.json`'s `files` — existing and executable.
|
|
58
|
+
*
|
|
59
|
+
* Run from the source tree, not from `dist/`, so the paths below stay relative
|
|
60
|
+
* to the repository root (`__dirname/..`); from `dist/bin/` they would resolve
|
|
61
|
+
* to `dist/`, and the script would read its sources from `dist/lib/`.
|
|
62
|
+
*
|
|
63
|
+
* Executed through `ts-node/register/transpile-only` rather than `tsx`: `tsx`
|
|
64
|
+
* pulls in esbuild's platform-specific native binary, and this script sits on
|
|
65
|
+
* the release path (`prepublishOnly` → `build`), whose failure mode is a
|
|
66
|
+
* published package silently missing its `.proto` files. `ts-node` is pure
|
|
67
|
+
* JavaScript and cannot fail that way — same idiom as the `doc-error-codes`
|
|
68
|
+
* script.
|
|
69
|
+
*/
|
|
70
|
+
const fs = __importStar(require("fs/promises"));
|
|
71
|
+
const path = __importStar(require("path"));
|
|
5
72
|
async function main() {
|
|
6
73
|
const projectRoot = path.join(__dirname, "..");
|
|
7
74
|
const protobufSourceDir = path.join(projectRoot, "lib", "cluster", "protobuf");
|
|
8
75
|
const protobufTargetDir = path.join(projectRoot, "dist", "lib", "cluster", "protobuf");
|
|
9
|
-
const binSourceFile = path.join(projectRoot, "bin", "start-kuzzle-server");
|
|
10
76
|
const binTargetDir = path.join(projectRoot, "dist", "bin");
|
|
77
|
+
const binSourceFile = path.join(binTargetDir, "start-kuzzle-server.js");
|
|
11
78
|
const binTargetFile = path.join(binTargetDir, "start-kuzzle-server");
|
|
12
79
|
await fs.mkdir(protobufTargetDir, { recursive: true });
|
|
13
80
|
await fs.cp(protobufSourceDir, protobufTargetDir, { recursive: true });
|
|
@@ -17,7 +84,7 @@ async function main() {
|
|
|
17
84
|
}
|
|
18
85
|
main().catch((error) => {
|
|
19
86
|
// eslint-disable-next-line no-console
|
|
20
|
-
console.error("Failed to copy
|
|
87
|
+
console.error("Failed to copy the build's non-compiled payload:", error);
|
|
21
88
|
process.exit(1);
|
|
22
89
|
});
|
|
23
90
|
//# sourceMappingURL=copy-binaries.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
"use strict";
|
|
3
3
|
/*
|
|
4
4
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
5
5
|
* to power modern apps
|
|
@@ -20,111 +20,205 @@
|
|
|
20
20
|
* See the License for the specific language governing permissions and
|
|
21
21
|
* limitations under the License.
|
|
22
22
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
26
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
27
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(o, k2, desc);
|
|
30
|
+
}) : (function(o, m, k, k2) {
|
|
31
|
+
if (k2 === undefined) k2 = k;
|
|
32
|
+
o[k2] = m[k];
|
|
33
|
+
}));
|
|
34
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
35
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
36
|
+
}) : function(o, v) {
|
|
37
|
+
o["default"] = v;
|
|
38
|
+
});
|
|
39
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
26
49
|
/* eslint-disable no-console */
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const module_1 = require("module");
|
|
52
|
+
const path_1 = require("path");
|
|
53
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
54
|
+
const helpers_1 = require("yargs/helpers");
|
|
55
|
+
/**
|
|
56
|
+
* The production container's entrypoint: `docker/images/kuzzle/Dockerfile` runs
|
|
57
|
+
* `node ./bin/start-kuzzle-server` from `dist/`, which is why the import below
|
|
58
|
+
* is relative — from `dist/bin/`, `../index` is `dist/index.js`, the package's
|
|
59
|
+
* own `main`. Keep it that way.
|
|
60
|
+
*/
|
|
61
|
+
const index_1 = require("../index");
|
|
32
62
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
63
|
+
* Parses one of the JSON files the command line points at. The type parameter
|
|
64
|
+
* is a *claim about the file*, not a check: `JSON.parse` answers `any` and this
|
|
65
|
+
* is the boundary where that stops. What each file must actually contain is
|
|
66
|
+
* validated by the `import` method it is handed to, which throws a named
|
|
67
|
+
* assertion error rather than failing later and elsewhere.
|
|
35
68
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Resolves a plugin fixture relative to *this file*, which is what the bare
|
|
71
|
+
* `require("./plugins/available/…")` this replaces did. `createRequire` rather
|
|
72
|
+
* than `require`: the entrypoint is TypeScript now, and a bare `require` call
|
|
73
|
+
* is an error under the repo's ESLint configuration.
|
|
74
|
+
*
|
|
75
|
+
* ⚠️ `--enable-plugins` only has something to load when the entrypoint runs
|
|
76
|
+
* from the source tree: `bin/plugins/` is not part of the published build, so
|
|
77
|
+
* in the container there is nothing under `pluginsDir`. `startKuzzle` checks
|
|
78
|
+
* each plugin's directory first and skips a missing one with a warning:
|
|
79
|
+
* v2.56.0 ignored the option altogether, and fixing its parsing (TD-84) was not
|
|
80
|
+
* meant to turn it into a `MODULE_NOT_FOUND` at boot. See
|
|
81
|
+
* docs/adr-001/type-debt-register.md, TD-84.
|
|
82
|
+
*/
|
|
83
|
+
const loadPlugin = (0, module_1.createRequire)(__filename);
|
|
84
|
+
const pluginsDir = (0, path_1.join)(__dirname, "plugins", "available");
|
|
38
85
|
function loadJson(path) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
86
|
+
return JSON.parse(fs.readFileSync(path, "utf8"));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Reads one string option off yargs' answer. Every option this script declares
|
|
90
|
+
* takes a value, so anything else on the command line is a user error rather
|
|
91
|
+
* than a shape to accommodate.
|
|
92
|
+
*/
|
|
93
|
+
function stringOption(argv, name) {
|
|
94
|
+
const value = argv[name];
|
|
95
|
+
if (value === undefined) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
// yargs reads `--vault-key 12345` as a number and a repeated option as an
|
|
99
|
+
// array: "expects a value" would send the user looking for an argument that
|
|
100
|
+
// is not missing. Named the way it is typed, not yargs' camelCase key.
|
|
101
|
+
const flag = `--${name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}`;
|
|
102
|
+
if (value === true) {
|
|
103
|
+
throw new Error(`${flag} expects a value`);
|
|
104
|
+
}
|
|
105
|
+
if (typeof value !== "string") {
|
|
106
|
+
throw new Error(`${flag} expects a single string value, got ${JSON.stringify(value)}`);
|
|
107
|
+
}
|
|
108
|
+
return value;
|
|
44
109
|
}
|
|
45
|
-
|
|
46
110
|
async function startKuzzle(options = {}) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
111
|
+
const app = new index_1.Backend("kuzzle");
|
|
112
|
+
if (options.enablePlugins) {
|
|
113
|
+
const additionalPlugins = options.enablePlugins
|
|
114
|
+
.trim()
|
|
115
|
+
.split(",")
|
|
116
|
+
.map((x) => x.trim().replace(/(^")|("$)/g, ""));
|
|
117
|
+
for (const additionalPlugin of additionalPlugins) {
|
|
118
|
+
if (!fs.existsSync((0, path_1.join)(pluginsDir, additionalPlugin))) {
|
|
119
|
+
app.log.warn(`[!] --enable-plugins: plugin "${additionalPlugin}" not found in ${pluginsDir}, ignored (the option only works from a source checkout)`);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
const pluginPath = `./plugins/available/${additionalPlugin}`;
|
|
123
|
+
const PluginClass = loadPlugin(pluginPath);
|
|
124
|
+
const manifest = loadPlugin(`${pluginPath}/manifest.json`);
|
|
125
|
+
const plugin = new PluginClass();
|
|
126
|
+
try {
|
|
127
|
+
plugin.version = loadPlugin(`${pluginPath}/package.json`).version;
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// ignore
|
|
131
|
+
}
|
|
132
|
+
app.plugin.use(plugin, { manifest, name: manifest.name });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// ⚠️ These three used to be *assignments* — `app.import.mappings = json`,
|
|
136
|
+
// `app.import.fixtures = json`, `app.import.securities = json`. `import`
|
|
137
|
+
// exposes methods, and only `mappings` among those names: the first
|
|
138
|
+
// assignment replaced the method, and the other two invented properties
|
|
139
|
+
// nothing reads. So `--mappings`, `--fixtures` and `--securities` had been
|
|
140
|
+
// accepted and ignored. Typing the entrypoint is what said so; see
|
|
141
|
+
// docs/adr-001/type-debt-register.md, TD-84.
|
|
142
|
+
if (options.mappings) {
|
|
143
|
+
app.import.mappings(loadJson(options.mappings));
|
|
144
|
+
}
|
|
145
|
+
if (options.securities) {
|
|
146
|
+
const securities = loadJson(options.securities);
|
|
147
|
+
// The shape `admin:loadSecurities` takes, which is what an admin-console
|
|
148
|
+
// export writes: roles, then profiles, then users.
|
|
149
|
+
if (securities.roles) {
|
|
150
|
+
app.import.roles(securities.roles);
|
|
151
|
+
}
|
|
152
|
+
if (securities.profiles) {
|
|
153
|
+
app.import.profiles(securities.profiles);
|
|
154
|
+
}
|
|
155
|
+
if (securities.users) {
|
|
156
|
+
app.import.users(securities.users);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Assigned only when given: the setters take a `string`, and writing `""`
|
|
160
|
+
// for an absent key is a different claim from not setting one at all.
|
|
161
|
+
if (options.vaultKey) {
|
|
162
|
+
app.vault.key = options.vaultKey;
|
|
163
|
+
}
|
|
164
|
+
if (options.secretsFile) {
|
|
165
|
+
app.vault.file = options.secretsFile;
|
|
166
|
+
}
|
|
167
|
+
app.version = "1.0.0";
|
|
168
|
+
await app.start();
|
|
169
|
+
// Data fixtures have no `import` counterpart — they are documents, loaded
|
|
170
|
+
// through the API once the storage layer is up, the way `admin:loadFixtures`
|
|
171
|
+
// does it.
|
|
172
|
+
if (options.fixtures) {
|
|
173
|
+
await app.sdk.query({
|
|
174
|
+
action: "loadFixtures",
|
|
175
|
+
body: loadJson(options.fixtures),
|
|
176
|
+
controller: "admin",
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
// `searchUsers` answers a *count* in `total`, not a list: the previous
|
|
180
|
+
// `admins.length === 0` read `.length` off a number, which is `undefined`,
|
|
181
|
+
// so this warning never printed either.
|
|
182
|
+
const { total: admins } = await app.sdk.security.searchUsers({
|
|
183
|
+
query: { term: { profileIds: "admin" } },
|
|
184
|
+
});
|
|
185
|
+
if (admins === 0) {
|
|
186
|
+
app.log.warn("[!] [WARNING] There is no administrator user yet: everyone has administrator rights.");
|
|
187
|
+
app.log.warn("[ℹ] You can use the CLI or the admin console to create the first administrator user.");
|
|
188
|
+
app.log.warn(" For more information: https://docs.kuzzle.io/core/2/guides/essentials/security/");
|
|
71
189
|
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
app.import.mappings = loadJson(options.mappings);
|
|
75
|
-
|
|
76
|
-
app.import.fixtures = loadJson(options.fixtures);
|
|
77
|
-
|
|
78
|
-
app.import.securities = loadJson(options.securities);
|
|
79
|
-
|
|
80
|
-
app.vault.key = options.vaultKey;
|
|
81
|
-
|
|
82
|
-
app.vault.file = options.secretsFile;
|
|
83
|
-
|
|
84
|
-
app.version = "1.0.0";
|
|
85
|
-
|
|
86
|
-
await app.start();
|
|
87
|
-
|
|
88
|
-
const { total: admins } = await app.sdk.security.searchUsers({
|
|
89
|
-
query: { term: { profileIds: "admin" } },
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
if (admins.length === 0) {
|
|
93
|
-
app.log(
|
|
94
|
-
"[!] [WARNING] There is no administrator user yet: everyone has administrator rights.",
|
|
95
|
-
);
|
|
96
|
-
app.log(
|
|
97
|
-
"[ℹ] You can use the CLI or the admin console to create the first administrator user.",
|
|
98
|
-
);
|
|
99
|
-
app.log(
|
|
100
|
-
" For more information: https://docs.kuzzle.io/core/2/guides/essentials/security/",
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
190
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
191
|
+
// ⚠️ `hideBin(process.argv)`, not `yargs()`. A bare `yargs()` parses an *empty*
|
|
192
|
+
// argument list — it is the ESM factory, and the process arguments have to be
|
|
193
|
+
// handed to it — so every option below was declared, documented in `--help`,
|
|
194
|
+
// and then read off an object that never had them. See
|
|
195
|
+
// docs/adr-001/type-debt-register.md, TD-84.
|
|
196
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
197
|
+
.scriptName("kuzzle")
|
|
198
|
+
.usage("start-kuzzle-server [options]")
|
|
199
|
+
.describe("fixtures", "Import data from file")
|
|
200
|
+
.describe("mappings", "Apply mappings from file")
|
|
201
|
+
.describe("securities", "Import roles, profiles and users from file")
|
|
202
|
+
.describe("vault-key", "Vault key used to decrypt secrets")
|
|
203
|
+
.describe("secrets-file", "Encrypted secrets file to decrypt at startup")
|
|
204
|
+
.describe("enable-plugins", 'Enable plugins from "plugins/available" directory').argv;
|
|
205
|
+
const options = {
|
|
206
|
+
enablePlugins: stringOption(argv, "enablePlugins"),
|
|
207
|
+
fixtures: stringOption(argv, "fixtures"),
|
|
208
|
+
mappings: stringOption(argv, "mappings"),
|
|
209
|
+
secretsFile: stringOption(argv, "secretsFile"),
|
|
210
|
+
securities: stringOption(argv, "securities"),
|
|
211
|
+
vaultKey: stringOption(argv, "vaultKey"),
|
|
212
|
+
};
|
|
118
213
|
const run = async () => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
214
|
+
try {
|
|
215
|
+
await startKuzzle(options);
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
console.error(`[x] [ERROR] ${error instanceof Error ? error.stack : String(error)}`);
|
|
219
|
+
process.exit(1);
|
|
220
|
+
}
|
|
125
221
|
};
|
|
126
|
-
|
|
127
222
|
run();
|
|
128
|
-
|
|
129
|
-
// Used for tests only
|
|
130
223
|
module.exports = startKuzzle;
|
|
224
|
+
//# sourceMappingURL=start-kuzzle-server.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -5,9 +5,39 @@ export * from "./lib/core/shared/sdk/embeddedSdk";
|
|
|
5
5
|
export * from "./lib/api/request";
|
|
6
6
|
export * from "./lib/kerror/errors";
|
|
7
7
|
export * from "./lib/util/mutex";
|
|
8
|
+
export * from "./lib/util/distributedLock";
|
|
8
9
|
export * from "./lib/util/Inflector";
|
|
9
10
|
export { NameGenerator } from "./lib/util/name-generator";
|
|
10
|
-
export
|
|
11
|
+
export type {
|
|
12
|
+
/**
|
|
13
|
+
* The server-side user model: the type of `request.context.user` and of
|
|
14
|
+
* `request.getUser()`. Not the SDK's client-side `User`, which is what
|
|
15
|
+
* `app.sdk.security.*` returns.
|
|
16
|
+
*/
|
|
17
|
+
User as KuzzleUser, } from "./lib/model/security/user";
|
|
18
|
+
export type {
|
|
19
|
+
/**
|
|
20
|
+
* The server-side authentication token model: the type of
|
|
21
|
+
* `request.context.token`. Its connections are tracked by the token manager,
|
|
22
|
+
* not on the token, so unlike the `Token` interface it has no `connectionId`.
|
|
23
|
+
*/
|
|
24
|
+
Token as KuzzleToken, } from "./lib/model/security/token";
|
|
25
|
+
export { AuthController, BaseController, BatchController, CollectionController, Document, DocumentController, DocumentSearchResult,
|
|
26
|
+
/** @deprecated A client transport: import it from "kuzzle-sdk". */
|
|
27
|
+
Http, IndexController,
|
|
28
|
+
/** @deprecated The SDK's client. On the server, `app.sdk` is already one (an `EmbeddedSDK`); to open a client connection, import it from "kuzzle-sdk". */
|
|
29
|
+
Kuzzle,
|
|
30
|
+
/** @deprecated A client transport base class: import it from "kuzzle-sdk". */
|
|
31
|
+
KuzzleAbstractProtocol, KuzzleEventEmitter, Observer,
|
|
32
|
+
/** The SDK's client-side profile, as `app.sdk.security.*` returns it. */
|
|
33
|
+
Profile, ProfileSearchResult, RealtimeController, RealtimeDocument,
|
|
34
|
+
/** The SDK's client-side role, as `app.sdk.security.*` returns it. */
|
|
35
|
+
Role, RoleSearchResult, ScopeOption, SearchResultBase, ServerController, SpecificationsSearchResult,
|
|
36
|
+
/** The SDK's client-side user, as `app.sdk.security.*` returns it — not the type of `request.context.user`, which is `KuzzleUser`. */
|
|
37
|
+
User, UserOption, UserSearchResult,
|
|
38
|
+
/** @deprecated A client transport: import it from "kuzzle-sdk". */
|
|
39
|
+
WebSocket, } from "kuzzle-sdk";
|
|
40
|
+
export type { ApiKey, ArgsAuthControllerCheckRights, ArgsAuthControllerCheckToken, ArgsAuthControllerCreateApiKey, ArgsAuthControllerCreateMyCredentials, ArgsAuthControllerCredentialsExist, ArgsAuthControllerDeleteApiKey, ArgsAuthControllerDeleteMyCredentials, ArgsAuthControllerGetCurrentUser, ArgsAuthControllerGetMyCredentials, ArgsAuthControllerGetMyRights, ArgsAuthControllerGetStrategies, ArgsAuthControllerLogin, ArgsAuthControllerLogout, ArgsAuthControllerRefreshToken, ArgsAuthControllerSearchApiKeys, ArgsAuthControllerUpdateMyCredentials, ArgsAuthControllerUpdateSelf, ArgsAuthControllerValidateMyCredentials, ArgsCollectionControllerCreate, ArgsCollectionControllerDelete, ArgsCollectionControllerDeleteSpecifications, ArgsCollectionControllerExists, ArgsCollectionControllerGetMapping, ArgsCollectionControllerGetSpecifications, ArgsCollectionControllerList, ArgsCollectionControllerRefresh, ArgsCollectionControllerSearchSpecifications, ArgsCollectionControllerTruncate, ArgsCollectionControllerUpdate, ArgsCollectionControllerUpdateMapping, ArgsCollectionControllerUpdateSpecifications, ArgsCollectionControllerValidateSpecifications, ArgsDefault, ArgsDocumentControllerCount, ArgsDocumentControllerCreate, ArgsDocumentControllerCreateOrReplace, ArgsDocumentControllerDelete, ArgsDocumentControllerDeleteByQuery, ArgsDocumentControllerDeleteFields, ArgsDocumentControllerExists, ArgsDocumentControllerGet, ArgsDocumentControllerMCreate, ArgsDocumentControllerMCreateOrReplace, ArgsDocumentControllerMDelete, ArgsDocumentControllerMGet, ArgsDocumentControllerMReplace, ArgsDocumentControllerMUpdate, ArgsDocumentControllerMUpsert, ArgsDocumentControllerReplace, ArgsDocumentControllerSearch, ArgsDocumentControllerUpdate, ArgsDocumentControllerUpdateByQuery, ArgsDocumentControllerUpsert, ArgsDocumentControllerValidate, ArgsIndexControllerCreate, ArgsIndexControllerDelete, ArgsIndexControllerExists, ArgsIndexControllerList, ArgsIndexControllerMDelete, ArgsIndexControllerStats, ArgsRealtimeControllerCount, ArgsRealtimeControllerPublish, ArgsRealtimeControllerSubscribe, ArgsRealtimeControllerUnsubscribe, ArgsServerControllerAdminExists, ArgsServerControllerGetAllStats, ArgsServerControllerGetConfig, ArgsServerControllerGetLastStats, ArgsServerControllerGetStats, ArgsServerControllerInfo, ArgsServerControllerNow, BaseNotification, BaseRequest, CollectionMappings, DocumentContent, DocumentHit, DocumentMetadata, DocumentNotification, HttpRoutes, KDocument, KDocumentContent, KDocumentContentGeneric, KDocumentKuzzleInfo, KHit, MappingsProperties, Notification, NotificationType, ObserverOptions, PrivateAndPublicSDKEvents, ProfilePolicy, PublicKuzzleEvents, RequestPayload, ResponsePayload, RoleRightsDefinition, SearchResult, ServerNotification, UpdateByQueryResponse, UserNotification, mCreateOrReplaceRequest, mCreateOrReplaceResponse, mCreateRequest, mCreateResponse, mDeleteRequest, mDeleteResponse, mReplaceRequest, mReplaceResponse, mUpdateRequest, mUpdateResponse, mUpsertRequest, mUpsertResponse, } from "kuzzle-sdk";
|
|
11
41
|
export * from "./lib/core/shared/KoncordeWrapper";
|
|
12
42
|
export * from "./lib/core/shared/ObjectRepository";
|
|
13
43
|
export * from "./lib/core/shared/store";
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.NameGenerator = void 0;
|
|
17
|
+
exports.WebSocket = exports.UserSearchResult = exports.UserOption = exports.User = exports.SpecificationsSearchResult = exports.ServerController = exports.SearchResultBase = exports.ScopeOption = exports.RoleSearchResult = exports.Role = exports.RealtimeDocument = exports.RealtimeController = exports.ProfileSearchResult = exports.Profile = exports.Observer = exports.KuzzleEventEmitter = exports.KuzzleAbstractProtocol = exports.Kuzzle = exports.IndexController = exports.Http = exports.DocumentSearchResult = exports.DocumentController = exports.Document = exports.CollectionController = exports.BatchController = exports.BaseController = exports.AuthController = exports.NameGenerator = void 0;
|
|
18
18
|
__exportStar(require("./lib/core/backend"), exports);
|
|
19
19
|
__exportStar(require("./lib/types"), exports);
|
|
20
20
|
__exportStar(require("./lib/core/plugin/pluginContext"), exports);
|
|
@@ -22,10 +22,53 @@ __exportStar(require("./lib/core/shared/sdk/embeddedSdk"), exports);
|
|
|
22
22
|
__exportStar(require("./lib/api/request"), exports);
|
|
23
23
|
__exportStar(require("./lib/kerror/errors"), exports);
|
|
24
24
|
__exportStar(require("./lib/util/mutex"), exports);
|
|
25
|
+
__exportStar(require("./lib/util/distributedLock"), exports);
|
|
25
26
|
__exportStar(require("./lib/util/Inflector"), exports);
|
|
26
27
|
var name_generator_1 = require("./lib/util/name-generator");
|
|
27
28
|
Object.defineProperty(exports, "NameGenerator", { enumerable: true, get: function () { return name_generator_1.NameGenerator; } });
|
|
28
|
-
|
|
29
|
+
// The SDK names this package has always re-exported (it was `export * from
|
|
30
|
+
// "kuzzle-sdk"`), listed so that the SDK's next additions no longer become part
|
|
31
|
+
// of Kuzzle's API unannounced — ADR-0002 step 01
|
|
32
|
+
// (docs/adr-002/ADR-0002-own-api-contract-types.md). The typings gate asserts
|
|
33
|
+
// every one of them is still here (tests/typings/consumer/sdkReexports.ts).
|
|
34
|
+
//
|
|
35
|
+
// Values (classes and enums) — the SDK's client runtime, and the result classes
|
|
36
|
+
// `app.sdk.*` answers with:
|
|
37
|
+
var kuzzle_sdk_1 = require("kuzzle-sdk");
|
|
38
|
+
Object.defineProperty(exports, "AuthController", { enumerable: true, get: function () { return kuzzle_sdk_1.AuthController; } });
|
|
39
|
+
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return kuzzle_sdk_1.BaseController; } });
|
|
40
|
+
Object.defineProperty(exports, "BatchController", { enumerable: true, get: function () { return kuzzle_sdk_1.BatchController; } });
|
|
41
|
+
Object.defineProperty(exports, "CollectionController", { enumerable: true, get: function () { return kuzzle_sdk_1.CollectionController; } });
|
|
42
|
+
Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return kuzzle_sdk_1.Document; } });
|
|
43
|
+
Object.defineProperty(exports, "DocumentController", { enumerable: true, get: function () { return kuzzle_sdk_1.DocumentController; } });
|
|
44
|
+
Object.defineProperty(exports, "DocumentSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.DocumentSearchResult; } });
|
|
45
|
+
/** @deprecated A client transport: import it from "kuzzle-sdk". */
|
|
46
|
+
Object.defineProperty(exports, "Http", { enumerable: true, get: function () { return kuzzle_sdk_1.Http; } });
|
|
47
|
+
Object.defineProperty(exports, "IndexController", { enumerable: true, get: function () { return kuzzle_sdk_1.IndexController; } });
|
|
48
|
+
/** @deprecated The SDK's client. On the server, `app.sdk` is already one (an `EmbeddedSDK`); to open a client connection, import it from "kuzzle-sdk". */
|
|
49
|
+
Object.defineProperty(exports, "Kuzzle", { enumerable: true, get: function () { return kuzzle_sdk_1.Kuzzle; } });
|
|
50
|
+
/** @deprecated A client transport base class: import it from "kuzzle-sdk". */
|
|
51
|
+
Object.defineProperty(exports, "KuzzleAbstractProtocol", { enumerable: true, get: function () { return kuzzle_sdk_1.KuzzleAbstractProtocol; } });
|
|
52
|
+
Object.defineProperty(exports, "KuzzleEventEmitter", { enumerable: true, get: function () { return kuzzle_sdk_1.KuzzleEventEmitter; } });
|
|
53
|
+
Object.defineProperty(exports, "Observer", { enumerable: true, get: function () { return kuzzle_sdk_1.Observer; } });
|
|
54
|
+
/** The SDK's client-side profile, as `app.sdk.security.*` returns it. */
|
|
55
|
+
Object.defineProperty(exports, "Profile", { enumerable: true, get: function () { return kuzzle_sdk_1.Profile; } });
|
|
56
|
+
Object.defineProperty(exports, "ProfileSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.ProfileSearchResult; } });
|
|
57
|
+
Object.defineProperty(exports, "RealtimeController", { enumerable: true, get: function () { return kuzzle_sdk_1.RealtimeController; } });
|
|
58
|
+
Object.defineProperty(exports, "RealtimeDocument", { enumerable: true, get: function () { return kuzzle_sdk_1.RealtimeDocument; } });
|
|
59
|
+
/** The SDK's client-side role, as `app.sdk.security.*` returns it. */
|
|
60
|
+
Object.defineProperty(exports, "Role", { enumerable: true, get: function () { return kuzzle_sdk_1.Role; } });
|
|
61
|
+
Object.defineProperty(exports, "RoleSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.RoleSearchResult; } });
|
|
62
|
+
Object.defineProperty(exports, "ScopeOption", { enumerable: true, get: function () { return kuzzle_sdk_1.ScopeOption; } });
|
|
63
|
+
Object.defineProperty(exports, "SearchResultBase", { enumerable: true, get: function () { return kuzzle_sdk_1.SearchResultBase; } });
|
|
64
|
+
Object.defineProperty(exports, "ServerController", { enumerable: true, get: function () { return kuzzle_sdk_1.ServerController; } });
|
|
65
|
+
Object.defineProperty(exports, "SpecificationsSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.SpecificationsSearchResult; } });
|
|
66
|
+
/** The SDK's client-side user, as `app.sdk.security.*` returns it — not the type of `request.context.user`, which is `KuzzleUser`. */
|
|
67
|
+
Object.defineProperty(exports, "User", { enumerable: true, get: function () { return kuzzle_sdk_1.User; } });
|
|
68
|
+
Object.defineProperty(exports, "UserOption", { enumerable: true, get: function () { return kuzzle_sdk_1.UserOption; } });
|
|
69
|
+
Object.defineProperty(exports, "UserSearchResult", { enumerable: true, get: function () { return kuzzle_sdk_1.UserSearchResult; } });
|
|
70
|
+
/** @deprecated A client transport: import it from "kuzzle-sdk". */
|
|
71
|
+
Object.defineProperty(exports, "WebSocket", { enumerable: true, get: function () { return kuzzle_sdk_1.WebSocket; } });
|
|
29
72
|
__exportStar(require("./lib/core/shared/KoncordeWrapper"), exports);
|
|
30
73
|
__exportStar(require("./lib/core/shared/ObjectRepository"), exports);
|
|
31
74
|
__exportStar(require("./lib/core/shared/store"), exports);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { NativeController } from "./baseController";
|
|
2
|
-
import { KuzzleRequest } from "../request";
|
|
3
|
-
import { ResetSecurityResult } from "../../types/controllers/
|
|
2
|
+
import type { KuzzleRequest } from "../request";
|
|
3
|
+
import type { ResetSecurityResult } from "../../types/controllers/adminController.type";
|
|
4
4
|
/**
|
|
5
5
|
* @class AdminController
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
declare class AdminController extends NativeController {
|
|
8
8
|
protected shuttingDown: boolean;
|
|
9
9
|
protected logger: any;
|
|
10
10
|
constructor();
|
|
@@ -49,3 +49,4 @@ export default class AdminController extends NativeController {
|
|
|
49
49
|
acknowledge: boolean;
|
|
50
50
|
}>;
|
|
51
51
|
}
|
|
52
|
+
export = AdminController;
|
|
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
28
|
/*
|
|
30
29
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
31
30
|
* to power modern apps
|
|
@@ -187,5 +186,5 @@ class AdminController extends baseController_1.NativeController {
|
|
|
187
186
|
return promise.then(() => result);
|
|
188
187
|
}
|
|
189
188
|
}
|
|
190
|
-
exports
|
|
189
|
+
module.exports = AdminController;
|
|
191
190
|
//# sourceMappingURL=adminController.js.map
|