@flowcore/pathways 0.13.0 → 0.13.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/CHANGELOG.md +16 -2
- package/esm/pathways/builder.d.ts +20 -1
- package/esm/pathways/builder.d.ts.map +1 -1
- package/esm/pathways/builder.js +32 -19
- package/esm/pathways/constants.d.ts +9 -0
- package/esm/pathways/constants.d.ts.map +1 -0
- package/esm/pathways/constants.js +8 -0
- package/esm/pathways/index.d.ts +1 -0
- package/esm/pathways/index.d.ts.map +1 -1
- package/esm/pathways/index.js +1 -0
- package/package.json +1 -1
- package/script/pathways/builder.d.ts +20 -1
- package/script/pathways/builder.d.ts.map +1 -1
- package/script/pathways/builder.js +32 -19
- package/script/pathways/constants.d.ts +9 -0
- package/script/pathways/constants.d.ts.map +1 -0
- package/script/pathways/constants.js +11 -0
- package/script/pathways/index.d.ts +1 -0
- package/script/pathways/index.d.ts.map +1 -1
- package/script/pathways/index.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.13.
|
|
3
|
+
## [0.13.2](https://github.com/flowcore-io/flowcore-pathways/compare/v0.13.1...v0.13.2) (2025-05-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Performance Improvements
|
|
7
|
+
|
|
8
|
+
* ability to adjust the log level of internal logs ([eaeb9c5](https://github.com/flowcore-io/flowcore-pathways/commit/eaeb9c58a53be3effb6ba54621535a531b11e82e))
|
|
9
|
+
|
|
10
|
+
## [0.13.1](https://github.com/flowcore-io/flowcore-pathways/compare/v0.13.0...v0.13.1) (2025-04-22)
|
|
4
11
|
|
|
5
12
|
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **pathways:** :art: extract audit constants for better readability ([9a349b8](https://github.com/flowcore-io/flowcore-pathways/commit/9a349b865e8bc5627a50a4b132d368fcba4bf986))
|
|
16
|
+
|
|
17
|
+
## [0.13.0](https://github.com/flowcore-io/flowcore-pathways/compare/v0.12.0...v0.13.0) (2025-04-22)
|
|
18
|
+
|
|
6
19
|
### Features
|
|
7
20
|
|
|
8
|
-
|
|
21
|
+
- **session-pathways:** :sparkles: added support for api keys in session pathways
|
|
22
|
+
([0ada03e](https://github.com/flowcore-io/flowcore-pathways/commit/0ada03e10e0a8c837e23f0246ec2e1250ac56fd7))
|
|
9
23
|
|
|
10
24
|
## [0.12.0](https://github.com/flowcore-io/flowcore-pathways/compare/v0.11.0...v0.12.0) (2025-04-15)
|
|
11
25
|
|
|
@@ -38,6 +38,21 @@ export interface AuditWebhookSendOptions extends WebhookSendOptions {
|
|
|
38
38
|
*/
|
|
39
39
|
headers?: Record<string, string>;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Represents the set log level for different internal log messages
|
|
43
|
+
* @property debug Log level for debug messages
|
|
44
|
+
* @property info Log level for info messages
|
|
45
|
+
* @property warn Log level for warn messages
|
|
46
|
+
* @property error Log level for error messages
|
|
47
|
+
*/
|
|
48
|
+
export type LogLevel = keyof Pick<Logger, 'debug' | 'info' | 'warn' | 'error'>;
|
|
49
|
+
/**
|
|
50
|
+
* Configuration for log levels
|
|
51
|
+
* @property writeSuccess Log level used when a write operation is successful. Defaults to 'info'.
|
|
52
|
+
*/
|
|
53
|
+
export type LogLevelConfig = {
|
|
54
|
+
writeSuccess?: LogLevel;
|
|
55
|
+
};
|
|
41
56
|
/**
|
|
42
57
|
* SessionUserResolver is a key-value store for storing and retrieving UserIdResolver functions
|
|
43
58
|
* with a TTL (time to live).
|
|
@@ -129,6 +144,7 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
129
144
|
private readonly tenant;
|
|
130
145
|
private readonly dataCore;
|
|
131
146
|
private readonly apiKey;
|
|
147
|
+
private readonly logLevel;
|
|
132
148
|
/**
|
|
133
149
|
* Creates a new PathwaysBuilder instance
|
|
134
150
|
* @param options Configuration options for the PathwaysBuilder
|
|
@@ -140,8 +156,10 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
140
156
|
* @param options.logger Optional logger instance
|
|
141
157
|
* @param options.enableSessionUserResolvers Whether to enable session user resolvers
|
|
142
158
|
* @param options.overrideSessionUserResolvers Optional SessionUserResolver instance to override the default
|
|
159
|
+
* @param options.logLevel Optional configuration for log levels
|
|
160
|
+
* @param options.logLevel.writeSuccess Log level for write success messages ('info' or 'debug'). Defaults to 'info'.
|
|
143
161
|
*/
|
|
144
|
-
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, }: {
|
|
162
|
+
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, logLevel, }: {
|
|
145
163
|
baseUrl: string;
|
|
146
164
|
tenant: string;
|
|
147
165
|
dataCore: string;
|
|
@@ -150,6 +168,7 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
150
168
|
logger?: Logger;
|
|
151
169
|
enableSessionUserResolvers?: boolean;
|
|
152
170
|
overrideSessionUserResolvers?: SessionUserResolver;
|
|
171
|
+
logLevel?: LogLevelConfig;
|
|
153
172
|
});
|
|
154
173
|
/**
|
|
155
174
|
* Configures the PathwaysBuilder to use a custom pathway state implementation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAEnE,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAChB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"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"}
|
package/esm/pathways/builder.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Subject } from "rxjs";
|
|
|
4
4
|
import { WebhookBuilder } from "../compatibility/flowcore-transformer-core.sdk.js";
|
|
5
5
|
import { InternalPathwayState } from "./internal-pathway.state.js";
|
|
6
6
|
import { NoopLogger } from "./logger.js";
|
|
7
|
+
import { AUDIT_ENTITY_TYPE, AUDIT_MODE, AUDIT_ON_BEHALF_OF, AUDIT_SYSTEM_MODE, AUDIT_USER_ID, AUDIT_USER_MODE, } from "./constants.js";
|
|
7
8
|
/**
|
|
8
9
|
* Default timeout for pathway processing in milliseconds (10 seconds)
|
|
9
10
|
*/
|
|
@@ -100,8 +101,10 @@ export class PathwaysBuilder {
|
|
|
100
101
|
* @param options.logger Optional logger instance
|
|
101
102
|
* @param options.enableSessionUserResolvers Whether to enable session user resolvers
|
|
102
103
|
* @param options.overrideSessionUserResolvers Optional SessionUserResolver instance to override the default
|
|
104
|
+
* @param options.logLevel Optional configuration for log levels
|
|
105
|
+
* @param options.logLevel.writeSuccess Log level for write success messages ('info' or 'debug'). Defaults to 'info'.
|
|
103
106
|
*/
|
|
104
|
-
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, }) {
|
|
107
|
+
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, logLevel, }) {
|
|
105
108
|
Object.defineProperty(this, "pathways", {
|
|
106
109
|
enumerable: true,
|
|
107
110
|
configurable: true,
|
|
@@ -256,8 +259,18 @@ export class PathwaysBuilder {
|
|
|
256
259
|
writable: true,
|
|
257
260
|
value: void 0
|
|
258
261
|
});
|
|
262
|
+
Object.defineProperty(this, "logLevel", {
|
|
263
|
+
enumerable: true,
|
|
264
|
+
configurable: true,
|
|
265
|
+
writable: true,
|
|
266
|
+
value: void 0
|
|
267
|
+
});
|
|
259
268
|
// Initialize logger (use NoopLogger if none provided)
|
|
260
269
|
this.logger = logger ?? new NoopLogger();
|
|
270
|
+
// Initialize log levels with defaults
|
|
271
|
+
this.logLevel = {
|
|
272
|
+
writeSuccess: logLevel?.writeSuccess ?? 'info'
|
|
273
|
+
};
|
|
261
274
|
// Store configuration values for cloning
|
|
262
275
|
this.baseUrl = baseUrl;
|
|
263
276
|
this.tenant = tenant;
|
|
@@ -733,16 +746,16 @@ export class PathwaysBuilder {
|
|
|
733
746
|
});
|
|
734
747
|
if (userId) {
|
|
735
748
|
// Add appropriate audit metadata based on mode
|
|
736
|
-
if (auditMode ===
|
|
737
|
-
finalMetadata[
|
|
738
|
-
finalMetadata[
|
|
739
|
-
finalMetadata[
|
|
740
|
-
finalMetadata[
|
|
749
|
+
if (auditMode === AUDIT_SYSTEM_MODE) {
|
|
750
|
+
finalMetadata[AUDIT_USER_ID] = "system";
|
|
751
|
+
finalMetadata[AUDIT_ON_BEHALF_OF] = userId.entityId;
|
|
752
|
+
finalMetadata[AUDIT_MODE] = "system";
|
|
753
|
+
finalMetadata[AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
741
754
|
}
|
|
742
755
|
else {
|
|
743
|
-
finalMetadata[
|
|
744
|
-
finalMetadata[
|
|
745
|
-
finalMetadata[
|
|
756
|
+
finalMetadata[AUDIT_USER_ID] = userId.entityId;
|
|
757
|
+
finalMetadata[AUDIT_MODE] = AUDIT_USER_MODE; // Always set mode for user
|
|
758
|
+
finalMetadata[AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
746
759
|
}
|
|
747
760
|
}
|
|
748
761
|
let eventIds = [];
|
|
@@ -755,7 +768,7 @@ export class PathwaysBuilder {
|
|
|
755
768
|
this.logger.debug(`Writing webhook data to pathway`, { pathway: pathStr });
|
|
756
769
|
eventIds = await this.writers[path](data, finalMetadata, options);
|
|
757
770
|
}
|
|
758
|
-
this.logger.
|
|
771
|
+
this.logger[this.logLevel.writeSuccess](`Successfully wrote to pathway`, {
|
|
759
772
|
pathway: pathStr,
|
|
760
773
|
eventIds: Array.isArray(eventIds) ? eventIds : [eventIds],
|
|
761
774
|
fireAndForget: options?.fireAndForget,
|
|
@@ -840,22 +853,22 @@ export class PathwaysBuilder {
|
|
|
840
853
|
});
|
|
841
854
|
if (userId) {
|
|
842
855
|
// Add appropriate audit metadata based on mode
|
|
843
|
-
if (auditMode ===
|
|
844
|
-
finalMetadata[
|
|
845
|
-
finalMetadata[
|
|
846
|
-
finalMetadata[
|
|
847
|
-
finalMetadata[
|
|
856
|
+
if (auditMode === AUDIT_SYSTEM_MODE) {
|
|
857
|
+
finalMetadata[AUDIT_USER_ID] = "system";
|
|
858
|
+
finalMetadata[AUDIT_ON_BEHALF_OF] = userId.entityId;
|
|
859
|
+
finalMetadata[AUDIT_MODE] = "system";
|
|
860
|
+
finalMetadata[AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
848
861
|
}
|
|
849
862
|
else {
|
|
850
|
-
finalMetadata[
|
|
851
|
-
finalMetadata[
|
|
852
|
-
finalMetadata[
|
|
863
|
+
finalMetadata[AUDIT_USER_ID] = userId.entityId;
|
|
864
|
+
finalMetadata[AUDIT_MODE] = AUDIT_USER_MODE; // Always set mode for user
|
|
865
|
+
finalMetadata[AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
853
866
|
}
|
|
854
867
|
}
|
|
855
868
|
let eventIds = [];
|
|
856
869
|
this.logger.debug(`Writing batch webhook data to pathway`, { pathway: pathStr });
|
|
857
870
|
eventIds = await this.batchWriters[path](data, finalMetadata, options);
|
|
858
|
-
this.logger.
|
|
871
|
+
this.logger[this.logLevel.writeSuccess](`Successfully wrote to pathway`, {
|
|
859
872
|
pathway: pathStr,
|
|
860
873
|
eventIds: Array.isArray(eventIds) ? eventIds : [eventIds],
|
|
861
874
|
fireAndForget: options?.fireAndForget,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const AUDIT_USER_ID = "audit/user-id";
|
|
2
|
+
export declare const AUDIT_ON_BEHALF_OF = "audit/on-behalf-of";
|
|
3
|
+
export declare const AUDIT_MODE = "audit/mode";
|
|
4
|
+
export declare const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
|
+
export declare const AUDIT_SYSTEM_MODE = "system";
|
|
6
|
+
export declare const AUDIT_USER_MODE = "user";
|
|
7
|
+
export declare const AUDIT_USER_ENTITY_TYPE = "user";
|
|
8
|
+
export declare const AUDIT_KEY_ENTITY_TYPE = "key";
|
|
9
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,kBAAkB,CAAA;AAC5C,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,UAAU,eAAe,CAAA;AACtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,eAAO,MAAM,iBAAiB,WAAW,CAAA;AACzC,eAAO,MAAM,eAAe,SAAS,CAAA;AAErC,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAC5C,eAAO,MAAM,qBAAqB,QAAQ,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const AUDIT_USER_ID = "audit/user-id";
|
|
2
|
+
export const AUDIT_ON_BEHALF_OF = "audit/on-behalf-of";
|
|
3
|
+
export const AUDIT_MODE = "audit/mode";
|
|
4
|
+
export const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
|
+
export const AUDIT_SYSTEM_MODE = "system";
|
|
6
|
+
export const AUDIT_USER_MODE = "user";
|
|
7
|
+
export const AUDIT_USER_ENTITY_TYPE = "user";
|
|
8
|
+
export const AUDIT_KEY_ENTITY_TYPE = "key";
|
package/esm/pathways/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pathways/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pathways/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA"}
|
package/esm/pathways/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowcore/pathways",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.2",
|
|
4
4
|
"description": "A TypeScript Library for creating Flowcore Pathways, simplifying the integration with the flowcore platform",
|
|
5
5
|
"homepage": "https://github.com/flowcore-io/flowcore-pathways#readme",
|
|
6
6
|
"repository": {
|
|
@@ -38,6 +38,21 @@ export interface AuditWebhookSendOptions extends WebhookSendOptions {
|
|
|
38
38
|
*/
|
|
39
39
|
headers?: Record<string, string>;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Represents the set log level for different internal log messages
|
|
43
|
+
* @property debug Log level for debug messages
|
|
44
|
+
* @property info Log level for info messages
|
|
45
|
+
* @property warn Log level for warn messages
|
|
46
|
+
* @property error Log level for error messages
|
|
47
|
+
*/
|
|
48
|
+
export type LogLevel = keyof Pick<Logger, 'debug' | 'info' | 'warn' | 'error'>;
|
|
49
|
+
/**
|
|
50
|
+
* Configuration for log levels
|
|
51
|
+
* @property writeSuccess Log level used when a write operation is successful. Defaults to 'info'.
|
|
52
|
+
*/
|
|
53
|
+
export type LogLevelConfig = {
|
|
54
|
+
writeSuccess?: LogLevel;
|
|
55
|
+
};
|
|
41
56
|
/**
|
|
42
57
|
* SessionUserResolver is a key-value store for storing and retrieving UserIdResolver functions
|
|
43
58
|
* with a TTL (time to live).
|
|
@@ -129,6 +144,7 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
129
144
|
private readonly tenant;
|
|
130
145
|
private readonly dataCore;
|
|
131
146
|
private readonly apiKey;
|
|
147
|
+
private readonly logLevel;
|
|
132
148
|
/**
|
|
133
149
|
* Creates a new PathwaysBuilder instance
|
|
134
150
|
* @param options Configuration options for the PathwaysBuilder
|
|
@@ -140,8 +156,10 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
140
156
|
* @param options.logger Optional logger instance
|
|
141
157
|
* @param options.enableSessionUserResolvers Whether to enable session user resolvers
|
|
142
158
|
* @param options.overrideSessionUserResolvers Optional SessionUserResolver instance to override the default
|
|
159
|
+
* @param options.logLevel Optional configuration for log levels
|
|
160
|
+
* @param options.logLevel.writeSuccess Log level for write success messages ('info' or 'debug'). Defaults to 'info'.
|
|
143
161
|
*/
|
|
144
|
-
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, }: {
|
|
162
|
+
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, logLevel, }: {
|
|
145
163
|
baseUrl: string;
|
|
146
164
|
tenant: string;
|
|
147
165
|
dataCore: string;
|
|
@@ -150,6 +168,7 @@ export declare class PathwaysBuilder<TPathway extends Record<string, unknown> =
|
|
|
150
168
|
logger?: Logger;
|
|
151
169
|
enableSessionUserResolvers?: boolean;
|
|
152
170
|
overrideSessionUserResolvers?: SessionUserResolver;
|
|
171
|
+
logLevel?: LogLevelConfig;
|
|
153
172
|
});
|
|
154
173
|
/**
|
|
155
174
|
* Configures the PathwaysBuilder to use a custom pathway state implementation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAEnE,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,UAAU,EACV,YAAY,EACZ,mBAAmB,EAInB,eAAe,EAChB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ const rxjs_1 = require("rxjs");
|
|
|
7
7
|
const flowcore_transformer_core_sdk_js_1 = require("../compatibility/flowcore-transformer-core.sdk.js");
|
|
8
8
|
const internal_pathway_state_js_1 = require("./internal-pathway.state.js");
|
|
9
9
|
const logger_js_1 = require("./logger.js");
|
|
10
|
+
const constants_js_1 = require("./constants.js");
|
|
10
11
|
/**
|
|
11
12
|
* Default timeout for pathway processing in milliseconds (10 seconds)
|
|
12
13
|
*/
|
|
@@ -104,8 +105,10 @@ class PathwaysBuilder {
|
|
|
104
105
|
* @param options.logger Optional logger instance
|
|
105
106
|
* @param options.enableSessionUserResolvers Whether to enable session user resolvers
|
|
106
107
|
* @param options.overrideSessionUserResolvers Optional SessionUserResolver instance to override the default
|
|
108
|
+
* @param options.logLevel Optional configuration for log levels
|
|
109
|
+
* @param options.logLevel.writeSuccess Log level for write success messages ('info' or 'debug'). Defaults to 'info'.
|
|
107
110
|
*/
|
|
108
|
-
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, }) {
|
|
111
|
+
constructor({ baseUrl, tenant, dataCore, apiKey, pathwayTimeoutMs, logger, enableSessionUserResolvers, overrideSessionUserResolvers, logLevel, }) {
|
|
109
112
|
Object.defineProperty(this, "pathways", {
|
|
110
113
|
enumerable: true,
|
|
111
114
|
configurable: true,
|
|
@@ -260,8 +263,18 @@ class PathwaysBuilder {
|
|
|
260
263
|
writable: true,
|
|
261
264
|
value: void 0
|
|
262
265
|
});
|
|
266
|
+
Object.defineProperty(this, "logLevel", {
|
|
267
|
+
enumerable: true,
|
|
268
|
+
configurable: true,
|
|
269
|
+
writable: true,
|
|
270
|
+
value: void 0
|
|
271
|
+
});
|
|
263
272
|
// Initialize logger (use NoopLogger if none provided)
|
|
264
273
|
this.logger = logger ?? new logger_js_1.NoopLogger();
|
|
274
|
+
// Initialize log levels with defaults
|
|
275
|
+
this.logLevel = {
|
|
276
|
+
writeSuccess: logLevel?.writeSuccess ?? 'info'
|
|
277
|
+
};
|
|
265
278
|
// Store configuration values for cloning
|
|
266
279
|
this.baseUrl = baseUrl;
|
|
267
280
|
this.tenant = tenant;
|
|
@@ -737,16 +750,16 @@ class PathwaysBuilder {
|
|
|
737
750
|
});
|
|
738
751
|
if (userId) {
|
|
739
752
|
// Add appropriate audit metadata based on mode
|
|
740
|
-
if (auditMode ===
|
|
741
|
-
finalMetadata[
|
|
742
|
-
finalMetadata[
|
|
743
|
-
finalMetadata[
|
|
744
|
-
finalMetadata[
|
|
753
|
+
if (auditMode === constants_js_1.AUDIT_SYSTEM_MODE) {
|
|
754
|
+
finalMetadata[constants_js_1.AUDIT_USER_ID] = "system";
|
|
755
|
+
finalMetadata[constants_js_1.AUDIT_ON_BEHALF_OF] = userId.entityId;
|
|
756
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = "system";
|
|
757
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
745
758
|
}
|
|
746
759
|
else {
|
|
747
|
-
finalMetadata[
|
|
748
|
-
finalMetadata[
|
|
749
|
-
finalMetadata[
|
|
760
|
+
finalMetadata[constants_js_1.AUDIT_USER_ID] = userId.entityId;
|
|
761
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = constants_js_1.AUDIT_USER_MODE; // Always set mode for user
|
|
762
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
750
763
|
}
|
|
751
764
|
}
|
|
752
765
|
let eventIds = [];
|
|
@@ -759,7 +772,7 @@ class PathwaysBuilder {
|
|
|
759
772
|
this.logger.debug(`Writing webhook data to pathway`, { pathway: pathStr });
|
|
760
773
|
eventIds = await this.writers[path](data, finalMetadata, options);
|
|
761
774
|
}
|
|
762
|
-
this.logger.
|
|
775
|
+
this.logger[this.logLevel.writeSuccess](`Successfully wrote to pathway`, {
|
|
763
776
|
pathway: pathStr,
|
|
764
777
|
eventIds: Array.isArray(eventIds) ? eventIds : [eventIds],
|
|
765
778
|
fireAndForget: options?.fireAndForget,
|
|
@@ -844,22 +857,22 @@ class PathwaysBuilder {
|
|
|
844
857
|
});
|
|
845
858
|
if (userId) {
|
|
846
859
|
// Add appropriate audit metadata based on mode
|
|
847
|
-
if (auditMode ===
|
|
848
|
-
finalMetadata[
|
|
849
|
-
finalMetadata[
|
|
850
|
-
finalMetadata[
|
|
851
|
-
finalMetadata[
|
|
860
|
+
if (auditMode === constants_js_1.AUDIT_SYSTEM_MODE) {
|
|
861
|
+
finalMetadata[constants_js_1.AUDIT_USER_ID] = "system";
|
|
862
|
+
finalMetadata[constants_js_1.AUDIT_ON_BEHALF_OF] = userId.entityId;
|
|
863
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = "system";
|
|
864
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
852
865
|
}
|
|
853
866
|
else {
|
|
854
|
-
finalMetadata[
|
|
855
|
-
finalMetadata[
|
|
856
|
-
finalMetadata[
|
|
867
|
+
finalMetadata[constants_js_1.AUDIT_USER_ID] = userId.entityId;
|
|
868
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = constants_js_1.AUDIT_USER_MODE; // Always set mode for user
|
|
869
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
857
870
|
}
|
|
858
871
|
}
|
|
859
872
|
let eventIds = [];
|
|
860
873
|
this.logger.debug(`Writing batch webhook data to pathway`, { pathway: pathStr });
|
|
861
874
|
eventIds = await this.batchWriters[path](data, finalMetadata, options);
|
|
862
|
-
this.logger.
|
|
875
|
+
this.logger[this.logLevel.writeSuccess](`Successfully wrote to pathway`, {
|
|
863
876
|
pathway: pathStr,
|
|
864
877
|
eventIds: Array.isArray(eventIds) ? eventIds : [eventIds],
|
|
865
878
|
fireAndForget: options?.fireAndForget,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const AUDIT_USER_ID = "audit/user-id";
|
|
2
|
+
export declare const AUDIT_ON_BEHALF_OF = "audit/on-behalf-of";
|
|
3
|
+
export declare const AUDIT_MODE = "audit/mode";
|
|
4
|
+
export declare const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
|
+
export declare const AUDIT_SYSTEM_MODE = "system";
|
|
6
|
+
export declare const AUDIT_USER_MODE = "user";
|
|
7
|
+
export declare const AUDIT_USER_ENTITY_TYPE = "user";
|
|
8
|
+
export declare const AUDIT_KEY_ENTITY_TYPE = "key";
|
|
9
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,kBAAkB,CAAA;AAC5C,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AACtD,eAAO,MAAM,UAAU,eAAe,CAAA;AACtC,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,eAAO,MAAM,iBAAiB,WAAW,CAAA;AACzC,eAAO,MAAM,eAAe,SAAS,CAAA;AAErC,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAC5C,eAAO,MAAM,qBAAqB,QAAQ,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AUDIT_KEY_ENTITY_TYPE = exports.AUDIT_USER_ENTITY_TYPE = exports.AUDIT_USER_MODE = exports.AUDIT_SYSTEM_MODE = exports.AUDIT_ENTITY_TYPE = exports.AUDIT_MODE = exports.AUDIT_ON_BEHALF_OF = exports.AUDIT_USER_ID = void 0;
|
|
4
|
+
exports.AUDIT_USER_ID = "audit/user-id";
|
|
5
|
+
exports.AUDIT_ON_BEHALF_OF = "audit/on-behalf-of";
|
|
6
|
+
exports.AUDIT_MODE = "audit/mode";
|
|
7
|
+
exports.AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
8
|
+
exports.AUDIT_SYSTEM_MODE = "system";
|
|
9
|
+
exports.AUDIT_USER_MODE = "user";
|
|
10
|
+
exports.AUDIT_USER_ENTITY_TYPE = "user";
|
|
11
|
+
exports.AUDIT_KEY_ENTITY_TYPE = "key";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pathways/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pathways/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,YAAY,CAAA"}
|
package/script/pathways/index.js
CHANGED
|
@@ -28,6 +28,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
28
28
|
* @module
|
|
29
29
|
*/
|
|
30
30
|
__exportStar(require("./builder.js"), exports);
|
|
31
|
+
__exportStar(require("./constants.js"), exports);
|
|
31
32
|
__exportStar(require("./internal-pathway.state.js"), exports);
|
|
32
33
|
__exportStar(require("./kv/kv-adapter.js"), exports);
|
|
33
34
|
__exportStar(require("./logger.js"), exports);
|