kuzzle 2.19.2 → 2.19.5
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/lib/api/controllers/adminController.js +94 -80
- package/lib/api/controllers/authController.js +239 -212
- package/lib/api/controllers/baseController.js +89 -51
- package/lib/api/controllers/bulkController.js +62 -49
- package/lib/api/controllers/clusterController.js +6 -8
- package/lib/api/controllers/collectionController.js +140 -129
- package/lib/api/controllers/debugController.d.ts +2 -2
- package/lib/api/controllers/debugController.js +33 -31
- package/lib/api/controllers/documentController.js +365 -274
- package/lib/api/controllers/index.js +13 -13
- package/lib/api/controllers/indexController.js +46 -50
- package/lib/api/controllers/memoryStorageController.js +410 -360
- package/lib/api/controllers/realtimeController.js +37 -36
- package/lib/api/controllers/securityController.js +553 -412
- package/lib/api/controllers/serverController.js +111 -104
- package/lib/api/documentExtractor.js +75 -68
- package/lib/api/funnel.js +411 -312
- package/lib/api/httpRoutes.js +1493 -324
- package/lib/api/openapi/OpenApiManager.d.ts +1 -1
- package/lib/api/openapi/OpenApiManager.js +22 -22
- package/lib/api/openapi/components/document/count.yaml +1 -1
- package/lib/api/openapi/components/document/create.yaml +2 -2
- package/lib/api/openapi/components/document/delete.yaml +1 -1
- package/lib/api/openapi/components/document/deleteByQuery.yaml +1 -1
- package/lib/api/openapi/components/document/exists.yaml +1 -1
- package/lib/api/openapi/components/document/get.yaml +2 -2
- package/lib/api/openapi/components/document/index.js +12 -12
- package/lib/api/openapi/components/document/replace.yaml +1 -1
- package/lib/api/openapi/components/document/scroll.yaml +1 -1
- package/lib/api/openapi/components/document/validate.yaml +1 -1
- package/lib/api/openapi/components/index.d.ts +2 -2
- package/lib/api/openapi/components/index.js +1 -1
- package/lib/api/openapi/components/security/index.js +1 -1
- package/lib/api/openapi/components/security/upsertUser.yaml +2 -3
- package/lib/api/openapi/index.d.ts +1 -1
- package/lib/api/openapi/openApiGenerator.d.ts +1 -1
- package/lib/api/openapi/openApiGenerator.js +7 -7
- package/lib/api/rateLimiter.js +12 -13
- package/lib/api/request/index.d.ts +4 -4
- package/lib/api/request/kuzzleRequest.d.ts +9 -9
- package/lib/api/request/kuzzleRequest.js +91 -90
- package/lib/api/request/requestContext.d.ts +2 -2
- package/lib/api/request/requestContext.js +17 -17
- package/lib/api/request/requestInput.d.ts +1 -1
- package/lib/api/request/requestInput.js +19 -19
- package/lib/api/request/requestResponse.d.ts +4 -4
- package/lib/api/request/requestResponse.js +31 -33
- package/lib/cluster/command.js +48 -44
- package/lib/cluster/idCardHandler.d.ts +1 -1
- package/lib/cluster/idCardHandler.js +15 -15
- package/lib/cluster/index.js +2 -2
- package/lib/cluster/node.js +301 -269
- package/lib/cluster/publisher.js +45 -46
- package/lib/cluster/state.d.ts +5 -5
- package/lib/cluster/state.js +8 -8
- package/lib/cluster/subscriber.js +163 -113
- package/lib/cluster/workers/IDCardRenewer.js +33 -32
- package/lib/config/default.config.d.ts +1 -1
- package/lib/config/default.config.js +212 -171
- package/lib/config/documentEventAliases.js +6 -6
- package/lib/config/index.js +161 -98
- package/lib/config/sdkCompatibility.json +8 -8
- package/lib/core/auth/formatProcessing.js +7 -7
- package/lib/core/auth/passportResponse.js +7 -7
- package/lib/core/auth/passportWrapper.js +34 -30
- package/lib/core/auth/tokenManager.d.ts +2 -2
- package/lib/core/auth/tokenManager.js +11 -10
- package/lib/core/backend/applicationManager.d.ts +1 -1
- package/lib/core/backend/applicationManager.js +2 -2
- package/lib/core/backend/backend.d.ts +4 -4
- package/lib/core/backend/backend.js +34 -31
- package/lib/core/backend/backendCluster.d.ts +8 -9
- package/lib/core/backend/backendCluster.js +8 -8
- package/lib/core/backend/backendConfig.d.ts +2 -2
- package/lib/core/backend/backendConfig.js +3 -3
- package/lib/core/backend/backendController.d.ts +2 -2
- package/lib/core/backend/backendController.js +9 -10
- package/lib/core/backend/backendErrors.d.ts +3 -3
- package/lib/core/backend/backendErrors.js +2 -1
- package/lib/core/backend/backendHook.d.ts +3 -3
- package/lib/core/backend/backendHook.js +5 -5
- package/lib/core/backend/backendImport.d.ts +3 -3
- package/lib/core/backend/backendImport.js +23 -23
- package/lib/core/backend/backendOpenApi.d.ts +2 -2
- package/lib/core/backend/backendOpenApi.js +16 -16
- package/lib/core/backend/backendPipe.d.ts +3 -3
- package/lib/core/backend/backendPipe.js +6 -6
- package/lib/core/backend/backendPlugin.d.ts +4 -4
- package/lib/core/backend/backendPlugin.js +14 -14
- package/lib/core/backend/backendStorage.d.ts +2 -2
- package/lib/core/backend/backendStorage.js +1 -2
- package/lib/core/backend/backendVault.d.ts +2 -2
- package/lib/core/backend/backendVault.js +3 -3
- package/lib/core/backend/index.d.ts +14 -14
- package/lib/core/backend/internalLogger.d.ts +1 -1
- package/lib/core/backend/internalLogger.js +5 -5
- package/lib/core/cache/cacheDbEnum.js +4 -4
- package/lib/core/cache/cacheEngine.js +79 -85
- package/lib/core/network/accessLogger.js +126 -120
- package/lib/core/network/clientConnection.js +5 -5
- package/lib/core/network/context.js +8 -8
- package/lib/core/network/entryPoint.js +100 -85
- package/lib/core/network/httpRouter/index.js +63 -60
- package/lib/core/network/httpRouter/routeHandler.js +18 -19
- package/lib/core/network/httpRouter/routePart.js +23 -19
- package/lib/core/network/protocolManifest.js +3 -3
- package/lib/core/network/protocols/httpMessage.js +8 -10
- package/lib/core/network/protocols/httpwsProtocol.js +305 -250
- package/lib/core/network/protocols/internalProtocol.js +27 -24
- package/lib/core/network/protocols/mqttProtocol.js +106 -96
- package/lib/core/network/protocols/protocol.js +20 -17
- package/lib/core/network/router.js +56 -46
- package/lib/core/plugin/plugin.js +151 -120
- package/lib/core/plugin/pluginContext.d.ts +7 -7
- package/lib/core/plugin/pluginContext.js +48 -44
- package/lib/core/plugin/pluginManifest.js +13 -12
- package/lib/core/plugin/pluginRepository.js +26 -27
- package/lib/core/plugin/pluginsManager.js +425 -304
- package/lib/core/plugin/privilegedContext.js +3 -3
- package/lib/core/realtime/actionEnum.js +1 -1
- package/lib/core/realtime/channel.d.ts +1 -1
- package/lib/core/realtime/channel.js +22 -22
- package/lib/core/realtime/connectionRooms.d.ts +1 -1
- package/lib/core/realtime/hotelClerk.d.ts +2 -2
- package/lib/core/realtime/hotelClerk.js +53 -50
- package/lib/core/realtime/index.js +5 -5
- package/lib/core/realtime/notification/document.js +25 -25
- package/lib/core/realtime/notification/index.js +4 -4
- package/lib/core/realtime/notification/server.js +3 -3
- package/lib/core/realtime/notification/user.js +4 -4
- package/lib/core/realtime/notifier.js +113 -75
- package/lib/core/realtime/room.d.ts +1 -1
- package/lib/core/realtime/subscription.d.ts +1 -1
- package/lib/core/realtime/subscription.js +1 -1
- package/lib/core/security/index.js +8 -8
- package/lib/core/security/profileRepository.d.ts +6 -6
- package/lib/core/security/profileRepository.js +48 -45
- package/lib/core/security/roleRepository.js +127 -115
- package/lib/core/security/securityLoader.js +70 -63
- package/lib/core/security/tokenRepository.js +132 -118
- package/lib/core/security/userRepository.js +104 -88
- package/lib/core/shared/KoncordeWrapper.d.ts +1 -1
- package/lib/core/shared/KoncordeWrapper.js +3 -1
- package/lib/core/shared/abstractManifest.js +22 -23
- package/lib/core/shared/repository.js +69 -67
- package/lib/core/shared/sdk/embeddedSdk.d.ts +2 -2
- package/lib/core/shared/sdk/embeddedSdk.js +36 -32
- package/lib/core/shared/sdk/funnelProtocol.d.ts +1 -1
- package/lib/core/shared/sdk/funnelProtocol.js +11 -11
- package/lib/core/shared/sdk/impersonatedSdk.js +19 -18
- package/lib/core/shared/store.js +127 -32
- package/lib/core/statistics/index.js +2 -2
- package/lib/core/statistics/statistics.js +99 -85
- package/lib/core/storage/clientAdapter.js +219 -136
- package/lib/core/storage/indexCache.js +3 -3
- package/lib/core/storage/storageEngine.js +10 -13
- package/lib/core/storage/storeScopeEnum.js +3 -3
- package/lib/core/validation/baseType.js +12 -10
- package/lib/core/validation/index.js +2 -2
- package/lib/core/validation/types/anything.js +4 -4
- package/lib/core/validation/types/boolean.js +7 -7
- package/lib/core/validation/types/date.js +165 -131
- package/lib/core/validation/types/email.js +18 -21
- package/lib/core/validation/types/enum.js +34 -21
- package/lib/core/validation/types/geoPoint.js +7 -7
- package/lib/core/validation/types/geoShape.js +148 -125
- package/lib/core/validation/types/integer.js +9 -9
- package/lib/core/validation/types/ipAddress.js +17 -19
- package/lib/core/validation/types/numeric.js +36 -29
- package/lib/core/validation/types/object.js +19 -19
- package/lib/core/validation/types/string.js +36 -29
- package/lib/core/validation/types/url.js +17 -19
- package/lib/core/validation/validation.js +422 -378
- package/lib/kerror/codes/1-services.json +7 -1
- package/lib/kerror/codes/4-plugin.json +2 -2
- package/lib/kerror/codes/index.js +85 -63
- package/lib/kerror/errors/badRequestError.d.ts +1 -1
- package/lib/kerror/errors/externalServiceError.d.ts +1 -1
- package/lib/kerror/errors/forbiddenError.d.ts +1 -1
- package/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
- package/lib/kerror/errors/index.d.ts +15 -15
- package/lib/kerror/errors/internalError.d.ts +1 -1
- package/lib/kerror/errors/kuzzleError.d.ts +1 -1
- package/lib/kerror/errors/multipleErrorsError.d.ts +1 -1
- package/lib/kerror/errors/multipleErrorsError.js +1 -1
- package/lib/kerror/errors/notFoundError.d.ts +1 -1
- package/lib/kerror/errors/partialError.d.ts +1 -1
- package/lib/kerror/errors/partialError.js +1 -1
- package/lib/kerror/errors/pluginImplementationError.d.ts +1 -1
- package/lib/kerror/errors/pluginImplementationError.js +2 -1
- package/lib/kerror/errors/preconditionError.d.ts +1 -1
- package/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
- package/lib/kerror/errors/sizeLimitError.d.ts +1 -1
- package/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
- package/lib/kerror/errors/unauthorizedError.d.ts +1 -1
- package/lib/kerror/index.d.ts +3 -3
- package/lib/kerror/index.js +17 -16
- package/lib/kuzzle/dumpGenerator.js +130 -114
- package/lib/kuzzle/event/kuzzleEventEmitter.js +96 -70
- package/lib/kuzzle/event/pipeRunner.js +26 -25
- package/lib/kuzzle/event/waterfall.js +13 -15
- package/lib/kuzzle/index.js +2 -2
- package/lib/kuzzle/internalIndexHandler.js +80 -59
- package/lib/kuzzle/kuzzle.js +99 -99
- package/lib/kuzzle/kuzzleStateEnum.js +1 -1
- package/lib/kuzzle/log.js +23 -18
- package/lib/kuzzle/vault.js +34 -19
- package/lib/model/security/profile.d.ts +3 -3
- package/lib/model/security/profile.js +38 -37
- package/lib/model/security/rights.js +5 -5
- package/lib/model/security/role.d.ts +3 -3
- package/lib/model/security/role.js +25 -26
- package/lib/model/security/token.d.ts +1 -1
- package/lib/model/security/token.js +4 -4
- package/lib/model/security/user.d.ts +2 -2
- package/lib/model/security/user.js +9 -9
- package/lib/model/storage/apiKey.js +43 -33
- package/lib/model/storage/baseModel.js +49 -45
- package/lib/service/cache/redis.js +60 -55
- package/lib/service/service.js +17 -17
- package/lib/service/storage/elasticsearch.js +839 -755
- package/lib/service/storage/esWrapper.js +103 -86
- package/lib/service/storage/queryTranslator.js +52 -59
- package/lib/types/Controller.d.ts +3 -3
- package/lib/types/ControllerDefinition.d.ts +3 -3
- package/lib/types/DebugModule.d.ts +3 -2
- package/lib/types/DebugModule.js +1 -1
- package/lib/types/EventHandler.d.ts +31 -1
- package/lib/types/Global.d.ts +1 -1
- package/lib/types/HttpStream.d.ts +2 -1
- package/lib/types/HttpStream.js +7 -5
- package/lib/types/Kuzzle.d.ts +1 -1
- package/lib/types/KuzzleDocument.d.ts +1 -1
- package/lib/types/OpenApiDefinition.d.ts +1 -1
- package/lib/types/PasswordPolicy.d.ts +1 -1
- package/lib/types/Plugin.d.ts +8 -8
- package/lib/types/Plugin.js +2 -2
- package/lib/types/Policy.d.ts +1 -1
- package/lib/types/RequestPayload.d.ts +1 -1
- package/lib/types/ResponsePayload.d.ts +1 -1
- package/lib/types/Token.d.ts +1 -1
- package/lib/types/User.d.ts +1 -1
- package/lib/types/config/DumpConfiguration.d.ts +8 -8
- package/lib/types/config/HttpConfiguration.d.ts +1 -1
- package/lib/types/config/KuzzleConfiguration.d.ts +1 -1
- package/lib/types/config/LimitsConfiguration.d.ts +8 -8
- package/lib/types/config/PluginsConfiguration.d.ts +4 -4
- package/lib/types/config/SecurityConfiguration.d.ts +62 -62
- package/lib/types/config/ServerConfiguration.d.ts +55 -55
- package/lib/types/config/ServicesConfiguration.d.ts +2 -2
- package/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +10 -10
- package/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +3 -3
- package/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +194 -110
- package/lib/types/errors/ErrorDefinition.d.ts +1 -1
- package/lib/types/errors/ErrorDomains.d.ts +1 -1
- package/lib/types/events/EventGenericDocument.d.ts +26 -0
- package/lib/types/events/EventGenericDocument.js +3 -0
- package/lib/types/index.d.ts +39 -38
- package/lib/types/index.js +1 -0
- package/lib/types/realtime/RealtimeScope.d.ts +1 -1
- package/lib/types/realtime/RealtimeUsers.d.ts +1 -1
- package/lib/util/assertType.js +13 -11
- package/lib/util/async.d.ts +1 -0
- package/lib/util/async.js +61 -0
- package/lib/util/asyncStore.js +19 -21
- package/lib/util/bufferedPassThrough.d.ts +3 -2
- package/lib/util/bufferedPassThrough.js +4 -4
- package/lib/util/bytes.js +9 -13
- package/lib/util/crypto.js +1 -1
- package/lib/util/debug.js +5 -5
- package/lib/util/deprecate.js +24 -21
- package/lib/util/didYouMean.js +7 -7
- package/lib/util/dump-collection.d.ts +2 -2
- package/lib/util/dump-collection.js +26 -26
- package/lib/util/esRequest.d.ts +1 -0
- package/lib/util/esRequest.js +62 -0
- package/lib/util/extractFields.js +24 -25
- package/lib/util/inflector.js +5 -5
- package/lib/util/koncordeCompat.d.ts +2 -2
- package/lib/util/koncordeCompat.js +5 -5
- package/lib/util/memoize.js +3 -5
- package/lib/util/mutex.d.ts +19 -1
- package/lib/util/mutex.js +39 -12
- package/lib/util/name-generator.js +1331 -1331
- package/lib/util/promback.js +8 -10
- package/lib/util/readYamlFile.d.ts +1 -1
- package/lib/util/readYamlFile.js +1 -1
- package/lib/util/requestAssertions.js +34 -34
- package/lib/util/safeObject.js +5 -5
- package/lib/util/stackTrace.js +20 -22
- package/lib/util/wildcard.js +15 -15
- package/package.json +28 -29
- package/npm-shrinkwrap.json +0 -19422
|
@@ -47,8 +47,8 @@ exports.BackendImport = void 0;
|
|
|
47
47
|
const kerror = __importStar(require("../../kerror"));
|
|
48
48
|
const index_1 = require("./index");
|
|
49
49
|
const safeObject_1 = require("../../../lib/util/safeObject");
|
|
50
|
-
const assertionError = kerror.wrap(
|
|
51
|
-
const runtimeError = kerror.wrap(
|
|
50
|
+
const assertionError = kerror.wrap("validation", "assert");
|
|
51
|
+
const runtimeError = kerror.wrap("plugin", "runtime");
|
|
52
52
|
class BackendImport extends index_1.ApplicationManager {
|
|
53
53
|
/**
|
|
54
54
|
* Import mappings.
|
|
@@ -68,18 +68,17 @@ class BackendImport extends index_1.ApplicationManager {
|
|
|
68
68
|
*/
|
|
69
69
|
mappings(mappings) {
|
|
70
70
|
if (this._application.started) {
|
|
71
|
-
throw runtimeError.get(
|
|
71
|
+
throw runtimeError.get("already_started", "import");
|
|
72
72
|
}
|
|
73
73
|
else if (!(0, safeObject_1.isPlainObject)(mappings)) {
|
|
74
|
-
throw assertionError.get(
|
|
74
|
+
throw assertionError.get("invalid_type", "mappings", "object");
|
|
75
75
|
}
|
|
76
76
|
for (const index of Object.keys(mappings)) {
|
|
77
77
|
if (!(0, safeObject_1.isPlainObject)(mappings[index])) {
|
|
78
|
-
throw assertionError.get(
|
|
78
|
+
throw assertionError.get("invalid_type", `mappings.${index}`, "object");
|
|
79
79
|
}
|
|
80
80
|
// If some collections have already been defined, only their last mappings will be retained
|
|
81
|
-
this._application._import.mappings[index] =
|
|
82
|
-
Object.assign({}, this._application._import.mappings[index], mappings[index]);
|
|
81
|
+
this._application._import.mappings[index] = Object.assign({}, this._application._import.mappings[index], mappings[index]);
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
@@ -96,14 +95,13 @@ class BackendImport extends index_1.ApplicationManager {
|
|
|
96
95
|
*/
|
|
97
96
|
profiles(profiles) {
|
|
98
97
|
if (this._application.started) {
|
|
99
|
-
throw runtimeError.get(
|
|
98
|
+
throw runtimeError.get("already_started", "import");
|
|
100
99
|
}
|
|
101
100
|
else if (!(0, safeObject_1.isPlainObject)(profiles)) {
|
|
102
|
-
throw assertionError.get(
|
|
101
|
+
throw assertionError.get("invalid_type", "profiles", "object");
|
|
103
102
|
}
|
|
104
103
|
// If some profiles have already been defined, only their last definition will be retained
|
|
105
|
-
this._application._import.profiles =
|
|
106
|
-
Object.assign({}, this._application._import.profiles, profiles);
|
|
104
|
+
this._application._import.profiles = Object.assign({}, this._application._import.profiles, profiles);
|
|
107
105
|
}
|
|
108
106
|
/**
|
|
109
107
|
* Import roles
|
|
@@ -119,14 +117,13 @@ class BackendImport extends index_1.ApplicationManager {
|
|
|
119
117
|
*/
|
|
120
118
|
roles(roles) {
|
|
121
119
|
if (this._application.started) {
|
|
122
|
-
throw runtimeError.get(
|
|
120
|
+
throw runtimeError.get("already_started", "import");
|
|
123
121
|
}
|
|
124
122
|
else if (!(0, safeObject_1.isPlainObject)(roles)) {
|
|
125
|
-
throw assertionError.get(
|
|
123
|
+
throw assertionError.get("invalid_type", "roles", "object");
|
|
126
124
|
}
|
|
127
125
|
// If some roles have already been defined, only their last definition will be retained
|
|
128
|
-
this._application._import.roles =
|
|
129
|
-
Object.assign({}, this._application._import.roles, roles);
|
|
126
|
+
this._application._import.roles = Object.assign({}, this._application._import.roles, roles);
|
|
130
127
|
}
|
|
131
128
|
/**
|
|
132
129
|
* Import user mappings.
|
|
@@ -144,10 +141,10 @@ class BackendImport extends index_1.ApplicationManager {
|
|
|
144
141
|
*/
|
|
145
142
|
userMappings(mappings) {
|
|
146
143
|
if (this._application.started) {
|
|
147
|
-
throw runtimeError.get(
|
|
144
|
+
throw runtimeError.get("already_started", "import");
|
|
148
145
|
}
|
|
149
146
|
else if (!(0, safeObject_1.isPlainObject)(mappings)) {
|
|
150
|
-
throw assertionError.get(
|
|
147
|
+
throw assertionError.get("invalid_type", "mappings", "object");
|
|
151
148
|
}
|
|
152
149
|
this._application._import.userMappings = mappings;
|
|
153
150
|
}
|
|
@@ -165,20 +162,23 @@ class BackendImport extends index_1.ApplicationManager {
|
|
|
165
162
|
*/
|
|
166
163
|
users(users, options = {}) {
|
|
167
164
|
if (this._application.started) {
|
|
168
|
-
throw runtimeError.get(
|
|
165
|
+
throw runtimeError.get("already_started", "import");
|
|
169
166
|
}
|
|
170
167
|
else if (!(0, safeObject_1.isPlainObject)(users)) {
|
|
171
|
-
throw assertionError.get(
|
|
168
|
+
throw assertionError.get("invalid_type", "users", "object");
|
|
172
169
|
}
|
|
173
170
|
else if (options.onExistingUsers) {
|
|
174
|
-
if (!(options.onExistingUsers ===
|
|
175
|
-
|
|
171
|
+
if (!(options.onExistingUsers === "overwrite" ||
|
|
172
|
+
options.onExistingUsers === "skip")) {
|
|
173
|
+
throw assertionError.get("invalid_type", "onExistingUsers", [
|
|
174
|
+
"overwrite",
|
|
175
|
+
"skip",
|
|
176
|
+
]);
|
|
176
177
|
}
|
|
177
178
|
this._application._import.onExistingUsers = options.onExistingUsers;
|
|
178
179
|
}
|
|
179
180
|
// If some users have already been defined (before startup), only their last definition will be retained
|
|
180
|
-
this._application._import.users =
|
|
181
|
-
Object.assign({}, this._application._import.users, users);
|
|
181
|
+
this._application._import.users = Object.assign({}, this._application._import.users, users);
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
exports.BackendImport = BackendImport;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ApplicationManager, Backend } from
|
|
2
|
-
import { OpenApiDefinition } from
|
|
1
|
+
import { ApplicationManager, Backend } from "./index";
|
|
2
|
+
import { OpenApiDefinition } from "../../types";
|
|
3
3
|
export declare class BackendOpenApi extends ApplicationManager {
|
|
4
4
|
/**
|
|
5
5
|
* Application Open API definition
|
|
@@ -27,40 +27,40 @@ class BackendOpenApi extends index_1.ApplicationManager {
|
|
|
27
27
|
super(application);
|
|
28
28
|
/* eslint-disable sort-keys */
|
|
29
29
|
this.definition = {
|
|
30
|
-
openapi:
|
|
30
|
+
openapi: "3.0.0",
|
|
31
31
|
info: {
|
|
32
32
|
title: `${application.name} API`,
|
|
33
33
|
description: `${application.name} HTTP API definition`,
|
|
34
34
|
contact: {
|
|
35
|
-
name:
|
|
36
|
-
url:
|
|
37
|
-
email:
|
|
38
|
-
discord:
|
|
35
|
+
name: "Kuzzle team",
|
|
36
|
+
url: "https://kuzzle.io",
|
|
37
|
+
email: "support@kuzzle.io",
|
|
38
|
+
discord: "http://join.discord.kuzzle.io",
|
|
39
39
|
},
|
|
40
40
|
license: {
|
|
41
|
-
name:
|
|
42
|
-
url:
|
|
41
|
+
name: "Apache 2",
|
|
42
|
+
url: "http://opensource.org/licenses/apache2.0",
|
|
43
43
|
},
|
|
44
|
-
version: application.version
|
|
44
|
+
version: application.version,
|
|
45
45
|
},
|
|
46
46
|
externalDocs: {
|
|
47
|
-
description:
|
|
48
|
-
url:
|
|
47
|
+
description: "Kuzzle API Documentation",
|
|
48
|
+
url: "https://docs.kuzzle.io/core/2/api/",
|
|
49
49
|
},
|
|
50
50
|
servers: [
|
|
51
51
|
{
|
|
52
|
-
url:
|
|
52
|
+
url: "https://{baseUrl}:{port}",
|
|
53
53
|
description: `${application.name} Base Url`,
|
|
54
54
|
variables: {
|
|
55
|
-
baseUrl: { default:
|
|
55
|
+
baseUrl: { default: "localhost" },
|
|
56
56
|
port: { default: 7512 },
|
|
57
|
-
}
|
|
58
|
-
}
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
59
|
],
|
|
60
60
|
tags: [],
|
|
61
|
-
schemes: [
|
|
61
|
+
schemes: ["https", "http"],
|
|
62
62
|
paths: {},
|
|
63
|
-
components: {}
|
|
63
|
+
components: {},
|
|
64
64
|
};
|
|
65
65
|
/* eslint-enable sort-keys */
|
|
66
66
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ApplicationManager } from
|
|
1
|
+
import { EventDefinition, PipeEventHandler } from "../../types";
|
|
2
|
+
import { ApplicationManager } from "./index";
|
|
3
3
|
export declare class BackendPipe extends ApplicationManager {
|
|
4
4
|
/**
|
|
5
5
|
* Registers a new pipe on an event
|
|
@@ -7,6 +7,6 @@ export declare class BackendPipe extends ApplicationManager {
|
|
|
7
7
|
* @param event - Event name
|
|
8
8
|
* @param handler - Function to execute when the event is triggered
|
|
9
9
|
*/
|
|
10
|
-
register(event:
|
|
10
|
+
register<TEventDefinition extends EventDefinition = EventDefinition>(event: TEventDefinition["name"], handler: PipeEventHandler<TEventDefinition>, options?: any): string | void;
|
|
11
11
|
unregister(pipeId: string): void;
|
|
12
12
|
}
|
|
@@ -46,8 +46,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
46
46
|
exports.BackendPipe = void 0;
|
|
47
47
|
const kerror = __importStar(require("../../kerror"));
|
|
48
48
|
const index_1 = require("./index");
|
|
49
|
-
const assertionError = kerror.wrap(
|
|
50
|
-
const runtimeError = kerror.wrap(
|
|
49
|
+
const assertionError = kerror.wrap("plugin", "assert");
|
|
50
|
+
const runtimeError = kerror.wrap("plugin", "runtime");
|
|
51
51
|
class BackendPipe extends index_1.ApplicationManager {
|
|
52
52
|
/**
|
|
53
53
|
* Registers a new pipe on an event
|
|
@@ -57,10 +57,10 @@ class BackendPipe extends index_1.ApplicationManager {
|
|
|
57
57
|
*/
|
|
58
58
|
register(event, handler, options = {}) {
|
|
59
59
|
if (this._application.started && options.dynamic !== true) {
|
|
60
|
-
throw runtimeError.get(
|
|
60
|
+
throw runtimeError.get("already_started", "pipe.register");
|
|
61
61
|
}
|
|
62
|
-
if (typeof handler !==
|
|
63
|
-
throw assertionError.get(
|
|
62
|
+
if (typeof handler !== "function") {
|
|
63
|
+
throw assertionError.get("invalid_pipe", event);
|
|
64
64
|
}
|
|
65
65
|
if (this._application.started) {
|
|
66
66
|
return global.kuzzle.pluginsManager.registerPipe(global.kuzzle.pluginsManager.application, event, handler);
|
|
@@ -72,7 +72,7 @@ class BackendPipe extends index_1.ApplicationManager {
|
|
|
72
72
|
}
|
|
73
73
|
unregister(pipeId) {
|
|
74
74
|
if (!this._application.started) {
|
|
75
|
-
throw runtimeError.get(
|
|
75
|
+
throw runtimeError.get("unavailable_before_start", "pipe.unregister");
|
|
76
76
|
}
|
|
77
77
|
global.kuzzle.pluginsManager.unregisterPipe(pipeId);
|
|
78
78
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { JSONObject } from
|
|
2
|
-
import { Plugin } from
|
|
3
|
-
import { ApplicationManager } from
|
|
1
|
+
import { JSONObject } from "../../../index";
|
|
2
|
+
import { Plugin } from "../../types";
|
|
3
|
+
import { ApplicationManager } from "./index";
|
|
4
4
|
export declare class BackendPlugin extends ApplicationManager {
|
|
5
5
|
/**
|
|
6
6
|
* Uses a plugin in this application.
|
|
@@ -24,7 +24,7 @@ export declare class BackendPlugin extends ApplicationManager {
|
|
|
24
24
|
*
|
|
25
25
|
* @param name Plugin name
|
|
26
26
|
*/
|
|
27
|
-
get(name: string):
|
|
27
|
+
get<TPlugin extends Plugin>(name: string): TPlugin;
|
|
28
28
|
/**
|
|
29
29
|
* Lists loaded plugins
|
|
30
30
|
*/
|
|
@@ -51,8 +51,8 @@ const inflector_1 = require("../../util/inflector");
|
|
|
51
51
|
const kerror = __importStar(require("../../kerror"));
|
|
52
52
|
const index_1 = require("./index");
|
|
53
53
|
const didYouMean_1 = __importDefault(require("../../util/didYouMean"));
|
|
54
|
-
const assertionError = kerror.wrap(
|
|
55
|
-
const runtimeError = kerror.wrap(
|
|
54
|
+
const assertionError = kerror.wrap("plugin", "assert");
|
|
55
|
+
const runtimeError = kerror.wrap("plugin", "runtime");
|
|
56
56
|
class BackendPlugin extends index_1.ApplicationManager {
|
|
57
57
|
/**
|
|
58
58
|
* Uses a plugin in this application.
|
|
@@ -68,24 +68,24 @@ class BackendPlugin extends index_1.ApplicationManager {
|
|
|
68
68
|
*/
|
|
69
69
|
use(plugin, options = {}) {
|
|
70
70
|
if (this._application.started) {
|
|
71
|
-
throw runtimeError.get(
|
|
71
|
+
throw runtimeError.get("already_started", "plugin");
|
|
72
72
|
}
|
|
73
73
|
// Avoid plain objects
|
|
74
|
-
if ((typeof plugin.constructor !==
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
throw assertionError.get(
|
|
74
|
+
if ((typeof plugin.constructor !== "function" ||
|
|
75
|
+
plugin.constructor.name === "Object") &&
|
|
76
|
+
!options.name) {
|
|
77
|
+
throw assertionError.get("no_name_provided");
|
|
78
78
|
}
|
|
79
|
-
const name = options.name
|
|
80
|
-
|
|
79
|
+
const name = options.name ||
|
|
80
|
+
inflector_1.Inflector.kebabCase(plugin.constructor.name.replace("Plugin", ""));
|
|
81
81
|
if (!this._application.PluginObject.checkName(name)) {
|
|
82
|
-
throw assertionError.get(
|
|
82
|
+
throw assertionError.get("invalid_plugin_name", name);
|
|
83
83
|
}
|
|
84
84
|
if (this._application._plugins[name]) {
|
|
85
|
-
throw assertionError.get(
|
|
85
|
+
throw assertionError.get("name_already_exists", name);
|
|
86
86
|
}
|
|
87
|
-
if (typeof plugin.init !==
|
|
88
|
-
throw assertionError.get(
|
|
87
|
+
if (typeof plugin.init !== "function") {
|
|
88
|
+
throw assertionError.get("init_not_found", name);
|
|
89
89
|
}
|
|
90
90
|
this._application._plugins[name] = { options, plugin };
|
|
91
91
|
}
|
|
@@ -96,7 +96,7 @@ class BackendPlugin extends index_1.ApplicationManager {
|
|
|
96
96
|
*/
|
|
97
97
|
get(name) {
|
|
98
98
|
if (!this._application._plugins[name]) {
|
|
99
|
-
throw assertionError.get(
|
|
99
|
+
throw assertionError.get("plugin_not_found", name, (0, didYouMean_1.default)(name, this.list()));
|
|
100
100
|
}
|
|
101
101
|
return this._application._plugins[name].plugin;
|
|
102
102
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Client } from
|
|
2
|
-
import { ApplicationManager, Backend } from
|
|
1
|
+
import { Client } from "@elastic/elasticsearch";
|
|
2
|
+
import { ApplicationManager, Backend } from "./index";
|
|
3
3
|
export declare class BackendStorage extends ApplicationManager {
|
|
4
4
|
private _client;
|
|
5
5
|
private _Client;
|
|
@@ -56,8 +56,7 @@ class BackendStorage extends index_1.ApplicationManager {
|
|
|
56
56
|
*/
|
|
57
57
|
get storageClient() {
|
|
58
58
|
if (!this._client) {
|
|
59
|
-
this._client = elasticsearch_1.default
|
|
60
|
-
.buildClient(this._kuzzle.config.services.storageEngine.client);
|
|
59
|
+
this._client = elasticsearch_1.default.buildClient(this._kuzzle.config.services.storageEngine.client);
|
|
61
60
|
}
|
|
62
61
|
return this._client;
|
|
63
62
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JSONObject } from
|
|
2
|
-
import { ApplicationManager } from
|
|
1
|
+
import { JSONObject } from "../../../index";
|
|
2
|
+
import { ApplicationManager } from "./index";
|
|
3
3
|
export declare class BackendVault extends ApplicationManager {
|
|
4
4
|
private decrypted;
|
|
5
5
|
private _secrets;
|
|
@@ -50,7 +50,7 @@ exports.BackendVault = void 0;
|
|
|
50
50
|
const vault_1 = __importDefault(require("../../kuzzle/vault"));
|
|
51
51
|
const kerror = __importStar(require("../../kerror"));
|
|
52
52
|
const index_1 = require("./index");
|
|
53
|
-
const runtimeError = kerror.wrap(
|
|
53
|
+
const runtimeError = kerror.wrap("plugin", "runtime");
|
|
54
54
|
class BackendVault extends index_1.ApplicationManager {
|
|
55
55
|
constructor() {
|
|
56
56
|
super(...arguments);
|
|
@@ -61,7 +61,7 @@ class BackendVault extends index_1.ApplicationManager {
|
|
|
61
61
|
*/
|
|
62
62
|
set key(key) {
|
|
63
63
|
if (this._application.started) {
|
|
64
|
-
throw runtimeError.get(
|
|
64
|
+
throw runtimeError.get("already_started", "vault");
|
|
65
65
|
}
|
|
66
66
|
this._application._vaultKey = key;
|
|
67
67
|
}
|
|
@@ -70,7 +70,7 @@ class BackendVault extends index_1.ApplicationManager {
|
|
|
70
70
|
*/
|
|
71
71
|
set file(file) {
|
|
72
72
|
if (this._application.started) {
|
|
73
|
-
throw runtimeError.get(
|
|
73
|
+
throw runtimeError.get("already_started", "vault");
|
|
74
74
|
}
|
|
75
75
|
this._application._secretsFile = file;
|
|
76
76
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from
|
|
1
|
+
export * from "./applicationManager";
|
|
2
|
+
export * from "./backend";
|
|
3
|
+
export * from "./backendCluster";
|
|
4
|
+
export * from "./backendConfig";
|
|
5
|
+
export * from "./backendController";
|
|
6
|
+
export * from "./backendHook";
|
|
7
|
+
export * from "./backendImport";
|
|
8
|
+
export * from "./backendPipe";
|
|
9
|
+
export * from "./backendPlugin";
|
|
10
|
+
export * from "./backendStorage";
|
|
11
|
+
export * from "./backendVault";
|
|
12
|
+
export * from "./backendOpenApi";
|
|
13
|
+
export * from "./internalLogger";
|
|
14
|
+
export * from "./backendErrors";
|
|
@@ -31,31 +31,31 @@ class InternalLogger extends index_1.ApplicationManager {
|
|
|
31
31
|
* Logs an debug message
|
|
32
32
|
*/
|
|
33
33
|
debug(message) {
|
|
34
|
-
this._log(
|
|
34
|
+
this._log("debug", message);
|
|
35
35
|
}
|
|
36
36
|
/**
|
|
37
37
|
* Logs an info message
|
|
38
38
|
*/
|
|
39
39
|
info(message) {
|
|
40
|
-
this._log(
|
|
40
|
+
this._log("info", message);
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Logs a warn message
|
|
44
44
|
*/
|
|
45
45
|
warn(message) {
|
|
46
|
-
this._log(
|
|
46
|
+
this._log("warn", message);
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Logs an error message
|
|
50
50
|
*/
|
|
51
51
|
error(message) {
|
|
52
|
-
this._log(
|
|
52
|
+
this._log("error", message);
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Logs a verbose message
|
|
56
56
|
*/
|
|
57
57
|
verbose(message) {
|
|
58
|
-
this._log(
|
|
58
|
+
this._log("verbose", message);
|
|
59
59
|
}
|
|
60
60
|
_log(level, message) {
|
|
61
61
|
if (!this._application.started) {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* limitations under the License.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
"use strict";
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* @typedef {string} cacheDbEnum
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
* @enum {cacheDbEnum}
|
|
33
33
|
*/
|
|
34
34
|
const cacheDbEnum = Object.freeze({
|
|
35
|
-
INTERNAL:
|
|
36
|
-
NONE:
|
|
37
|
-
PUBLIC:
|
|
35
|
+
INTERNAL: "internal",
|
|
36
|
+
NONE: "none",
|
|
37
|
+
PUBLIC: "public",
|
|
38
38
|
});
|
|
39
39
|
|
|
40
40
|
module.exports = cacheDbEnum;
|