kuzzle 2.56.0 → 2.57.0-beta.1
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 +24 -17
- package/package.json +24 -17
- 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,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
3
4
|
* to power modern apps
|
|
@@ -18,9 +19,8 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
class ClusterController extends NativeController {
|
|
22
|
+
const baseController_1 = require("./baseController");
|
|
23
|
+
class ClusterController extends baseController_1.NativeController {
|
|
24
24
|
constructor() {
|
|
25
25
|
super(["status"]);
|
|
26
26
|
}
|
|
@@ -1,90 +1,120 @@
|
|
|
1
|
-
|
|
1
|
+
import type { JSONObject } from "../../types/JSONObject";
|
|
2
|
+
import type { KuzzleRequest } from "../request";
|
|
3
|
+
import { NativeController } from "./baseController";
|
|
2
4
|
/**
|
|
3
5
|
* @class CollectionController
|
|
4
6
|
*/
|
|
5
7
|
declare class CollectionController extends NativeController {
|
|
8
|
+
private readonly defaultScrollTTL;
|
|
6
9
|
constructor();
|
|
7
|
-
defaultScrollTTL: string;
|
|
8
10
|
/**
|
|
9
11
|
* Updates the mapping of the collection
|
|
10
12
|
*
|
|
11
13
|
* @param {Request} request
|
|
12
14
|
* @returns {Promise.<Object>}
|
|
13
15
|
*/
|
|
14
|
-
updateMapping(request:
|
|
16
|
+
updateMapping(request: KuzzleRequest): Promise<{
|
|
17
|
+
_meta: any;
|
|
18
|
+
dynamic: any;
|
|
19
|
+
properties: any;
|
|
20
|
+
}>;
|
|
15
21
|
/**
|
|
16
22
|
* Get the collection mapping
|
|
17
23
|
*
|
|
18
24
|
* @param {Request} request
|
|
19
25
|
* @returns {Promise.<Object>}
|
|
20
26
|
*/
|
|
21
|
-
getMapping(request:
|
|
27
|
+
getMapping(request: KuzzleRequest): Promise<{
|
|
28
|
+
_meta: any;
|
|
29
|
+
dynamic: any;
|
|
30
|
+
properties: any;
|
|
31
|
+
}>;
|
|
22
32
|
/**
|
|
23
33
|
* Get the collection settings
|
|
24
34
|
*
|
|
25
35
|
* @param {Request} request
|
|
26
36
|
* @returns {Promise.<Object>}
|
|
27
37
|
*/
|
|
28
|
-
getSettings(request:
|
|
38
|
+
getSettings(request: KuzzleRequest): Promise<any>;
|
|
29
39
|
/**
|
|
30
40
|
* Get the collection validation specifications
|
|
31
41
|
*
|
|
32
42
|
* @param {Request} request
|
|
33
43
|
* @returns {Promise.<Object>}
|
|
34
44
|
*/
|
|
35
|
-
getSpecifications(request:
|
|
45
|
+
getSpecifications(request: KuzzleRequest): Promise<any>;
|
|
36
46
|
/**
|
|
37
47
|
* Search for collection validation specifications
|
|
38
48
|
*
|
|
39
49
|
* @param {Request} request
|
|
40
50
|
* @returns {Promise.<Object>}
|
|
41
51
|
*/
|
|
42
|
-
searchSpecifications(request:
|
|
52
|
+
searchSpecifications(request: KuzzleRequest): Promise<{
|
|
53
|
+
hits: any;
|
|
54
|
+
scrollId: any;
|
|
55
|
+
total: any;
|
|
56
|
+
}>;
|
|
43
57
|
/**
|
|
44
58
|
* Scroll over a paginated search results
|
|
45
59
|
*
|
|
46
60
|
* @param {Request} request
|
|
47
61
|
* @returns {Promise.<object>}
|
|
48
62
|
*/
|
|
49
|
-
scrollSpecifications(request:
|
|
63
|
+
scrollSpecifications(request: KuzzleRequest): Promise<{
|
|
64
|
+
hits: any;
|
|
65
|
+
scrollId: any;
|
|
66
|
+
total: any;
|
|
67
|
+
}>;
|
|
50
68
|
/**
|
|
51
69
|
* Replace the specifications of a collection
|
|
52
70
|
*
|
|
53
71
|
* @param {Request} request
|
|
54
72
|
* @returns {Promise.<Object>}
|
|
55
73
|
*/
|
|
56
|
-
updateSpecifications(request:
|
|
74
|
+
updateSpecifications(request: KuzzleRequest): Promise<JSONObject>;
|
|
57
75
|
/**
|
|
58
76
|
* Add a specification collections
|
|
59
77
|
*
|
|
60
78
|
* @param {Request} request
|
|
61
79
|
* @returns {Promise.<Object>}
|
|
62
80
|
*/
|
|
63
|
-
deleteSpecifications(request:
|
|
81
|
+
deleteSpecifications(request: KuzzleRequest): Promise<{
|
|
82
|
+
acknowledged: boolean;
|
|
83
|
+
}>;
|
|
64
84
|
/**
|
|
65
85
|
* Validate a specification
|
|
66
86
|
*
|
|
67
87
|
* @param {Request} request
|
|
68
88
|
* @returns {Promise.<Object>}
|
|
69
89
|
*/
|
|
70
|
-
validateSpecifications(request:
|
|
90
|
+
validateSpecifications(request: KuzzleRequest): Promise<{
|
|
91
|
+
description: string;
|
|
92
|
+
details: string[] | undefined;
|
|
93
|
+
valid: boolean;
|
|
94
|
+
} | {
|
|
95
|
+
valid: boolean;
|
|
96
|
+
description?: undefined;
|
|
97
|
+
details?: undefined;
|
|
98
|
+
}>;
|
|
71
99
|
/**
|
|
72
100
|
* Reset a collection by removing all documents while keeping the existing mapping
|
|
73
101
|
*
|
|
74
102
|
* @param {KuzzleRequest} request
|
|
75
103
|
* @returns {Promise.<Object>}
|
|
76
104
|
*/
|
|
77
|
-
truncate(request: KuzzleRequest): Promise<
|
|
105
|
+
truncate(request: KuzzleRequest): Promise<{
|
|
106
|
+
acknowledged: boolean;
|
|
107
|
+
}>;
|
|
78
108
|
/**
|
|
79
109
|
* @param {Request} request
|
|
80
110
|
* @returns {Promise.<Object>}
|
|
81
111
|
*/
|
|
82
|
-
list(request:
|
|
112
|
+
list(request: KuzzleRequest): Promise<JSONObject>;
|
|
83
113
|
/**
|
|
84
114
|
* @param {Request} request
|
|
85
115
|
* @returns {Promise.<boolean>}
|
|
86
116
|
*/
|
|
87
|
-
exists(request:
|
|
117
|
+
exists(request: KuzzleRequest): Promise<any>;
|
|
88
118
|
/**
|
|
89
119
|
* Creates a new collection with the specifed mappings and settings.
|
|
90
120
|
* Only update the mappings and settings if the collection exists.
|
|
@@ -92,21 +122,23 @@ declare class CollectionController extends NativeController {
|
|
|
92
122
|
* @param {Request} request
|
|
93
123
|
* @returns {Promise.<Object>}
|
|
94
124
|
*/
|
|
95
|
-
create(request:
|
|
125
|
+
create(request: KuzzleRequest): Promise<{
|
|
126
|
+
acknowledged: boolean;
|
|
127
|
+
}>;
|
|
96
128
|
/**
|
|
97
129
|
* Updates a collection mappings and settings.
|
|
98
130
|
*
|
|
99
131
|
* @param {Request} request
|
|
100
132
|
* @returns {Promise.<Object>}
|
|
101
133
|
*/
|
|
102
|
-
update(request:
|
|
134
|
+
update(request: KuzzleRequest): Promise<null>;
|
|
103
135
|
/**
|
|
104
136
|
* Refresh a collection
|
|
105
137
|
*
|
|
106
138
|
* @param {Request} request
|
|
107
139
|
* @returns {Promise.<null>}
|
|
108
140
|
*/
|
|
109
|
-
refresh(request:
|
|
141
|
+
refresh(request: KuzzleRequest): Promise<null>;
|
|
110
142
|
/**
|
|
111
143
|
* Deletes a collection
|
|
112
144
|
*
|
|
@@ -115,7 +147,7 @@ declare class CollectionController extends NativeController {
|
|
|
115
147
|
*
|
|
116
148
|
* @returns {Promise.<null>}
|
|
117
149
|
*/
|
|
118
|
-
delete(request:
|
|
150
|
+
delete(request: KuzzleRequest): Promise<null>;
|
|
119
151
|
/**
|
|
120
152
|
* Uses from and size to paginate response results
|
|
121
153
|
* If type is "all", stored collections are prioritary
|
|
@@ -125,12 +157,16 @@ declare class CollectionController extends NativeController {
|
|
|
125
157
|
* @param {Object} response
|
|
126
158
|
* @returns {Object} { collections, from, size }
|
|
127
159
|
*/
|
|
128
|
-
_paginateCollections(from: number, size: number, response:
|
|
160
|
+
_paginateCollections(from: number, size: number, response: JSONObject): JSONObject;
|
|
129
161
|
/**
|
|
130
162
|
* Return only the mapping properties we want to output in our API
|
|
131
163
|
* @param {Object} mapping - raw ES mapping
|
|
132
164
|
* @returns {Object}
|
|
133
165
|
*/
|
|
134
|
-
_filterMappingResponse(mapping:
|
|
166
|
+
_filterMappingResponse(mapping: JSONObject): {
|
|
167
|
+
_meta: any;
|
|
168
|
+
dynamic: any;
|
|
169
|
+
properties: any;
|
|
170
|
+
};
|
|
135
171
|
}
|
|
136
|
-
|
|
172
|
+
export = CollectionController;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/*
|
|
2
3
|
* Kuzzle, a backend software, self-hostable and ready to use
|
|
3
4
|
* to power modern apps
|
|
@@ -18,14 +19,37 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
29
|
+
}) : (function(o, m, k, k2) {
|
|
30
|
+
if (k2 === undefined) k2 = k;
|
|
31
|
+
o[k2] = m[k];
|
|
32
|
+
}));
|
|
33
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
34
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
35
|
+
}) : function(o, v) {
|
|
36
|
+
o["default"] = v;
|
|
37
|
+
});
|
|
38
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
const kerror = __importStar(require("../../kerror"));
|
|
46
|
+
const errors_1 = require("../../kerror/errors");
|
|
47
|
+
const safeObject_1 = require("../../util/safeObject");
|
|
48
|
+
const baseController_1 = require("./baseController");
|
|
25
49
|
/**
|
|
26
50
|
* @class CollectionController
|
|
27
51
|
*/
|
|
28
|
-
class CollectionController extends NativeController {
|
|
52
|
+
class CollectionController extends baseController_1.NativeController {
|
|
29
53
|
constructor() {
|
|
30
54
|
super([
|
|
31
55
|
"create",
|
|
@@ -108,7 +132,7 @@ class CollectionController extends NativeController {
|
|
|
108
132
|
*/
|
|
109
133
|
async searchSpecifications(request) {
|
|
110
134
|
const { from, size, scrollTTL, searchBody } = request.getSearchParams();
|
|
111
|
-
if (!isPlainObject(searchBody)) {
|
|
135
|
+
if (!(0, safeObject_1.isPlainObject)(searchBody)) {
|
|
112
136
|
throw kerror.get("api", "assert", "invalid_type", "body.query", "object");
|
|
113
137
|
}
|
|
114
138
|
this.assertNotExceedMaxFetch(size - from);
|
|
@@ -142,7 +166,9 @@ class CollectionController extends NativeController {
|
|
|
142
166
|
const specifications = request.getBody();
|
|
143
167
|
const { isValid, errors } = await global.kuzzle.validation.validateFormat(index, collection, specifications, true);
|
|
144
168
|
if (!isValid) {
|
|
145
|
-
throw kerror.get("validation", "assert", "invalid_specifications",
|
|
169
|
+
throw kerror.get("validation", "assert", "invalid_specifications",
|
|
170
|
+
// `validateFormat` answers errors only when it answers invalid.
|
|
171
|
+
(errors ?? []).join("\n\t- "));
|
|
146
172
|
}
|
|
147
173
|
await global.kuzzle.internalIndex.createOrReplace("validations", `${index}#${collection}`, {
|
|
148
174
|
collection,
|
|
@@ -166,7 +192,7 @@ class CollectionController extends NativeController {
|
|
|
166
192
|
await global.kuzzle.internalIndex.delete("validations", specificationsId);
|
|
167
193
|
}
|
|
168
194
|
catch (error) {
|
|
169
|
-
if (error.status === 404) {
|
|
195
|
+
if (error instanceof errors_1.KuzzleError && error.status === 404) {
|
|
170
196
|
return {
|
|
171
197
|
acknowledged: true,
|
|
172
198
|
};
|
|
@@ -321,16 +347,19 @@ class CollectionController extends NativeController {
|
|
|
321
347
|
* @param {Object} response
|
|
322
348
|
* @returns {Object} { collections, from, size }
|
|
323
349
|
*/
|
|
324
|
-
_paginateCollections(
|
|
350
|
+
_paginateCollections(
|
|
351
|
+
// Both come from `request.getInteger`, so the `Number.parseInt` this
|
|
352
|
+
// used to run over them re-parsed a number.
|
|
353
|
+
from, size, response) {
|
|
325
354
|
if (from || size) {
|
|
326
355
|
if (from) {
|
|
327
|
-
response.from =
|
|
356
|
+
response.from = from;
|
|
328
357
|
}
|
|
329
358
|
else {
|
|
330
359
|
response.from = 0;
|
|
331
360
|
}
|
|
332
361
|
if (size) {
|
|
333
|
-
response.size =
|
|
362
|
+
response.size = size;
|
|
334
363
|
response.collections = response.collections.slice(response.from, response.from + response.size);
|
|
335
364
|
}
|
|
336
365
|
else {
|
|
@@ -1,53 +1,109 @@
|
|
|
1
|
-
|
|
1
|
+
import * as actionEnum from "../../core/realtime/actionEnum";
|
|
2
|
+
import type { KuzzleRequest } from "../request";
|
|
3
|
+
import { NativeController } from "./baseController";
|
|
4
|
+
/** One of `actionEnum`'s values — what a document notification reports. */
|
|
5
|
+
type NotifyAction = (typeof actionEnum)[keyof typeof actionEnum];
|
|
6
|
+
/** The two single-document writes `_writeDocument` serves. */
|
|
7
|
+
type WriteMethod = "replace" | "createOrReplace";
|
|
8
|
+
/** The two multi-document reads `_mFetch` serves. */
|
|
9
|
+
type FetchMethod = "mGet" | "mExists";
|
|
10
|
+
/** The five multi-document writes `_mChanges` serves. */
|
|
11
|
+
type ChangeMethod = "mCreate" | "mCreateOrReplace" | "mUpdate" | "mUpsert" | "mReplace";
|
|
2
12
|
/**
|
|
3
13
|
* @class DocumentController
|
|
4
14
|
*/
|
|
5
15
|
declare class DocumentController extends NativeController {
|
|
16
|
+
constructor();
|
|
6
17
|
/**
|
|
7
18
|
* @returns {Record<string, unknown>}
|
|
8
19
|
*/
|
|
9
|
-
static get actions():
|
|
10
|
-
|
|
20
|
+
static get actions(): {
|
|
21
|
+
count: string;
|
|
22
|
+
create: string;
|
|
23
|
+
createOrReplace: string;
|
|
24
|
+
delete: string;
|
|
25
|
+
deleteByQuery: string;
|
|
26
|
+
deleteFields: string;
|
|
27
|
+
exists: string;
|
|
28
|
+
export: string;
|
|
29
|
+
get: string;
|
|
30
|
+
mCreate: string;
|
|
31
|
+
mCreateOrReplace: string;
|
|
32
|
+
mDelete: string;
|
|
33
|
+
mExists: string;
|
|
34
|
+
mGet: string;
|
|
35
|
+
mReplace: string;
|
|
36
|
+
mUpdate: string;
|
|
37
|
+
mUpsert: string;
|
|
38
|
+
replace: string;
|
|
39
|
+
scroll: string;
|
|
40
|
+
search: string;
|
|
41
|
+
update: string;
|
|
42
|
+
updateByQuery: string;
|
|
43
|
+
upsert: string;
|
|
44
|
+
validate: string;
|
|
45
|
+
};
|
|
11
46
|
/**
|
|
12
47
|
* @param {Request} request
|
|
13
48
|
* @returns {Promise<Object>}
|
|
14
49
|
*/
|
|
15
|
-
search(request:
|
|
50
|
+
search(request: KuzzleRequest): Promise<{
|
|
51
|
+
aggregations: any;
|
|
52
|
+
hits: any;
|
|
53
|
+
remaining: any;
|
|
54
|
+
scrollId: any;
|
|
55
|
+
suggest: any;
|
|
56
|
+
total: any;
|
|
57
|
+
}>;
|
|
16
58
|
/**
|
|
17
59
|
* @param {Request} request
|
|
18
60
|
* @returns {Promise<Object>}
|
|
19
61
|
*/
|
|
20
|
-
scroll(request:
|
|
62
|
+
scroll(request: KuzzleRequest): Promise<{
|
|
63
|
+
hits: any;
|
|
64
|
+
remaining: any;
|
|
65
|
+
scrollId: any;
|
|
66
|
+
total: any;
|
|
67
|
+
}>;
|
|
21
68
|
/**
|
|
22
69
|
* @param {Request} request
|
|
23
70
|
* @returns {Promise<Boolean>}
|
|
24
71
|
*/
|
|
25
|
-
exists(request:
|
|
72
|
+
exists(request: KuzzleRequest): Promise<any>;
|
|
26
73
|
/**
|
|
27
74
|
* @param {Request} request
|
|
28
75
|
*/
|
|
29
|
-
mExists(request:
|
|
76
|
+
mExists(request: KuzzleRequest): Promise<{
|
|
30
77
|
errors: any;
|
|
31
78
|
successes: any;
|
|
32
79
|
}>;
|
|
33
|
-
export(request:
|
|
80
|
+
export(request: KuzzleRequest): Promise<import("../../..").HttpStream>;
|
|
34
81
|
/**
|
|
35
82
|
* @param {Request} request
|
|
36
83
|
* @returns {Promise<Object>}
|
|
37
84
|
*/
|
|
38
|
-
get(request:
|
|
85
|
+
get(request: KuzzleRequest): Promise<{
|
|
86
|
+
_id: any;
|
|
87
|
+
_source: any;
|
|
88
|
+
_version: any;
|
|
89
|
+
}>;
|
|
39
90
|
/**
|
|
40
91
|
* Get specific documents according to given ids
|
|
41
92
|
*
|
|
42
93
|
* @param {Request} request
|
|
43
94
|
* @returns {Promise<Object>}
|
|
44
95
|
*/
|
|
45
|
-
mGet(request:
|
|
96
|
+
mGet(request: KuzzleRequest): Promise<{
|
|
97
|
+
errors: any;
|
|
98
|
+
successes: any;
|
|
99
|
+
}>;
|
|
46
100
|
/**
|
|
47
101
|
* @param {Request} request
|
|
48
102
|
* @returns {Promise<Object>}
|
|
49
103
|
*/
|
|
50
|
-
count(request:
|
|
104
|
+
count(request: KuzzleRequest): Promise<{
|
|
105
|
+
count: any;
|
|
106
|
+
}>;
|
|
51
107
|
/**
|
|
52
108
|
* Create a new document
|
|
53
109
|
*
|
|
@@ -62,14 +118,17 @@ declare class DocumentController extends NativeController {
|
|
|
62
118
|
* @param {Request} request
|
|
63
119
|
* @returns {Promise<Object>}
|
|
64
120
|
*/
|
|
65
|
-
mCreate(request:
|
|
121
|
+
mCreate(request: KuzzleRequest): Promise<{
|
|
122
|
+
errors: any;
|
|
123
|
+
successes: any;
|
|
124
|
+
}>;
|
|
66
125
|
/**
|
|
67
126
|
* Create a new document through the persistent layer. If it already exists, update it instead.
|
|
68
127
|
*
|
|
69
128
|
* @param {Request} request
|
|
70
129
|
* @returns {Promise<Object>}
|
|
71
130
|
*/
|
|
72
|
-
createOrReplace(request:
|
|
131
|
+
createOrReplace(request: KuzzleRequest): Promise<any>;
|
|
73
132
|
/**
|
|
74
133
|
* Create or replace the documents provided in the body
|
|
75
134
|
* Delegates the notification to createOrReplace action
|
|
@@ -77,14 +136,17 @@ declare class DocumentController extends NativeController {
|
|
|
77
136
|
* @param {Request} request
|
|
78
137
|
* @returns {Promise<Object>}
|
|
79
138
|
*/
|
|
80
|
-
mCreateOrReplace(request:
|
|
139
|
+
mCreateOrReplace(request: KuzzleRequest): Promise<{
|
|
140
|
+
errors: any;
|
|
141
|
+
successes: any;
|
|
142
|
+
}>;
|
|
81
143
|
/**
|
|
82
144
|
* Update a document through the persistent layer
|
|
83
145
|
*
|
|
84
146
|
* @param {Request} request
|
|
85
147
|
* @returns {Promise<Object>}
|
|
86
148
|
*/
|
|
87
|
-
update(request:
|
|
149
|
+
update(request: KuzzleRequest): Promise<any>;
|
|
88
150
|
/**
|
|
89
151
|
* Applies a partial update to an existing document.
|
|
90
152
|
* If the document doesn't already exist, a new document is created.
|
|
@@ -92,7 +154,7 @@ declare class DocumentController extends NativeController {
|
|
|
92
154
|
* @param {Request} request
|
|
93
155
|
* @returns {Promise<Object>}
|
|
94
156
|
*/
|
|
95
|
-
upsert(request:
|
|
157
|
+
upsert(request: KuzzleRequest): Promise<any>;
|
|
96
158
|
/**
|
|
97
159
|
* Update the documents provided in the body
|
|
98
160
|
* Delegates the notification to update action
|
|
@@ -100,7 +162,10 @@ declare class DocumentController extends NativeController {
|
|
|
100
162
|
* @param {Request} request
|
|
101
163
|
* @returns {Promise<Object>}
|
|
102
164
|
*/
|
|
103
|
-
mUpdate(request:
|
|
165
|
+
mUpdate(request: KuzzleRequest): Promise<{
|
|
166
|
+
errors: any;
|
|
167
|
+
successes: any;
|
|
168
|
+
}>;
|
|
104
169
|
/**
|
|
105
170
|
* Applies a partial update to documents provided in the body.
|
|
106
171
|
* If some of the documents don't already exist, they will be created.
|
|
@@ -108,14 +173,17 @@ declare class DocumentController extends NativeController {
|
|
|
108
173
|
* @param {Request} request
|
|
109
174
|
* @returns {Promise<Object>}
|
|
110
175
|
*/
|
|
111
|
-
mUpsert(request:
|
|
176
|
+
mUpsert(request: KuzzleRequest): Promise<{
|
|
177
|
+
errors: any;
|
|
178
|
+
successes: any;
|
|
179
|
+
}>;
|
|
112
180
|
/**
|
|
113
181
|
* Replace a document through the persistent layer. Throws an error if the document doesn't exist
|
|
114
182
|
*
|
|
115
183
|
* @param {Request} request
|
|
116
184
|
* @returns {Promise<Object>}
|
|
117
185
|
*/
|
|
118
|
-
replace(request:
|
|
186
|
+
replace(request: KuzzleRequest): Promise<any>;
|
|
119
187
|
/**
|
|
120
188
|
* Replace the documents provided in the body
|
|
121
189
|
* Delegates the notification to update action
|
|
@@ -123,14 +191,17 @@ declare class DocumentController extends NativeController {
|
|
|
123
191
|
* @param {Request} request
|
|
124
192
|
* @returns {Promise<Object>}
|
|
125
193
|
*/
|
|
126
|
-
mReplace(request:
|
|
194
|
+
mReplace(request: KuzzleRequest): Promise<{
|
|
195
|
+
errors: any;
|
|
196
|
+
successes: any;
|
|
197
|
+
}>;
|
|
127
198
|
/**
|
|
128
199
|
* Delete a document through the persistent layer
|
|
129
200
|
*
|
|
130
201
|
* @param {Request} request
|
|
131
202
|
* @returns {Promise<Object>}
|
|
132
203
|
*/
|
|
133
|
-
delete(request:
|
|
204
|
+
delete(request: KuzzleRequest): Promise<any>;
|
|
134
205
|
/**
|
|
135
206
|
* Delete specific documents according to given ids
|
|
136
207
|
* Delegates the notification to delete action
|
|
@@ -138,35 +209,70 @@ declare class DocumentController extends NativeController {
|
|
|
138
209
|
* @param {Request} request
|
|
139
210
|
* @returns {Promise<Object>}
|
|
140
211
|
*/
|
|
141
|
-
mDelete(request:
|
|
212
|
+
mDelete(request: KuzzleRequest): Promise<{
|
|
213
|
+
errors: any;
|
|
214
|
+
successes: any;
|
|
215
|
+
}>;
|
|
142
216
|
/**
|
|
143
217
|
* Delete several documents matching a query through the persistent layer
|
|
144
218
|
*
|
|
145
219
|
* @param {Request} request
|
|
146
220
|
* @returns {Promise<Object>}
|
|
147
221
|
*/
|
|
148
|
-
deleteByQuery(request:
|
|
222
|
+
deleteByQuery(request: KuzzleRequest): Promise<{
|
|
223
|
+
documents: any;
|
|
224
|
+
ids: any;
|
|
225
|
+
}>;
|
|
149
226
|
/**
|
|
150
227
|
* Delete fields of a document. Throws an error if the document doesn't exist
|
|
151
228
|
*
|
|
152
229
|
* @param {Request} request
|
|
153
230
|
* @returns {Promise<Object>}
|
|
154
231
|
*/
|
|
155
|
-
deleteFields(request:
|
|
232
|
+
deleteFields(request: KuzzleRequest): Promise<any>;
|
|
156
233
|
/**
|
|
157
234
|
* Update several documents matching a query through the persistent layer
|
|
158
235
|
*
|
|
159
236
|
* @param {Request} request
|
|
160
237
|
* @returns {Promise<Object}
|
|
161
238
|
*/
|
|
162
|
-
updateByQuery(request:
|
|
239
|
+
updateByQuery(request: KuzzleRequest): Promise<any>;
|
|
163
240
|
/**
|
|
164
241
|
* Validate a document against collection validation specifications.
|
|
165
242
|
*
|
|
166
243
|
* @param {Request} request
|
|
167
244
|
* @returns {Promise<Object>}
|
|
168
245
|
*/
|
|
169
|
-
validate(request:
|
|
246
|
+
validate(request: KuzzleRequest): Promise<{
|
|
247
|
+
errorMessages: import("../../core/validation/specification").VerboseErrorMessages;
|
|
248
|
+
valid: boolean;
|
|
249
|
+
}>;
|
|
250
|
+
/**
|
|
251
|
+
* Fetches documents by id (`mGet`) or checks their existence (`mExists`):
|
|
252
|
+
* the two actions take the same input and shape the same response, they only
|
|
253
|
+
* read through a different storage event.
|
|
254
|
+
*
|
|
255
|
+
* @param {Request} request
|
|
256
|
+
* @param {String} methodName storage method to ask for
|
|
257
|
+
* @returns {Promise.<Object>} { successes, errors }
|
|
258
|
+
*/
|
|
259
|
+
_mFetch(request: KuzzleRequest, methodName: FetchMethod): Promise<{
|
|
260
|
+
errors: any;
|
|
261
|
+
successes: any;
|
|
262
|
+
}>;
|
|
263
|
+
/**
|
|
264
|
+
* Writes a single document, either through `replace` (which requires it to
|
|
265
|
+
* exist) or `createOrReplace` (which does not). Both validate, inject
|
|
266
|
+
* metadata, write and then notify; they differ only in the storage event,
|
|
267
|
+
* the notification action, and what that notification carries.
|
|
268
|
+
*
|
|
269
|
+
* @param {Request} request
|
|
270
|
+
* @param {String} methodName storage method to ask for — it also decides
|
|
271
|
+
* the notification action and its payload, so the two can
|
|
272
|
+
* no longer disagree (TD-31)
|
|
273
|
+
* @returns {Promise.<Object>} the storage response
|
|
274
|
+
*/
|
|
275
|
+
_writeDocument(request: KuzzleRequest, methodName: WriteMethod): Promise<any>;
|
|
170
276
|
/**
|
|
171
277
|
* Applies a multi-document change request (create, update,
|
|
172
278
|
* replace, createOrReplace, upsert)
|
|
@@ -176,6 +282,9 @@ declare class DocumentController extends NativeController {
|
|
|
176
282
|
* @param {notifyActionEnum} action performed on the documents
|
|
177
283
|
* @returns {Promise.<Object>} { successes, errors }
|
|
178
284
|
*/
|
|
179
|
-
_mChanges(request:
|
|
285
|
+
_mChanges(request: KuzzleRequest, methodName: ChangeMethod, action: NotifyAction): Promise<{
|
|
286
|
+
errors: any;
|
|
287
|
+
successes: any;
|
|
288
|
+
}>;
|
|
180
289
|
}
|
|
181
|
-
|
|
290
|
+
export = DocumentController;
|