@webda/core 3.11.1 → 3.12.0
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/core.d.ts +1 -1
- package/lib/core.js +2 -2
- package/lib/core.js.map +1 -1
- package/lib/index.d.ts +0 -3
- package/lib/index.js +14 -17
- package/lib/index.js.map +1 -1
- package/lib/models/coremodel.d.ts +120 -6
- package/lib/models/coremodel.js +92 -13
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +12 -8
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +13 -0
- package/lib/models/user.js +20 -0
- package/lib/models/user.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +20 -0
- package/lib/queues/pubsubservice.js +27 -0
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +0 -12
- package/lib/queues/queueservice.js +4 -26
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/configuration.d.ts +3 -2
- package/lib/services/configuration.js +4 -2
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +49 -1
- package/lib/services/cryptoservice.js +123 -4
- package/lib/services/cryptoservice.js.map +1 -1
- package/lib/services/cryptoservice.spec.js +40 -0
- package/lib/services/cryptoservice.spec.js.map +1 -1
- package/lib/services/domainservice.js +1 -1
- package/lib/services/domainservice.js.map +1 -1
- package/lib/services/prometheus.spec.js +1 -1
- package/lib/services/prometheus.spec.js.map +1 -1
- package/lib/services/service.d.ts +18 -1
- package/lib/services/service.js +24 -0
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +8 -0
- package/lib/services/service.spec.js.map +1 -1
- package/lib/stores/file.js +0 -9
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +9 -0
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/memory.js +2 -0
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/store.d.ts +41 -3
- package/lib/stores/store.js +117 -51
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.js +2 -2
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +82 -13
- package/lib/stores/webdaql/query.js +131 -3
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +27 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.js +2 -1
- package/lib/test.js.map +1 -1
- package/lib/utils/context.d.ts +5 -1
- package/lib/utils/context.js +14 -8
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +15 -0
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +1 -1
- package/lib/utils/logger.js +3 -0
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/serializers.d.ts +5 -0
- package/lib/utils/serializers.js +22 -0
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +57 -1
- package/lib/utils/serializers.spec.js.map +1 -1
- package/package.json +6 -5
- package/webda.module.json +14 -113
- package/lib/services/echo.d.ts +0 -45
- package/lib/services/echo.js +0 -49
- package/lib/services/echo.js.map +0 -1
- package/lib/services/echo.spec.d.ts +0 -1
- package/lib/services/echo.spec.js +0 -47
- package/lib/services/echo.spec.js.map +0 -1
- package/lib/services/proxy.d.ts +0 -197
- package/lib/services/proxy.js +0 -336
- package/lib/services/proxy.js.map +0 -1
- package/lib/services/proxy.spec.d.ts +0 -1
- package/lib/services/proxy.spec.js +0 -188
- package/lib/services/proxy.spec.js.map +0 -1
- package/lib/services/version.d.ts +0 -34
- package/lib/services/version.js +0 -53
- package/lib/services/version.js.map +0 -1
- package/lib/services/version.spec.d.ts +0 -1
- package/lib/services/version.spec.js +0 -24
- package/lib/services/version.spec.js.map +0 -1
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import * as util from "util";
|
|
2
4
|
import { OperationContext, RegistryEntry, Store } from "../index.js";
|
|
3
5
|
import { DeepPartial, Service, ServiceParameters } from "./service.js";
|
|
6
|
+
export declare class SecretString {
|
|
7
|
+
protected str: string;
|
|
8
|
+
protected encrypter: string;
|
|
9
|
+
constructor(str: string, encrypter: string);
|
|
10
|
+
static from(value: string | SecretString, path?: string): string;
|
|
11
|
+
getValue(): string;
|
|
12
|
+
toString(): string;
|
|
13
|
+
[util.inspect.custom](depth: any, options: any, inspect: any): string;
|
|
14
|
+
}
|
|
4
15
|
export interface KeysRegistry {
|
|
5
16
|
/**
|
|
6
17
|
* Contains the instanceId of the last
|
|
@@ -20,6 +31,23 @@ export interface KeysRegistry {
|
|
|
20
31
|
*/
|
|
21
32
|
current: string;
|
|
22
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Encrypt/Decrypt string
|
|
36
|
+
*/
|
|
37
|
+
export interface StringEncrypter {
|
|
38
|
+
/**
|
|
39
|
+
* Encrypt a string
|
|
40
|
+
* @param data
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
encrypt(data: string, options?: any): Promise<string>;
|
|
44
|
+
/**
|
|
45
|
+
* Decrypt a string
|
|
46
|
+
* @param data
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
decrypt(data: string, options?: any): Promise<string>;
|
|
50
|
+
}
|
|
23
51
|
/**
|
|
24
52
|
* JWT Options
|
|
25
53
|
*/
|
|
@@ -142,7 +170,17 @@ interface KeysDefinition {
|
|
|
142
170
|
/**
|
|
143
171
|
* @WebdaModda
|
|
144
172
|
*/
|
|
145
|
-
export default class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> {
|
|
173
|
+
export default class CryptoService<T extends CryptoServiceParameters = CryptoServiceParameters> extends Service<T> implements StringEncrypter {
|
|
174
|
+
private static encrypters;
|
|
175
|
+
/**
|
|
176
|
+
* Register an encrypter for configuration
|
|
177
|
+
* @param name
|
|
178
|
+
* @param encrypter
|
|
179
|
+
*/
|
|
180
|
+
static registerEncrypter(name: string, encrypter: {
|
|
181
|
+
encrypt: (data: string) => Promise<string>;
|
|
182
|
+
decrypt: (data: string) => Promise<string>;
|
|
183
|
+
}): void;
|
|
146
184
|
currentSymetricKey: string;
|
|
147
185
|
currentAsymetricKey: {
|
|
148
186
|
publicKey: string;
|
|
@@ -238,6 +276,16 @@ export default class CryptoService<T extends CryptoServiceParameters = CryptoSer
|
|
|
238
276
|
* Parse the JWT header section
|
|
239
277
|
*/
|
|
240
278
|
getJWTHeader(token: string): any;
|
|
279
|
+
/**
|
|
280
|
+
* Encrypt configuration
|
|
281
|
+
* @param data
|
|
282
|
+
*/
|
|
283
|
+
static encryptConfiguration(data: any): Promise<any>;
|
|
284
|
+
/**
|
|
285
|
+
*
|
|
286
|
+
* @param data
|
|
287
|
+
*/
|
|
288
|
+
static decryptConfiguration(data: any): Promise<any>;
|
|
241
289
|
/**
|
|
242
290
|
* Decrypt data
|
|
243
291
|
*/
|
|
@@ -4,11 +4,40 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { createCipheriv, createDecipheriv, createHmac, generateKeyPairSync, randomBytes } from "crypto";
|
|
7
|
+
import { createCipheriv, createDecipheriv, createHash, createHmac, generateKeyPairSync, randomBytes } from "crypto";
|
|
8
8
|
import jwt from "jsonwebtoken";
|
|
9
9
|
import { pem2jwk } from "pem-jwk";
|
|
10
|
+
import * as util from "util";
|
|
11
|
+
import { Core } from "../index.js";
|
|
10
12
|
import { JSONUtils } from "../utils/serializers.js";
|
|
11
13
|
import { Inject, Route, Service, ServiceParameters } from "./service.js";
|
|
14
|
+
export class SecretString {
|
|
15
|
+
constructor(str, encrypter) {
|
|
16
|
+
this.str = str;
|
|
17
|
+
this.encrypter = encrypter;
|
|
18
|
+
}
|
|
19
|
+
static from(value, path) {
|
|
20
|
+
if (value instanceof SecretString) {
|
|
21
|
+
return value.getValue();
|
|
22
|
+
}
|
|
23
|
+
if (Core.get()) {
|
|
24
|
+
Core.get()?.log("WARN", "A secret string is not encrypted", value);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
console.error("WARN", "A secret string is not encrypted");
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
getValue() {
|
|
32
|
+
return this.str;
|
|
33
|
+
}
|
|
34
|
+
toString() {
|
|
35
|
+
return "********";
|
|
36
|
+
}
|
|
37
|
+
[util.inspect.custom](depth, options, inspect) {
|
|
38
|
+
return "********";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
12
41
|
export class CryptoServiceParameters extends ServiceParameters {
|
|
13
42
|
constructor(params) {
|
|
14
43
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -31,7 +60,7 @@ export class CryptoServiceParameters extends ServiceParameters {
|
|
|
31
60
|
/**
|
|
32
61
|
* @WebdaModda
|
|
33
62
|
*/
|
|
34
|
-
|
|
63
|
+
class CryptoService extends Service {
|
|
35
64
|
constructor() {
|
|
36
65
|
super(...arguments);
|
|
37
66
|
/**
|
|
@@ -39,6 +68,17 @@ export default class CryptoService extends Service {
|
|
|
39
68
|
*/
|
|
40
69
|
this.jwks = {};
|
|
41
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Register an encrypter for configuration
|
|
73
|
+
* @param name
|
|
74
|
+
* @param encrypter
|
|
75
|
+
*/
|
|
76
|
+
static registerEncrypter(name, encrypter) {
|
|
77
|
+
if (CryptoService.encrypters[name]) {
|
|
78
|
+
console.error("Encrypter", name, "already registered");
|
|
79
|
+
}
|
|
80
|
+
CryptoService.encrypters[name] = encrypter;
|
|
81
|
+
}
|
|
42
82
|
/**
|
|
43
83
|
* @override
|
|
44
84
|
*/
|
|
@@ -50,6 +90,7 @@ export default class CryptoService extends Service {
|
|
|
50
90
|
*/
|
|
51
91
|
async init() {
|
|
52
92
|
await super.init();
|
|
93
|
+
CryptoService.encrypters["self"] = this;
|
|
53
94
|
// Load keys
|
|
54
95
|
if (!(await this.load()) && this.parameters.autoCreate) {
|
|
55
96
|
await this.rotate();
|
|
@@ -253,15 +294,72 @@ export default class CryptoService extends Service {
|
|
|
253
294
|
getJWTHeader(token) {
|
|
254
295
|
return JSON.parse(Buffer.from(token.split(".")[0], "base64").toString());
|
|
255
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Encrypt configuration
|
|
299
|
+
* @param data
|
|
300
|
+
*/
|
|
301
|
+
static async encryptConfiguration(data) {
|
|
302
|
+
if (data instanceof Object) {
|
|
303
|
+
for (let i in data) {
|
|
304
|
+
data[i] = await CryptoService.encryptConfiguration(data[i]);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else if (typeof data === "string") {
|
|
308
|
+
if (data.startsWith("encrypt:") || data.startsWith("sencrypt:")) {
|
|
309
|
+
let str = data.substring(data.indexOf(":") + 1);
|
|
310
|
+
let type = str.substring(0, str.indexOf(":"));
|
|
311
|
+
str = str.substring(str.indexOf(":") + 1);
|
|
312
|
+
if (!CryptoService.encrypters[type]) {
|
|
313
|
+
throw new Error("Unknown encrypter " + type);
|
|
314
|
+
}
|
|
315
|
+
if (data.startsWith("s")) {
|
|
316
|
+
data = `scrypt:${type}:` + (await CryptoService.encrypters[type].encrypt(str));
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
data = `crypt:${type}:` + (await CryptoService.encrypters[type].encrypt(str));
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return data;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
*
|
|
327
|
+
* @param data
|
|
328
|
+
*/
|
|
329
|
+
static async decryptConfiguration(data) {
|
|
330
|
+
if (data instanceof Object) {
|
|
331
|
+
for (let i in data) {
|
|
332
|
+
data[i] = await CryptoService.decryptConfiguration(data[i]);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else if (typeof data === "string") {
|
|
336
|
+
if (data.startsWith("crypt:") || data.startsWith("scrypt:")) {
|
|
337
|
+
let str = data.substring(data.indexOf(":") + 1);
|
|
338
|
+
let type = str.substring(0, str.indexOf(":"));
|
|
339
|
+
str = str.substring(str.indexOf(":") + 1);
|
|
340
|
+
if (!CryptoService.encrypters[type]) {
|
|
341
|
+
throw new Error("Unknown encrypter " + type);
|
|
342
|
+
}
|
|
343
|
+
// We keep the ability to map to a simple string for incompatible module
|
|
344
|
+
if (data.startsWith("scrypt:")) {
|
|
345
|
+
return await CryptoService.encrypters[type].decrypt(str);
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
return new SecretString(await CryptoService.encrypters[type].decrypt(str), type);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return data;
|
|
353
|
+
}
|
|
256
354
|
/**
|
|
257
355
|
* Decrypt data
|
|
258
356
|
*/
|
|
259
357
|
async decrypt(token) {
|
|
260
358
|
let input = Buffer.from(await this.jwtVerify(token), "base64");
|
|
261
359
|
let header = this.getJWTHeader(token);
|
|
262
|
-
let iv = input.
|
|
360
|
+
let iv = input.subarray(0, 16);
|
|
263
361
|
let decipher = createDecipheriv(this.parameters.symetricCipher, Buffer.from(this.keys[header.kid.substring(1)].symetric, "base64"), iv);
|
|
264
|
-
return JSON.parse(decipher.update(input.
|
|
362
|
+
return JSON.parse(decipher.update(input.subarray(16)).toString() + decipher.final().toString());
|
|
265
363
|
}
|
|
266
364
|
/**
|
|
267
365
|
* Get next id
|
|
@@ -300,6 +398,8 @@ export default class CryptoService extends Service {
|
|
|
300
398
|
}
|
|
301
399
|
}
|
|
302
400
|
}
|
|
401
|
+
CryptoService.encrypters = {};
|
|
402
|
+
export default CryptoService;
|
|
303
403
|
__decorate([
|
|
304
404
|
Inject("Registry")
|
|
305
405
|
], CryptoService.prototype, "registry", void 0);
|
|
@@ -311,5 +411,24 @@ __decorate([
|
|
|
311
411
|
}
|
|
312
412
|
})
|
|
313
413
|
], CryptoService.prototype, "serveJWKS", null);
|
|
414
|
+
/**
|
|
415
|
+
* Encrypt data with local machine id
|
|
416
|
+
*/
|
|
417
|
+
CryptoService.registerEncrypter("local", {
|
|
418
|
+
encrypt: async (data) => {
|
|
419
|
+
// Initialization Vector
|
|
420
|
+
let iv = randomBytes(16);
|
|
421
|
+
const key = createHash("sha256").update(Core.getMachineId()).digest();
|
|
422
|
+
let cipher = createCipheriv("aes-256-ctr", key, iv);
|
|
423
|
+
return Buffer.concat([iv, cipher.update(Buffer.from(data)), cipher.final()]).toString("base64");
|
|
424
|
+
},
|
|
425
|
+
decrypt: async (data) => {
|
|
426
|
+
let input = Buffer.from(data, "base64");
|
|
427
|
+
let iv = input.subarray(0, 16);
|
|
428
|
+
const key = createHash("sha256").update(Core.getMachineId()).digest();
|
|
429
|
+
let decipher = createDecipheriv("aes-256-ctr", key, iv);
|
|
430
|
+
return decipher.update(input.subarray(16)).toString() + decipher.final().toString();
|
|
431
|
+
}
|
|
432
|
+
});
|
|
314
433
|
export { CryptoService };
|
|
315
434
|
//# sourceMappingURL=cryptoservice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoservice.js","sourceRoot":"","sources":["../../src/services/cryptoservice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cryptoservice.js","sourceRoot":"","sources":["../../src/services/cryptoservice.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import jwt from "jsonwebtoken";
|
|
|
10
10
|
import * as sinon from "sinon";
|
|
11
11
|
import { WebdaTest } from "../test.js";
|
|
12
12
|
import { JSONUtils } from "../utils/serializers.js";
|
|
13
|
+
import CryptoService, { SecretString } from "./cryptoservice.js";
|
|
13
14
|
/**
|
|
14
15
|
*
|
|
15
16
|
*/
|
|
@@ -134,4 +135,43 @@ __decorate([
|
|
|
134
135
|
CryptoServiceTest = __decorate([
|
|
135
136
|
suite
|
|
136
137
|
], CryptoServiceTest);
|
|
138
|
+
let CryptoConfigurationTest = class CryptoConfigurationTest {
|
|
139
|
+
async nominal() {
|
|
140
|
+
CryptoService.registerEncrypter("test", {
|
|
141
|
+
encrypt: async (data) => {
|
|
142
|
+
return data;
|
|
143
|
+
},
|
|
144
|
+
decrypt: async (data) => {
|
|
145
|
+
return data;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
let data = {
|
|
149
|
+
key: {
|
|
150
|
+
secret: "encrypt:local:plop",
|
|
151
|
+
port: 21
|
|
152
|
+
},
|
|
153
|
+
anotherSecret: "encrypt:local:plop2",
|
|
154
|
+
notEncrypted: "plop",
|
|
155
|
+
alreadyEncrypted: "crypt:test:plop3"
|
|
156
|
+
};
|
|
157
|
+
await CryptoService.encryptConfiguration(data);
|
|
158
|
+
assert.ok(data.key.secret.startsWith("crypt:local:"));
|
|
159
|
+
assert.ok(!data.key.secret.includes("plop"));
|
|
160
|
+
assert.ok(data.anotherSecret.startsWith("crypt:local:"));
|
|
161
|
+
assert.ok(!data.anotherSecret.includes("plop"));
|
|
162
|
+
assert.strictEqual(data.alreadyEncrypted, "crypt:test:plop3");
|
|
163
|
+
let decrypted = await CryptoService.decryptConfiguration(JSONUtils.duplicate(data));
|
|
164
|
+
assert.strictEqual(decrypted.anotherSecret.getValue(), "plop2");
|
|
165
|
+
assert.strictEqual(decrypted.anotherSecret.toString(), "********");
|
|
166
|
+
assert.strictEqual(SecretString.from(decrypted.alreadyEncrypted), "plop3");
|
|
167
|
+
assert.strictEqual(SecretString.from(decrypted.key.secret), "plop");
|
|
168
|
+
assert.strictEqual(`Test: ${decrypted.alreadyEncrypted}`, "Test: ********");
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
__decorate([
|
|
172
|
+
test
|
|
173
|
+
], CryptoConfigurationTest.prototype, "nominal", null);
|
|
174
|
+
CryptoConfigurationTest = __decorate([
|
|
175
|
+
suite
|
|
176
|
+
], CryptoConfigurationTest);
|
|
137
177
|
//# sourceMappingURL=cryptoservice.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoservice.spec.js","sourceRoot":"","sources":["../../src/services/cryptoservice.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cryptoservice.spec.js","sourceRoot":"","sources":["../../src/services/cryptoservice.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -594,7 +594,7 @@ export class RESTDomainService extends DomainService {
|
|
|
594
594
|
}
|
|
595
595
|
else {
|
|
596
596
|
ctx.getParameters().uuid = model.completeUid(ctx.getParameters().uuid);
|
|
597
|
-
return model.store().httpAction(ctx);
|
|
597
|
+
return model.store().httpAction(ctx, action.method);
|
|
598
598
|
}
|
|
599
599
|
}, openapi);
|
|
600
600
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domainservice.js","sourceRoot":"","sources":["../../src/services/domainservice.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"domainservice.js","sourceRoot":"","sources":["../../src/services/domainservice.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ let PrometheusTest = class PrometheusTest extends WebdaTest {
|
|
|
22
22
|
await service.resolve().init();
|
|
23
23
|
// Should be listen on 9090 now
|
|
24
24
|
let res = await axios.get("http://localhost:9090/metrics");
|
|
25
|
-
assert.ok(res.data.includes("
|
|
25
|
+
assert.ok(res.data.includes("webda_filequeue_messages_pending"));
|
|
26
26
|
await assert.rejects(() => axios.get("http://localhost:9090/metrics2"), /Request failed with status code 404/);
|
|
27
27
|
}
|
|
28
28
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prometheus.spec.js","sourceRoot":"","sources":["../../src/services/prometheus.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,SAAS;IAE9B,AAAN,KAAK,CAAC,SAAS;QACb,IAAI,OAAO,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE;YAClD,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,KAAK;YACzB,qBAAqB,EAAE,KAAK;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/B,+BAA+B;YAC/B,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"prometheus.spec.js","sourceRoot":"","sources":["../../src/services/prometheus.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { WorkerLogLevel } from "@webda/workout";
|
|
3
3
|
import * as events from "events";
|
|
4
|
-
import { Constructor, Core, Counter, Gauge, Histogram, Logger, MetricConfiguration } from "../index.js";
|
|
4
|
+
import { Constructor, Core, Counter, Gauge, Histogram, Logger, MetricConfiguration, OperationContext } from "../index.js";
|
|
5
5
|
import { OpenAPIWebdaDefinition } from "../router.js";
|
|
6
6
|
import { HttpMethodType } from "../utils/httpcontext.js";
|
|
7
7
|
/**
|
|
@@ -206,6 +206,18 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
|
|
|
206
206
|
* @returns
|
|
207
207
|
*/
|
|
208
208
|
getMetric<T = Gauge | Counter | Histogram>(type: Constructor<T, [MetricConfiguration<T>]>, configuration: MetricConfiguration<T>): T;
|
|
209
|
+
/**
|
|
210
|
+
* Return the events that an external system can subscribe to
|
|
211
|
+
*
|
|
212
|
+
* @returns
|
|
213
|
+
*/
|
|
214
|
+
getClientEvents(): string[];
|
|
215
|
+
/**
|
|
216
|
+
* Authorize a public event subscription
|
|
217
|
+
* @param event
|
|
218
|
+
* @param context
|
|
219
|
+
*/
|
|
220
|
+
authorizeClientEvent(_event: string, _context: OperationContext): boolean;
|
|
209
221
|
/**
|
|
210
222
|
* Return the full path url based on parameters
|
|
211
223
|
*
|
|
@@ -249,6 +261,11 @@ declare abstract class Service<T extends ServiceParameters = ServiceParameters,
|
|
|
249
261
|
* @return {String} The export of the strip object ( removed all attribute with _ )
|
|
250
262
|
*/
|
|
251
263
|
toPublicJSON(object: unknown): string;
|
|
264
|
+
/**
|
|
265
|
+
* Prevent service to be serialized
|
|
266
|
+
* @returns
|
|
267
|
+
*/
|
|
268
|
+
toJSON(): string;
|
|
252
269
|
/**
|
|
253
270
|
* Will be called after all the Services are created
|
|
254
271
|
*
|
package/lib/services/service.js
CHANGED
|
@@ -295,8 +295,25 @@ class Service extends events.EventEmitter {
|
|
|
295
295
|
getMetric(type, configuration) {
|
|
296
296
|
configuration.labelNames ?? (configuration.labelNames = []);
|
|
297
297
|
configuration.labelNames = [...configuration.labelNames, "service"];
|
|
298
|
+
configuration.name = `${this.getName().toLowerCase()}_${configuration.name}`;
|
|
298
299
|
return this.getWebda().getMetric(type, configuration);
|
|
299
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Return the events that an external system can subscribe to
|
|
303
|
+
*
|
|
304
|
+
* @returns
|
|
305
|
+
*/
|
|
306
|
+
getClientEvents() {
|
|
307
|
+
return [];
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Authorize a public event subscription
|
|
311
|
+
* @param event
|
|
312
|
+
* @param context
|
|
313
|
+
*/
|
|
314
|
+
authorizeClientEvent(_event, _context) {
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
300
317
|
/**
|
|
301
318
|
* Return the full path url based on parameters
|
|
302
319
|
*
|
|
@@ -399,6 +416,13 @@ class Service extends events.EventEmitter {
|
|
|
399
416
|
toPublicJSON(object) {
|
|
400
417
|
return this._webda.toPublicJSON(object);
|
|
401
418
|
}
|
|
419
|
+
/**
|
|
420
|
+
* Prevent service to be serialized
|
|
421
|
+
* @returns
|
|
422
|
+
*/
|
|
423
|
+
toJSON() {
|
|
424
|
+
return this._name;
|
|
425
|
+
}
|
|
402
426
|
/**
|
|
403
427
|
* Will be called after all the Services are created
|
|
404
428
|
*
|