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,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,36 +19,25 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
"use strict";
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Base class of every validation type, and the contract `Validation.addType`
|
|
24
|
+
* checks a plugin-provided type against.
|
|
25
|
+
*
|
|
26
|
+
* @typeParam TOptions - the `typeOptions` shape this type accepts, once
|
|
27
|
+
* `validateFieldSpecification` has run
|
|
28
|
+
* @typeParam TSpecification - the `typeOptions` shape a user writes, which
|
|
29
|
+
* `validateFieldSpecification` checks and normalises into `TOptions`; the
|
|
30
|
+
* same shape unless the type converts something
|
|
24
31
|
*/
|
|
25
32
|
class BaseType {
|
|
26
|
-
/**
|
|
27
|
-
* Validate a document against a registered field type validator
|
|
28
|
-
*
|
|
29
|
-
* @param {TypeOptions} typeOptions
|
|
30
|
-
* @param {*} fieldValue
|
|
31
|
-
* @param {string[]} errorMessages
|
|
32
|
-
* @returns {boolean}
|
|
33
|
-
*/
|
|
34
33
|
validate() {
|
|
35
34
|
return true;
|
|
36
35
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Validate a field specification itself
|
|
39
|
-
*
|
|
40
|
-
* @param {TypeOptions} typeOptions
|
|
41
|
-
* @returns {TypeOptions}
|
|
42
|
-
* @throws {KuzzleError}
|
|
43
|
-
*/
|
|
44
36
|
validateFieldSpecification(opts) {
|
|
45
37
|
return opts;
|
|
46
38
|
}
|
|
47
39
|
/**
|
|
48
|
-
*
|
|
49
|
-
* @param {string[]} allowedProperties
|
|
50
|
-
* @returns {boolean}
|
|
40
|
+
* Narrows `object` to a plain object holding none but the allowed properties.
|
|
51
41
|
*/
|
|
52
42
|
checkAllowedProperties(object, allowedProperties) {
|
|
53
43
|
if (typeof object !== "object" ||
|
|
@@ -55,13 +45,8 @@ class BaseType {
|
|
|
55
45
|
object === null) {
|
|
56
46
|
return false;
|
|
57
47
|
}
|
|
58
|
-
return !Object.keys(object).some((propertyName) => allowedProperties.
|
|
48
|
+
return !Object.keys(object).some((propertyName) => !allowedProperties.includes(propertyName));
|
|
59
49
|
}
|
|
60
|
-
/**
|
|
61
|
-
* @param {StructuredFieldSpecification} fieldSpec
|
|
62
|
-
* @param {boolean} parentStrictness
|
|
63
|
-
* @returns {boolean}
|
|
64
|
-
*/
|
|
65
50
|
getStrictness(fieldSpec, parentStrictness) {
|
|
66
51
|
return parentStrictness;
|
|
67
52
|
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { JSONObject } from "../../types/JSONObject";
|
|
2
|
+
import type { TypeOptions } from "./typeOptions";
|
|
3
|
+
/**
|
|
4
|
+
* The shapes a collection validation specification passes through.
|
|
5
|
+
*
|
|
6
|
+
* Like `typeOptions` before it ([step 09](../../../docs/adr-001/steps/09-sprint-6-core-ii.md)),
|
|
7
|
+
* every name here existed only as a JSDoc `@typedef` that was never declared:
|
|
8
|
+
* `FieldSpecification`, `StructuredFieldSpecification`, `CollectionSpecification`
|
|
9
|
+
* and `DocumentSpecification` were written in annotations across
|
|
10
|
+
* `validation.js` and `default.config.ts` and resolved to nothing.
|
|
11
|
+
*
|
|
12
|
+
* The distinction the JSDoc could not draw, and which is the whole reason this
|
|
13
|
+
* file has four types rather than one, is **before and after curation**. What a
|
|
14
|
+
* user submits is a flat map of path-keyed fields with almost everything
|
|
15
|
+
* optional; what the validator walks at runtime is a tree, with defaults filled
|
|
16
|
+
* in and `path`/`depth`/`children` added. `curateCollectionSpecification` is
|
|
17
|
+
* the boundary between the two.
|
|
18
|
+
*/
|
|
19
|
+
/** A field's multivalued constraints, as submitted. */
|
|
20
|
+
export interface MultivaluedSpecification {
|
|
21
|
+
value: boolean;
|
|
22
|
+
minCount?: number;
|
|
23
|
+
maxCount?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* One field of a collection specification, as submitted. Keys of the enclosing
|
|
27
|
+
* map are `/`-separated paths (`"address/city"`), which is what gives the tree
|
|
28
|
+
* its shape once curated.
|
|
29
|
+
*/
|
|
30
|
+
export interface FieldSpecification {
|
|
31
|
+
type: string;
|
|
32
|
+
mandatory?: boolean;
|
|
33
|
+
defaultValue?: unknown;
|
|
34
|
+
description?: string;
|
|
35
|
+
multivalued?: MultivaluedSpecification;
|
|
36
|
+
typeOptions?: TypeOptions;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* A field once curated, as it sits in the tree `curateStructuredFields` builds.
|
|
40
|
+
*
|
|
41
|
+
* The tree's **root** is the single node carrying `root: true` and no `type`:
|
|
42
|
+
* it holds children and nothing else. Every other node is a curated field, so
|
|
43
|
+
* the properties `curateFieldSpecification` guarantees (`mandatory`,
|
|
44
|
+
* `multivalued`, `typeOptions`) are optional here only because the root does
|
|
45
|
+
* not have them.
|
|
46
|
+
*/
|
|
47
|
+
export interface StructuredFieldSpecification {
|
|
48
|
+
/** Set on the tree root, and only there. */
|
|
49
|
+
root?: boolean;
|
|
50
|
+
type?: string;
|
|
51
|
+
/** The field's key split on `/` — `["address", "city"]`. */
|
|
52
|
+
path?: string[];
|
|
53
|
+
/** `path.length`; the depth counting starts at 1. */
|
|
54
|
+
depth?: number;
|
|
55
|
+
mandatory?: boolean;
|
|
56
|
+
defaultValue?: unknown;
|
|
57
|
+
description?: string;
|
|
58
|
+
multivalued?: MultivaluedSpecification;
|
|
59
|
+
typeOptions?: TypeOptions;
|
|
60
|
+
children?: Record<string, CuratedFieldSpecification>;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A node hanging off some `children` map: always a curated field, never the
|
|
64
|
+
* root. Everything the root is missing is present here, because it is
|
|
65
|
+
* `curateFieldSpecification` that puts it there —
|
|
66
|
+
*
|
|
67
|
+
* - `type` is checked by `curateFieldSpecificationFormat` before anything else;
|
|
68
|
+
* - `mandatory` and `multivalued.value` are filled by its `defaultsDeep`;
|
|
69
|
+
* - `typeOptions` defaults to `{}` and is then replaced by whatever the owning
|
|
70
|
+
* type's `validateFieldSpecification` answers;
|
|
71
|
+
* - `path` and `depth` are set by `curateCollectionSpecification` on the way
|
|
72
|
+
* into the tree.
|
|
73
|
+
*
|
|
74
|
+
* Splitting this out is what lets the walkers stop asking whether each of them
|
|
75
|
+
* is there: they only ever receive children, and a child is always curated.
|
|
76
|
+
*/
|
|
77
|
+
export interface CuratedFieldSpecification extends StructuredFieldSpecification {
|
|
78
|
+
root?: false;
|
|
79
|
+
type: string;
|
|
80
|
+
path: string[];
|
|
81
|
+
depth: number;
|
|
82
|
+
mandatory: boolean;
|
|
83
|
+
multivalued: MultivaluedSpecification;
|
|
84
|
+
typeOptions: TypeOptions;
|
|
85
|
+
children?: Record<string, CuratedFieldSpecification>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A field once `curateFieldSpecification` is done with it, and before the tree
|
|
89
|
+
* gives it its place: everything a curated field carries except `path` and
|
|
90
|
+
* `depth`, which `structureCollectionValidation` assigns from the field's key.
|
|
91
|
+
*/
|
|
92
|
+
export type UnplacedCuratedField = Omit<CuratedFieldSpecification, "path" | "depth"> & {
|
|
93
|
+
path?: string[];
|
|
94
|
+
depth?: number;
|
|
95
|
+
};
|
|
96
|
+
/** A collection's specification, as submitted. */
|
|
97
|
+
export interface CollectionSpecification {
|
|
98
|
+
strict?: boolean;
|
|
99
|
+
fields?: Record<string, FieldSpecification>;
|
|
100
|
+
validators?: JSONObject[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A collection's specification once curated: the fields are a tree, and
|
|
104
|
+
* `validators` has been replaced by the Koncorde filter id registered for it
|
|
105
|
+
* (or `null` on a dry run, and when the collection declares no validator).
|
|
106
|
+
*/
|
|
107
|
+
export interface CuratedCollectionSpecification {
|
|
108
|
+
strict: boolean;
|
|
109
|
+
fields: StructuredFieldSpecification;
|
|
110
|
+
validators: string | null;
|
|
111
|
+
}
|
|
112
|
+
/** Curated specifications, by index then collection. */
|
|
113
|
+
export type DocumentSpecification = Record<string, Record<string, CuratedCollectionSpecification>>;
|
|
114
|
+
/** Raw specifications as they are stored, by index then collection. */
|
|
115
|
+
export type RawSpecification = Record<string, Record<string, CollectionSpecification>>;
|
|
116
|
+
/**
|
|
117
|
+
* The configuration's startup specifications (`validation`), read as what
|
|
118
|
+
* they are. The configuration's type declares them `Record<string, unknown>`
|
|
119
|
+
* — it is public, and that is what v2.56.0 declared — and what they hold is
|
|
120
|
+
* checked specification by specification when it is curated.
|
|
121
|
+
*/
|
|
122
|
+
export declare function configuredSpecifications(): RawSpecification;
|
|
123
|
+
/**
|
|
124
|
+
* What the curation methods answer when asked not to fail fast. `errors` is
|
|
125
|
+
* present exactly when `isValid` is false.
|
|
126
|
+
*/
|
|
127
|
+
export interface SpecificationValidationResult {
|
|
128
|
+
isValid: boolean;
|
|
129
|
+
errors?: string[];
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Verbose validation errors, keyed by where they happened. A field's messages
|
|
133
|
+
* hang off the tree at its own path, so a caller can report them in place.
|
|
134
|
+
*/
|
|
135
|
+
export interface FieldErrorScope {
|
|
136
|
+
children?: Record<string, FieldErrorScope>;
|
|
137
|
+
messages?: string[];
|
|
138
|
+
}
|
|
139
|
+
export interface VerboseErrorMessages {
|
|
140
|
+
documentScope?: string[];
|
|
141
|
+
fieldScope?: FieldErrorScope;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Where validation errors are collected. A flat list when `verbose` is false —
|
|
145
|
+
* in which case nothing is ever pushed to it, because the first failure throws
|
|
146
|
+
* — and the structured holder above when it is true.
|
|
147
|
+
*/
|
|
148
|
+
export type ErrorMessages = string[] | VerboseErrorMessages;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Kuzzle, a backend software, self-hostable and ready to use
|
|
4
|
+
* to power modern apps
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2015-2022 Kuzzle
|
|
7
|
+
* mailto: support AT kuzzle.io
|
|
8
|
+
* website: http://kuzzle.io
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.configuredSpecifications = void 0;
|
|
24
|
+
/**
|
|
25
|
+
* The configuration's startup specifications (`validation`), read as what
|
|
26
|
+
* they are. The configuration's type declares them `Record<string, unknown>`
|
|
27
|
+
* — it is public, and that is what v2.56.0 declared — and what they hold is
|
|
28
|
+
* checked specification by specification when it is curated.
|
|
29
|
+
*/
|
|
30
|
+
function configuredSpecifications() {
|
|
31
|
+
return global.kuzzle.config.validation;
|
|
32
|
+
}
|
|
33
|
+
exports.configuredSpecifications = configuredSpecifications;
|
|
34
|
+
//# sourceMappingURL=specification.js.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Moment } from "moment";
|
|
2
|
+
/**
|
|
3
|
+
* A field's `typeOptions`: an arbitrary, user-provided object, narrowed by each
|
|
4
|
+
* validation type into the shape that type actually accepts.
|
|
5
|
+
*
|
|
6
|
+
* The narrowed shapes below describe the options **after**
|
|
7
|
+
* `validateFieldSpecification` has run: that method is what rejects the invalid
|
|
8
|
+
* ones and fills the defaults in, so `validate` may rely on them.
|
|
9
|
+
*/
|
|
10
|
+
export type TypeOptions = Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* Bounds of a `date` range, as `validateFieldSpecification` leaves them: either
|
|
13
|
+
* a parsed moment, or the `NOW` literal kept verbatim so that it is resolved at
|
|
14
|
+
* validation time rather than at specification time.
|
|
15
|
+
*/
|
|
16
|
+
export type DateRangeBound = Moment | "NOW";
|
|
17
|
+
export interface DateTypeOptions extends TypeOptions {
|
|
18
|
+
formats?: string[];
|
|
19
|
+
range?: {
|
|
20
|
+
min?: DateRangeBound;
|
|
21
|
+
max?: DateRangeBound;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Bounds of a `date` range as a user writes them, before
|
|
26
|
+
* `validateFieldSpecification` converts them into {@link DateRangeBound}s: an
|
|
27
|
+
* ISO 8601 string, an epoch number, or `NOW`.
|
|
28
|
+
*/
|
|
29
|
+
export type DateSpecificationBound = string | number;
|
|
30
|
+
/** The `date` type's `typeOptions` as a user writes them. */
|
|
31
|
+
export interface DateSpecification extends TypeOptions {
|
|
32
|
+
formats?: string[];
|
|
33
|
+
range?: {
|
|
34
|
+
min?: DateSpecificationBound;
|
|
35
|
+
max?: DateSpecificationBound;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export interface EnumTypeOptions extends TypeOptions {
|
|
39
|
+
values?: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface GeoShapeTypeOptions extends TypeOptions {
|
|
42
|
+
shapeTypes?: string[];
|
|
43
|
+
}
|
|
44
|
+
/** Shared by the `email`, `ip_address` and `url` types. */
|
|
45
|
+
export interface NotEmptyTypeOptions extends TypeOptions {
|
|
46
|
+
notEmpty?: boolean;
|
|
47
|
+
}
|
|
48
|
+
export interface NumericTypeOptions extends TypeOptions {
|
|
49
|
+
range?: {
|
|
50
|
+
min?: number;
|
|
51
|
+
max?: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface ObjectTypeOptions extends TypeOptions {
|
|
55
|
+
strict?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface StringTypeOptions extends TypeOptions {
|
|
58
|
+
length?: {
|
|
59
|
+
min?: number;
|
|
60
|
+
max?: number;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Kuzzle, a backend software, self-hostable and ready to use
|
|
4
|
+
* to power modern apps
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2015-2022 Kuzzle
|
|
7
|
+
* mailto: support AT kuzzle.io
|
|
8
|
+
* website: http://kuzzle.io
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
//# sourceMappingURL=typeOptions.js.map
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* @class AnythingType
|
|
4
|
-
*/
|
|
1
|
+
import BaseType from "../baseType";
|
|
5
2
|
declare class AnythingType extends BaseType {
|
|
6
3
|
typeName: string;
|
|
7
4
|
allowChildren: boolean;
|
|
8
|
-
allowedTypeOptions:
|
|
5
|
+
allowedTypeOptions: string[];
|
|
9
6
|
}
|
|
10
|
-
|
|
7
|
+
export = AnythingType;
|
|
@@ -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,13 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class AnythingType extends BaseType {
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
const baseType_1 = __importDefault(require("../baseType"));
|
|
26
|
+
class AnythingType extends baseType_1.default {
|
|
27
27
|
constructor() {
|
|
28
|
-
super();
|
|
28
|
+
super(...arguments);
|
|
29
29
|
this.typeName = "anything";
|
|
30
30
|
this.allowChildren = false;
|
|
31
31
|
this.allowedTypeOptions = [];
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* @class BooleanType
|
|
4
|
-
*/
|
|
1
|
+
import BaseType from "../baseType";
|
|
2
|
+
import type { TypeOptions } from "../typeOptions";
|
|
5
3
|
declare class BooleanType extends BaseType {
|
|
6
4
|
typeName: string;
|
|
7
5
|
allowChildren: boolean;
|
|
8
|
-
allowedTypeOptions:
|
|
9
|
-
|
|
10
|
-
* @param {TypeOptions} typeOptions
|
|
11
|
-
* @param {*} fieldValue
|
|
12
|
-
* @param {string[]} errorMessages
|
|
13
|
-
*/
|
|
14
|
-
validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
|
|
6
|
+
allowedTypeOptions: string[];
|
|
7
|
+
validate(typeOptions: TypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
|
|
15
8
|
}
|
|
16
|
-
|
|
9
|
+
export = BooleanType;
|
|
@@ -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,23 +19,17 @@
|
|
|
18
19
|
* See the License for the specific language governing permissions and
|
|
19
20
|
* limitations under the License.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class BooleanType extends BaseType {
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
const baseType_1 = __importDefault(require("../baseType"));
|
|
26
|
+
class BooleanType extends baseType_1.default {
|
|
27
27
|
constructor() {
|
|
28
|
-
super();
|
|
28
|
+
super(...arguments);
|
|
29
29
|
this.typeName = "boolean";
|
|
30
30
|
this.allowChildren = false;
|
|
31
31
|
this.allowedTypeOptions = [];
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
* @param {TypeOptions} typeOptions
|
|
35
|
-
* @param {*} fieldValue
|
|
36
|
-
* @param {string[]} errorMessages
|
|
37
|
-
*/
|
|
38
33
|
validate(typeOptions, fieldValue, errorMessages) {
|
|
39
34
|
if (typeof fieldValue !== "boolean") {
|
|
40
35
|
errorMessages.push("The field must be of type boolean.");
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
declare class DateType extends BaseType {
|
|
1
|
+
import BaseType from "../baseType";
|
|
2
|
+
import type { DateSpecification, DateTypeOptions } from "../typeOptions";
|
|
3
|
+
declare class DateType extends BaseType<DateTypeOptions, DateSpecification> {
|
|
6
4
|
typeName: string;
|
|
7
5
|
allowChildren: boolean;
|
|
8
6
|
allowedTypeOptions: string[];
|
|
7
|
+
validate(typeOptions: DateTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Normalises the specification **in place**, as it always has — the caller's
|
|
10
|
+
* object is the one it answers — which is why the result is `Object.assign`ed
|
|
11
|
+
* onto it rather than built beside it.
|
|
12
|
+
*
|
|
13
|
+
* @throws {PreconditionError}
|
|
14
|
+
*/
|
|
15
|
+
validateFieldSpecification(specification: DateSpecification): DateTypeOptions;
|
|
9
16
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
17
|
+
* Converts `range`'s bounds, in place: each becomes a moment, except `NOW`,
|
|
18
|
+
* which is kept verbatim so that it resolves at validation time rather than
|
|
19
|
+
* at specification time.
|
|
20
|
+
*
|
|
21
|
+
* @throws {PreconditionError}
|
|
14
22
|
*/
|
|
15
|
-
|
|
23
|
+
private validateRange;
|
|
16
24
|
}
|
|
17
|
-
|
|
25
|
+
export = DateType;
|