@flowcore/pathways 0.16.1 → 0.16.3
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 +19 -0
- package/esm/pathways/builder.d.ts +7 -1
- package/esm/pathways/builder.d.ts.map +1 -1
- package/esm/pathways/builder.js +36 -11
- package/esm/pathways/constants.d.ts +4 -2
- package/esm/pathways/constants.d.ts.map +1 -1
- package/esm/pathways/constants.js +4 -2
- package/package.json +5 -3
- package/script/pathways/builder.d.ts +7 -1
- package/script/pathways/builder.d.ts.map +1 -1
- package/script/pathways/builder.js +35 -10
- package/script/pathways/constants.d.ts +4 -2
- package/script/pathways/constants.d.ts.map +1 -1
- package/script/pathways/constants.js +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.16.3](https://github.com/flowcore-io/flowcore-pathways/compare/v0.16.2...v0.16.3) (2025-06-20)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* enhance error logging and validation feedback in PathwaysBuilder ([7346aba](https://github.com/flowcore-io/flowcore-pathways/commit/7346ababec419f46f6102408e41ce2580b41dcdf))
|
|
9
|
+
|
|
10
|
+
## [0.16.2](https://github.com/flowcore-io/flowcore-pathways/compare/v0.16.1...v0.16.2) (2025-06-12)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* allow userIdResolver to be regular return also ([8420480](https://github.com/flowcore-io/flowcore-pathways/commit/84204800a8c6e7d27ca6c4bac3f95019159d301a))
|
|
16
|
+
* change metadata ([18dcbbd](https://github.com/flowcore-io/flowcore-pathways/commit/18dcbbd3573ec7c7b52fd6af20896a3730a1a388))
|
|
17
|
+
* change metadata ([a7a9bfa](https://github.com/flowcore-io/flowcore-pathways/commit/a7a9bfa5f98b2021660d99b7d864283b5cbca615))
|
|
18
|
+
* fix some tests ([705870c](https://github.com/flowcore-io/flowcore-pathways/commit/705870c7fd8d220b33be71a6e4aaddd50afcb9fe))
|
|
19
|
+
* make zod a peer dependency in npm package ([930033e](https://github.com/flowcore-io/flowcore-pathways/commit/930033e3d586a61ee0099a55ddb6ee5f48565c5a))
|
|
20
|
+
* make zod a peer dependency in npm package ([de3b93f](https://github.com/flowcore-io/flowcore-pathways/commit/de3b93fe8882199159d9090ba5f81f8b47e1a424))
|
|
21
|
+
|
|
3
22
|
## [0.16.1](https://github.com/flowcore-io/flowcore-pathways/compare/v0.16.0...v0.16.1) (2025-06-04)
|
|
4
23
|
|
|
5
24
|
|
|
@@ -29,7 +29,7 @@ export type UserResolverEntity = {
|
|
|
29
29
|
* Async function that resolves to the current user ID
|
|
30
30
|
* Used for audit functionality to track which user initiated an action
|
|
31
31
|
*/
|
|
32
|
-
export type UserIdResolver = () => Promise<UserResolverEntity
|
|
32
|
+
export type UserIdResolver = () => Promise<UserResolverEntity> | UserResolverEntity;
|
|
33
33
|
/**
|
|
34
34
|
* Extended webhook send options with additional audit-specific options
|
|
35
35
|
*/
|
|
@@ -323,5 +323,11 @@ export declare class PathwaysBuilder<TPathway extends Record<string, {
|
|
|
323
323
|
* @throws Error if the timeout is exceeded
|
|
324
324
|
*/
|
|
325
325
|
private waitForPathwayToBeProcessed;
|
|
326
|
+
/**
|
|
327
|
+
* Converts a Zod validation error to a human-readable string
|
|
328
|
+
* @param error The Zod validation error to convert
|
|
329
|
+
* @returns A formatted error message string
|
|
330
|
+
*/
|
|
331
|
+
private validationErrorToString;
|
|
326
332
|
}
|
|
327
333
|
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAIvC,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,7 +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,
|
|
7
|
+
import { AUDIT_ENTITY_ID, AUDIT_ENTITY_TYPE, AUDIT_MODE, AUDIT_ON_BEHALF_OF_ID, AUDIT_ON_BEHALF_OF_TYPE, AUDIT_SESSION_ID, AUDIT_SYSTEM_MODE, AUDIT_USER_MODE, } from "./constants.js";
|
|
8
8
|
import { FileEventSchema, FileInputSchema } from "./types.js";
|
|
9
9
|
import process from "node:process";
|
|
10
10
|
/**
|
|
@@ -419,8 +419,13 @@ export class PathwaysBuilder {
|
|
|
419
419
|
const parsedPayload = this.schemas[pathway].safeParse(data.payload);
|
|
420
420
|
try {
|
|
421
421
|
if (!parsedPayload.success) {
|
|
422
|
-
const
|
|
423
|
-
|
|
422
|
+
const validationMessage = this.validationErrorToString(parsedPayload.error);
|
|
423
|
+
const error = `Event payload does not match schema for pathway ${pathwayStr}. ${validationMessage}`;
|
|
424
|
+
this.logger.error(error, {
|
|
425
|
+
pathway: pathwayStr,
|
|
426
|
+
schema: this.schemas[pathway].toString(),
|
|
427
|
+
validationErrors: parsedPayload.error.errors, // Keep all errors in the logs for debugging
|
|
428
|
+
});
|
|
424
429
|
throw new Error(error);
|
|
425
430
|
}
|
|
426
431
|
}
|
|
@@ -730,10 +735,12 @@ export class PathwaysBuilder {
|
|
|
730
735
|
const schema = batch ? z.array(this.inputSchemas[path]) : this.inputSchemas[path];
|
|
731
736
|
const parsedData = schema.safeParse(inputData);
|
|
732
737
|
if (!parsedData.success) {
|
|
733
|
-
const
|
|
734
|
-
|
|
738
|
+
const validationMessage = this.validationErrorToString(parsedData.error);
|
|
739
|
+
const errorMessage = `Invalid data for pathway ${pathStr}. ${validationMessage}`;
|
|
740
|
+
this.logger.error(errorMessage, {
|
|
735
741
|
pathway: pathStr,
|
|
736
742
|
schema: schema.toString(),
|
|
743
|
+
validationErrors: parsedData.error.errors, // Keep all errors in the logs for debugging
|
|
737
744
|
});
|
|
738
745
|
throw new Error(errorMessage);
|
|
739
746
|
}
|
|
@@ -779,17 +786,21 @@ export class PathwaysBuilder {
|
|
|
779
786
|
if (userId) {
|
|
780
787
|
// Add appropriate audit metadata based on mode
|
|
781
788
|
if (auditMode === AUDIT_SYSTEM_MODE) {
|
|
782
|
-
finalMetadata[
|
|
783
|
-
finalMetadata[
|
|
784
|
-
finalMetadata[
|
|
785
|
-
finalMetadata[
|
|
789
|
+
finalMetadata[AUDIT_MODE] = AUDIT_SYSTEM_MODE;
|
|
790
|
+
finalMetadata[AUDIT_ENTITY_TYPE] = "system";
|
|
791
|
+
finalMetadata[AUDIT_ENTITY_ID] = "system";
|
|
792
|
+
finalMetadata[AUDIT_ON_BEHALF_OF_TYPE] = userId.entityType;
|
|
793
|
+
finalMetadata[AUDIT_ON_BEHALF_OF_ID] = userId.entityId;
|
|
786
794
|
}
|
|
787
795
|
else {
|
|
788
|
-
finalMetadata[
|
|
789
|
-
finalMetadata[AUDIT_MODE] = AUDIT_USER_MODE; // Always set mode for user
|
|
796
|
+
finalMetadata[AUDIT_MODE] = AUDIT_USER_MODE;
|
|
790
797
|
finalMetadata[AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
798
|
+
finalMetadata[AUDIT_ENTITY_ID] = userId.entityId;
|
|
791
799
|
}
|
|
792
800
|
}
|
|
801
|
+
if (options?.sessionId) {
|
|
802
|
+
finalMetadata[AUDIT_SESSION_ID] = options.sessionId;
|
|
803
|
+
}
|
|
793
804
|
let eventIds = [];
|
|
794
805
|
this.logger.debug(`Writing webhook data to pathway`, { pathway: pathStr, batch });
|
|
795
806
|
if (batch) {
|
|
@@ -874,4 +885,18 @@ export class PathwaysBuilder {
|
|
|
874
885
|
attempts,
|
|
875
886
|
});
|
|
876
887
|
}
|
|
888
|
+
/**
|
|
889
|
+
* Converts a Zod validation error to a human-readable string
|
|
890
|
+
* @param error The Zod validation error to convert
|
|
891
|
+
* @returns A formatted error message string
|
|
892
|
+
*/
|
|
893
|
+
validationErrorToString(error) {
|
|
894
|
+
const primaryError = error?.errors[0];
|
|
895
|
+
if (!primaryError) {
|
|
896
|
+
return "Unknown validation error";
|
|
897
|
+
}
|
|
898
|
+
const path = primaryError.path.join(".");
|
|
899
|
+
const pathOutput = path ? `${path}: ` : "";
|
|
900
|
+
return `${pathOutput}${primaryError.message}`;
|
|
901
|
+
}
|
|
877
902
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
1
|
+
export declare const AUDIT_SESSION_ID = "audit/session-id";
|
|
2
|
+
export declare const AUDIT_ENTITY_ID = "audit/entity-id";
|
|
3
|
+
export declare const AUDIT_ON_BEHALF_OF_TYPE = "audit/on-behalf-of-type";
|
|
4
|
+
export declare const AUDIT_ON_BEHALF_OF_ID = "audit/on-behalf-of-id";
|
|
3
5
|
export declare const AUDIT_MODE = "audit/mode";
|
|
4
6
|
export declare const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
7
|
export declare const AUDIT_SYSTEM_MODE = "system";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAElD,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const
|
|
1
|
+
export const AUDIT_SESSION_ID = "audit/session-id";
|
|
2
|
+
export const AUDIT_ENTITY_ID = "audit/entity-id";
|
|
3
|
+
export const AUDIT_ON_BEHALF_OF_TYPE = "audit/on-behalf-of-type";
|
|
4
|
+
export const AUDIT_ON_BEHALF_OF_ID = "audit/on-behalf-of-id";
|
|
3
5
|
export const AUDIT_MODE = "audit/mode";
|
|
4
6
|
export const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
7
|
export const AUDIT_SYSTEM_MODE = "system";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowcore/pathways",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.3",
|
|
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": {
|
|
@@ -27,8 +27,10 @@
|
|
|
27
27
|
"file-type": "^21.0.0",
|
|
28
28
|
"node-cache": "5.1.2",
|
|
29
29
|
"postgres": "^3.4.3",
|
|
30
|
-
"rxjs": "^7.8.1"
|
|
31
|
-
|
|
30
|
+
"rxjs": "^7.8.1"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"zod": "^3.25.63"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
36
|
"@types/node": "^20.9.0",
|
|
@@ -29,7 +29,7 @@ export type UserResolverEntity = {
|
|
|
29
29
|
* Async function that resolves to the current user ID
|
|
30
30
|
* Used for audit functionality to track which user initiated an action
|
|
31
31
|
*/
|
|
32
|
-
export type UserIdResolver = () => Promise<UserResolverEntity
|
|
32
|
+
export type UserIdResolver = () => Promise<UserResolverEntity> | UserResolverEntity;
|
|
33
33
|
/**
|
|
34
34
|
* Extended webhook send options with additional audit-specific options
|
|
35
35
|
*/
|
|
@@ -323,5 +323,11 @@ export declare class PathwaysBuilder<TPathway extends Record<string, {
|
|
|
323
323
|
* @throws Error if the timeout is exceeded
|
|
324
324
|
*/
|
|
325
325
|
private waitForPathwayToBeProcessed;
|
|
326
|
+
/**
|
|
327
|
+
* Converts a Zod validation error to a human-readable string
|
|
328
|
+
* @param error The Zod validation error to convert
|
|
329
|
+
* @returns A formatted error message string
|
|
330
|
+
*/
|
|
331
|
+
private validationErrorToString;
|
|
326
332
|
}
|
|
327
333
|
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/pathways/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AAIvC,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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"}
|
|
@@ -426,8 +426,13 @@ class PathwaysBuilder {
|
|
|
426
426
|
const parsedPayload = this.schemas[pathway].safeParse(data.payload);
|
|
427
427
|
try {
|
|
428
428
|
if (!parsedPayload.success) {
|
|
429
|
-
const
|
|
430
|
-
|
|
429
|
+
const validationMessage = this.validationErrorToString(parsedPayload.error);
|
|
430
|
+
const error = `Event payload does not match schema for pathway ${pathwayStr}. ${validationMessage}`;
|
|
431
|
+
this.logger.error(error, {
|
|
432
|
+
pathway: pathwayStr,
|
|
433
|
+
schema: this.schemas[pathway].toString(),
|
|
434
|
+
validationErrors: parsedPayload.error.errors, // Keep all errors in the logs for debugging
|
|
435
|
+
});
|
|
431
436
|
throw new Error(error);
|
|
432
437
|
}
|
|
433
438
|
}
|
|
@@ -737,10 +742,12 @@ class PathwaysBuilder {
|
|
|
737
742
|
const schema = batch ? zod_1.z.array(this.inputSchemas[path]) : this.inputSchemas[path];
|
|
738
743
|
const parsedData = schema.safeParse(inputData);
|
|
739
744
|
if (!parsedData.success) {
|
|
740
|
-
const
|
|
741
|
-
|
|
745
|
+
const validationMessage = this.validationErrorToString(parsedData.error);
|
|
746
|
+
const errorMessage = `Invalid data for pathway ${pathStr}. ${validationMessage}`;
|
|
747
|
+
this.logger.error(errorMessage, {
|
|
742
748
|
pathway: pathStr,
|
|
743
749
|
schema: schema.toString(),
|
|
750
|
+
validationErrors: parsedData.error.errors, // Keep all errors in the logs for debugging
|
|
744
751
|
});
|
|
745
752
|
throw new Error(errorMessage);
|
|
746
753
|
}
|
|
@@ -786,17 +793,21 @@ class PathwaysBuilder {
|
|
|
786
793
|
if (userId) {
|
|
787
794
|
// Add appropriate audit metadata based on mode
|
|
788
795
|
if (auditMode === constants_js_1.AUDIT_SYSTEM_MODE) {
|
|
789
|
-
finalMetadata[constants_js_1.
|
|
790
|
-
finalMetadata[constants_js_1.
|
|
791
|
-
finalMetadata[constants_js_1.
|
|
792
|
-
finalMetadata[constants_js_1.
|
|
796
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = constants_js_1.AUDIT_SYSTEM_MODE;
|
|
797
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = "system";
|
|
798
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_ID] = "system";
|
|
799
|
+
finalMetadata[constants_js_1.AUDIT_ON_BEHALF_OF_TYPE] = userId.entityType;
|
|
800
|
+
finalMetadata[constants_js_1.AUDIT_ON_BEHALF_OF_ID] = userId.entityId;
|
|
793
801
|
}
|
|
794
802
|
else {
|
|
795
|
-
finalMetadata[constants_js_1.
|
|
796
|
-
finalMetadata[constants_js_1.AUDIT_MODE] = constants_js_1.AUDIT_USER_MODE; // Always set mode for user
|
|
803
|
+
finalMetadata[constants_js_1.AUDIT_MODE] = constants_js_1.AUDIT_USER_MODE;
|
|
797
804
|
finalMetadata[constants_js_1.AUDIT_ENTITY_TYPE] = userId.entityType;
|
|
805
|
+
finalMetadata[constants_js_1.AUDIT_ENTITY_ID] = userId.entityId;
|
|
798
806
|
}
|
|
799
807
|
}
|
|
808
|
+
if (options?.sessionId) {
|
|
809
|
+
finalMetadata[constants_js_1.AUDIT_SESSION_ID] = options.sessionId;
|
|
810
|
+
}
|
|
800
811
|
let eventIds = [];
|
|
801
812
|
this.logger.debug(`Writing webhook data to pathway`, { pathway: pathStr, batch });
|
|
802
813
|
if (batch) {
|
|
@@ -881,5 +892,19 @@ class PathwaysBuilder {
|
|
|
881
892
|
attempts,
|
|
882
893
|
});
|
|
883
894
|
}
|
|
895
|
+
/**
|
|
896
|
+
* Converts a Zod validation error to a human-readable string
|
|
897
|
+
* @param error The Zod validation error to convert
|
|
898
|
+
* @returns A formatted error message string
|
|
899
|
+
*/
|
|
900
|
+
validationErrorToString(error) {
|
|
901
|
+
const primaryError = error?.errors[0];
|
|
902
|
+
if (!primaryError) {
|
|
903
|
+
return "Unknown validation error";
|
|
904
|
+
}
|
|
905
|
+
const path = primaryError.path.join(".");
|
|
906
|
+
const pathOutput = path ? `${path}: ` : "";
|
|
907
|
+
return `${pathOutput}${primaryError.message}`;
|
|
908
|
+
}
|
|
884
909
|
}
|
|
885
910
|
exports.PathwaysBuilder = PathwaysBuilder;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export declare const
|
|
1
|
+
export declare const AUDIT_SESSION_ID = "audit/session-id";
|
|
2
|
+
export declare const AUDIT_ENTITY_ID = "audit/entity-id";
|
|
3
|
+
export declare const AUDIT_ON_BEHALF_OF_TYPE = "audit/on-behalf-of-type";
|
|
4
|
+
export declare const AUDIT_ON_BEHALF_OF_ID = "audit/on-behalf-of-id";
|
|
3
5
|
export declare const AUDIT_MODE = "audit/mode";
|
|
4
6
|
export declare const AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
5
7
|
export declare const AUDIT_SYSTEM_MODE = "system";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/pathways/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAA;AAElD,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD,eAAO,MAAM,uBAAuB,4BAA4B,CAAA;AAChE,eAAO,MAAM,qBAAqB,0BAA0B,CAAA;AAE5D,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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
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.
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
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_ID = exports.AUDIT_ON_BEHALF_OF_TYPE = exports.AUDIT_ENTITY_ID = exports.AUDIT_SESSION_ID = void 0;
|
|
4
|
+
exports.AUDIT_SESSION_ID = "audit/session-id";
|
|
5
|
+
exports.AUDIT_ENTITY_ID = "audit/entity-id";
|
|
6
|
+
exports.AUDIT_ON_BEHALF_OF_TYPE = "audit/on-behalf-of-type";
|
|
7
|
+
exports.AUDIT_ON_BEHALF_OF_ID = "audit/on-behalf-of-id";
|
|
6
8
|
exports.AUDIT_MODE = "audit/mode";
|
|
7
9
|
exports.AUDIT_ENTITY_TYPE = "audit/entity-type";
|
|
8
10
|
exports.AUDIT_SYSTEM_MODE = "system";
|