@privateaim/server-telemetry-kit 0.8.16 → 0.8.18
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/CHANGELOG.md +47 -0
- package/dist/components/event/handlers/create/types.d.ts +2 -3
- package/dist/components/event/handlers/create/types.d.ts.map +1 -1
- package/dist/core/event/index.d.ts +2 -0
- package/dist/core/event/index.d.ts.map +1 -0
- package/dist/core/event/index.js +24 -0
- package/dist/core/event/index.js.map +1 -0
- package/dist/core/event/subscriber.d.ts +5 -0
- package/dist/core/event/subscriber.d.ts.map +1 -0
- package/dist/core/event/subscriber.js +86 -0
- package/dist/core/event/subscriber.js.map +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/logger/transport.d.ts.map +1 -1
- package/dist/services/logger/transport.js +5 -1
- package/dist/services/logger/transport.js.map +1 -1
- package/package.json +8 -5
- package/src/components/event/handlers/create/types.ts +3 -4
- package/src/core/event/index.ts +8 -0
- package/src/core/event/subscriber.ts +108 -0
- package/src/core/index.ts +8 -0
- package/src/index.ts +1 -0
- package/src/services/logger/transport.ts +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.8.18](https://github.com/PrivateAIM/hub/compare/v0.8.17...v0.8.18) (2025-09-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* set expire date for analysis-node run events ([5f6d3b3](https://github.com/PrivateAIM/hub/commit/5f6d3b3ed06dfb23d66042b61696f6140978a22c))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* do not transmit nested event payload ([#1200](https://github.com/PrivateAIM/hub/issues/1200)) ([8180ddc](https://github.com/PrivateAIM/hub/commit/8180ddc6440963e32ce83769ed4c007d36b9533c))
|
|
14
|
+
* enum to string conversion ([95272f8](https://github.com/PrivateAIM/hub/commit/95272f8252f326f8112d7192975c143e68244826))
|
|
15
|
+
* setting top level log attributes ([f74439b](https://github.com/PrivateAIM/hub/commit/f74439ba31c6a30f3ed0e530671fea5d4321181c))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
|
|
20
|
+
* The following workspace dependencies were updated
|
|
21
|
+
* devDependencies
|
|
22
|
+
* @privateaim/kit bumped from ^0.8.17 to ^0.8.18
|
|
23
|
+
* @privateaim/server-kit bumped from ^0.8.17 to ^0.8.18
|
|
24
|
+
* @privateaim/telemetry-kit bumped from ^0.8.17 to ^0.8.18
|
|
25
|
+
* peerDependencies
|
|
26
|
+
* @privateaim/kit bumped from ^0.8.17 to ^0.8.18
|
|
27
|
+
* @privateaim/server-kit bumped from ^0.8.17 to ^0.8.18
|
|
28
|
+
* @privateaim/telemetry-kit bumped from ^0.8.17 to ^0.8.18
|
|
29
|
+
|
|
30
|
+
## [0.8.17](https://github.com/PrivateAIM/hub/compare/v0.8.16...v0.8.17) (2025-09-01)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* refactor domain event publisher & register amqp ([0f98ecf](https://github.com/PrivateAIM/hub/commit/0f98ecf3c24239d9050fd4a7c2e0bd6843cb3dc8))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Dependencies
|
|
39
|
+
|
|
40
|
+
* The following workspace dependencies were updated
|
|
41
|
+
* devDependencies
|
|
42
|
+
* @privateaim/kit bumped from ^0.8.16 to ^0.8.17
|
|
43
|
+
* @privateaim/server-kit bumped from ^0.8.16 to ^0.8.17
|
|
44
|
+
* @privateaim/telemetry-kit bumped from ^0.8.16 to ^0.8.17
|
|
45
|
+
* peerDependencies
|
|
46
|
+
* @privateaim/kit bumped from ^0.8.16 to ^0.8.17
|
|
47
|
+
* @privateaim/server-kit bumped from ^0.8.16 to ^0.8.17
|
|
48
|
+
* @privateaim/telemetry-kit bumped from ^0.8.16 to ^0.8.17
|
|
49
|
+
|
|
3
50
|
## [0.8.16](https://github.com/PrivateAIM/hub/compare/v0.8.15...v0.8.16) (2025-08-26)
|
|
4
51
|
|
|
5
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/event/handlers/create/types.ts"],"names":[],"mappings":"AAOA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/event/handlers/create/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvD,MAAM,MAAM,6BAA6B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/event/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./subscriber"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/event/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../src/core/event/subscriber.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAQ5F,qBAAa,kBAAmB,YAAW,mBAAmB;IACpD,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CA0F7D"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.EntityEventHandler = void 0;
|
|
10
|
+
const smob_1 = require("smob");
|
|
11
|
+
const server_kit_1 = require("@privateaim/server-kit");
|
|
12
|
+
const telemetry_kit_1 = require("@privateaim/telemetry-kit");
|
|
13
|
+
const kit_1 = require("@privateaim/kit");
|
|
14
|
+
const services_1 = require("../../services");
|
|
15
|
+
class EntityEventHandler {
|
|
16
|
+
async handle(ctx) {
|
|
17
|
+
if (ctx.metadata.ref_type === telemetry_kit_1.DomainType.EVENT) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const entity = {
|
|
21
|
+
ref_type: ctx.metadata.ref_type,
|
|
22
|
+
name: ctx.metadata.event,
|
|
23
|
+
scope: 'entity',
|
|
24
|
+
expiring: true,
|
|
25
|
+
expires_at: new Date(Date.now() + kit_1.WEEK_IN_MS).toISOString(),
|
|
26
|
+
};
|
|
27
|
+
if (ctx.metadata.ref_id) {
|
|
28
|
+
entity.ref_id = ctx.metadata.ref_id;
|
|
29
|
+
}
|
|
30
|
+
const keys = [
|
|
31
|
+
'actor_id',
|
|
32
|
+
'actor_type',
|
|
33
|
+
'actor_name',
|
|
34
|
+
'request_path',
|
|
35
|
+
'request_method',
|
|
36
|
+
'request_ip_address',
|
|
37
|
+
'request_user_agent',
|
|
38
|
+
];
|
|
39
|
+
for (let i = 0; i < keys.length; i++) {
|
|
40
|
+
if (ctx.metadata[keys[i]]) {
|
|
41
|
+
entity[keys[i]] = ctx.metadata[keys[i]];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (entity.request_ip_address &&
|
|
45
|
+
entity.request_ip_address === '::1') {
|
|
46
|
+
entity.request_ip_address = '127.0.0.1';
|
|
47
|
+
}
|
|
48
|
+
const data = {};
|
|
49
|
+
if (
|
|
50
|
+
// todo: use enum
|
|
51
|
+
ctx.metadata.event === 'updated' &&
|
|
52
|
+
ctx.dataPrevious) {
|
|
53
|
+
const diff = {};
|
|
54
|
+
const keys = Object.keys(ctx.data);
|
|
55
|
+
for (let i = 0; i < keys.length; i++) {
|
|
56
|
+
const key = keys[i];
|
|
57
|
+
// skip date changes
|
|
58
|
+
if (key.endsWith('_at')) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if ((0, kit_1.isObject)(ctx.data[key]) || Array.isArray(ctx.data[key])) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (!(0, smob_1.isEqual)(ctx.data[key], ctx.dataPrevious[key])) {
|
|
65
|
+
diff[key] = {
|
|
66
|
+
next: ctx.data[key],
|
|
67
|
+
previous: ctx.dataPrevious[key],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
data.diff = diff;
|
|
72
|
+
}
|
|
73
|
+
entity.data = data;
|
|
74
|
+
if ((0, services_1.isEventComponentServiceUsable)()) {
|
|
75
|
+
const eventService = (0, services_1.useEventComponentService)();
|
|
76
|
+
await eventService.command({
|
|
77
|
+
command: 'create',
|
|
78
|
+
data: entity,
|
|
79
|
+
});
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
(0, server_kit_1.useLogger)().debug('Event service is not available to publish events.');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.EntityEventHandler = EntityEventHandler;
|
|
86
|
+
//# sourceMappingURL=subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/core/event/subscriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./event"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,0CAAwB"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,5 +21,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
23
|
__exportStar(require("./components"), exports);
|
|
24
|
+
__exportStar(require("./core"), exports);
|
|
24
25
|
__exportStar(require("./services"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/services/logger/transport.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE5E,qBAAa,eAAgB,SAAQ,gBAAgB;IACjD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,SAAS,CAAC,IAAI,EAAG,qBAAqB,CAAC;gBAE3B,OAAO,EAAE,sBAAsB;IAO3C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,GAAG;IAQ1D,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAI,QAAQ;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/services/logger/transport.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE5E,qBAAa,eAAgB,SAAQ,gBAAgB;IACjD,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,SAAS,CAAC,IAAI,EAAG,qBAAqB,CAAC;gBAE3B,OAAO,EAAE,sBAAsB;IAO3C,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,GAAG;IAQ1D,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAI,QAAQ;CA8DtE"}
|
|
@@ -37,7 +37,11 @@ class LoggerTransport extends winston_transport_1.default {
|
|
|
37
37
|
service: 'unknown',
|
|
38
38
|
channel: telemetry_kit_1.LogChannel.SYSTEM,
|
|
39
39
|
};
|
|
40
|
-
const flags = Object.values(
|
|
40
|
+
const flags = Object.values([
|
|
41
|
+
telemetry_kit_1.LogFlag.LEVEL,
|
|
42
|
+
telemetry_kit_1.LogFlag.CHANNEL,
|
|
43
|
+
telemetry_kit_1.LogFlag.SERVICE,
|
|
44
|
+
]);
|
|
41
45
|
let keys = Object.keys(output.labels);
|
|
42
46
|
for (let i = 0; i < keys.length; i++) {
|
|
43
47
|
const index = flags.indexOf(keys[i]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/services/logger/transport.ts"],"names":[],"mappings":";;;;;;AAOA,6DAA0E;AAC1E,0EAAiD;AAGjD,MAAa,eAAgB,SAAQ,2BAAgB;IACvC,MAAM,CAAyB;IAE/B,IAAI,CAAyB;IAEvC,YAAY,OAA+B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,IAA8B,EAAE,IAAgB;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1C,OAAO,CAAC,OAAO,EAAE;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,CAAC;IAES,cAAc,CAAC,IAA8B;QACnD,MAAM,EACF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EACrC,GAAG,IAAI,CAAC;QAET,IAAI,IAAW,CAAC;QAChB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,MAAM,GAAc;YACtB,OAAO,EAAE,KAAK,IAAI,OAAO;YACzB,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,QAAU,CAAC,CAAC,QAAQ,EAAE;YACtD,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;YAC1B,KAAK,EAAE,wBAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,0BAAU,CAAC,MAAM;SAC7B,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAO,CAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/services/logger/transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@privateaim/server-telemetry-kit",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.18",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"author": {
|
|
@@ -11,16 +11,19 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"description": "This package contains server side db helpers & utilities.",
|
|
13
13
|
"dependencies": {
|
|
14
|
+
"smob": "^1.5.0",
|
|
14
15
|
"winston-transport": "^4.9.0"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@privateaim/
|
|
18
|
-
"@privateaim/
|
|
18
|
+
"@privateaim/kit": "^0.8.18",
|
|
19
|
+
"@privateaim/server-kit": "^0.8.18",
|
|
20
|
+
"@privateaim/telemetry-kit": "^0.8.18",
|
|
19
21
|
"singa": "^1.1.0"
|
|
20
22
|
},
|
|
21
23
|
"peerDependencies": {
|
|
22
|
-
"@privateaim/
|
|
23
|
-
"@privateaim/
|
|
24
|
+
"@privateaim/kit": "^0.8.18",
|
|
25
|
+
"@privateaim/server-kit": "^0.8.18",
|
|
26
|
+
"@privateaim/telemetry-kit": "^0.8.18",
|
|
24
27
|
"singa": "^1.1.0"
|
|
25
28
|
},
|
|
26
29
|
"scripts": {
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
* view the LICENSE file that was distributed with this source code.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
8
|
+
import type { Event } from '@privateaim/telemetry-kit';
|
|
9
|
+
|
|
10
|
+
export type EventCreateCommandPayload = Partial<Event>;
|
|
12
11
|
|
|
13
12
|
export type EventCreateFailedEventPayload = {
|
|
14
13
|
id: string,
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025.
|
|
3
|
+
* Author Peter Placzek (tada5hi)
|
|
4
|
+
* For the full copyright and license information,
|
|
5
|
+
* view the LICENSE file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { isEqual } from 'smob';
|
|
9
|
+
import type { EntityEventHandleOptions, IEntityEventHandler } from '@privateaim/server-kit';
|
|
10
|
+
import { useLogger } from '@privateaim/server-kit';
|
|
11
|
+
import type { Event, EventData } from '@privateaim/telemetry-kit';
|
|
12
|
+
import { DomainType } from '@privateaim/telemetry-kit';
|
|
13
|
+
import type { ObjectDiff, ObjectLiteral } from '@privateaim/kit';
|
|
14
|
+
import { WEEK_IN_MS, isObject } from '@privateaim/kit';
|
|
15
|
+
import { isEventComponentServiceUsable, useEventComponentService } from '../../services';
|
|
16
|
+
|
|
17
|
+
export class EntityEventHandler implements IEntityEventHandler {
|
|
18
|
+
async handle(ctx: EntityEventHandleOptions): Promise<void> {
|
|
19
|
+
if (ctx.metadata.ref_type === DomainType.EVENT) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const entity : Partial<Event> = {
|
|
24
|
+
ref_type: ctx.metadata.ref_type,
|
|
25
|
+
|
|
26
|
+
name: ctx.metadata.event,
|
|
27
|
+
scope: 'entity',
|
|
28
|
+
|
|
29
|
+
expiring: true,
|
|
30
|
+
expires_at: new Date(
|
|
31
|
+
Date.now() + WEEK_IN_MS,
|
|
32
|
+
).toISOString(),
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
if (ctx.metadata.ref_id) {
|
|
36
|
+
entity.ref_id = ctx.metadata.ref_id;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const keys : (keyof Event)[] = [
|
|
40
|
+
'actor_id',
|
|
41
|
+
'actor_type',
|
|
42
|
+
'actor_name',
|
|
43
|
+
'request_path',
|
|
44
|
+
'request_method',
|
|
45
|
+
'request_ip_address',
|
|
46
|
+
'request_user_agent',
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
for (let i = 0; i < keys.length; i++) {
|
|
50
|
+
if (ctx.metadata[keys[i]]) {
|
|
51
|
+
(entity as ObjectLiteral)[keys[i]] = ctx.metadata[keys[i]];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (
|
|
56
|
+
entity.request_ip_address &&
|
|
57
|
+
entity.request_ip_address === '::1'
|
|
58
|
+
) {
|
|
59
|
+
entity.request_ip_address = '127.0.0.1';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const data : EventData = {};
|
|
63
|
+
|
|
64
|
+
if (
|
|
65
|
+
// todo: use enum
|
|
66
|
+
ctx.metadata.event === 'updated' &&
|
|
67
|
+
ctx.dataPrevious
|
|
68
|
+
) {
|
|
69
|
+
const diff : ObjectDiff = {};
|
|
70
|
+
const keys = Object.keys(ctx.data);
|
|
71
|
+
for (let i = 0; i < keys.length; i++) {
|
|
72
|
+
const key = keys[i];
|
|
73
|
+
|
|
74
|
+
// skip date changes
|
|
75
|
+
if (key.endsWith('_at')) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (isObject(ctx.data[key]) || Array.isArray(ctx.data[key])) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!isEqual(ctx.data[key], ctx.dataPrevious[key])) {
|
|
84
|
+
diff[key] = {
|
|
85
|
+
next: ctx.data[key],
|
|
86
|
+
previous: ctx.dataPrevious[key],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
data.diff = diff;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
entity.data = data;
|
|
95
|
+
|
|
96
|
+
if (isEventComponentServiceUsable()) {
|
|
97
|
+
const eventService = useEventComponentService();
|
|
98
|
+
await eventService.command({
|
|
99
|
+
command: 'create',
|
|
100
|
+
data: entity,
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
useLogger().debug('Event service is not available to publish events.');
|
|
107
|
+
}
|
|
108
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -50,7 +50,11 @@ export class LoggerTransport extends WinstonTransport {
|
|
|
50
50
|
channel: LogChannel.SYSTEM,
|
|
51
51
|
};
|
|
52
52
|
|
|
53
|
-
const flags = Object.values(
|
|
53
|
+
const flags = Object.values([
|
|
54
|
+
LogFlag.LEVEL,
|
|
55
|
+
LogFlag.CHANNEL,
|
|
56
|
+
LogFlag.SERVICE,
|
|
57
|
+
]) as string[];
|
|
54
58
|
|
|
55
59
|
let keys = Object.keys(output.labels);
|
|
56
60
|
for (let i = 0; i < keys.length; i++) {
|