@ampsec/platform-client 79.5.0 → 79.6.1
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/build/src/dto/notification.dto.d.ts +26 -0
- package/build/src/dto/notification.dto.js +2 -0
- package/build/src/dto/notification.dto.js.map +1 -1
- package/build/src/services/ContentTemplateService.d.ts +2 -0
- package/build/src/services/ContentTemplateService.js +31 -1
- package/build/src/services/ContentTemplateService.js.map +1 -1
- package/build/src/services/constants.d.ts +30 -0
- package/build/src/services/constants.js +36 -1
- package/build/src/services/constants.js.map +1 -1
- package/package.json +1 -1
- package/src/dto/notification.dto.ts +2 -0
- package/src/services/ContentTemplateService.ts +39 -0
- package/src/services/constants.ts +36 -0
|
@@ -176,23 +176,28 @@ export declare const _TeamsDeliveryStrategy: z.ZodObject<z.objectUtil.extendShap
|
|
|
176
176
|
to: z.ZodObject<{
|
|
177
177
|
cid: z.ZodOptional<z.ZodString>;
|
|
178
178
|
users: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
179
|
+
teamsTenantId: z.ZodOptional<z.ZodString>;
|
|
179
180
|
}, "strip", z.ZodTypeAny, {
|
|
180
181
|
cid?: string | undefined;
|
|
181
182
|
users?: string[] | undefined;
|
|
183
|
+
teamsTenantId?: string | undefined;
|
|
182
184
|
}, {
|
|
183
185
|
cid?: string | undefined;
|
|
184
186
|
users?: string[] | undefined;
|
|
187
|
+
teamsTenantId?: string | undefined;
|
|
185
188
|
}>;
|
|
186
189
|
}>, "strip", z.ZodTypeAny, {
|
|
187
190
|
to: {
|
|
188
191
|
cid?: string | undefined;
|
|
189
192
|
users?: string[] | undefined;
|
|
193
|
+
teamsTenantId?: string | undefined;
|
|
190
194
|
};
|
|
191
195
|
copySecOpsTeam?: boolean | undefined;
|
|
192
196
|
}, {
|
|
193
197
|
to: {
|
|
194
198
|
cid?: string | undefined;
|
|
195
199
|
users?: string[] | undefined;
|
|
200
|
+
teamsTenantId?: string | undefined;
|
|
196
201
|
};
|
|
197
202
|
copySecOpsTeam?: boolean | undefined;
|
|
198
203
|
}>;
|
|
@@ -862,23 +867,28 @@ export declare const _TeamsNotificationUpsertDto: z.ZodObject<z.objectUtil.exten
|
|
|
862
867
|
to: z.ZodObject<{
|
|
863
868
|
cid: z.ZodOptional<z.ZodString>;
|
|
864
869
|
users: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
870
|
+
teamsTenantId: z.ZodOptional<z.ZodString>;
|
|
865
871
|
}, "strip", z.ZodTypeAny, {
|
|
866
872
|
cid?: string | undefined;
|
|
867
873
|
users?: string[] | undefined;
|
|
874
|
+
teamsTenantId?: string | undefined;
|
|
868
875
|
}, {
|
|
869
876
|
cid?: string | undefined;
|
|
870
877
|
users?: string[] | undefined;
|
|
878
|
+
teamsTenantId?: string | undefined;
|
|
871
879
|
}>;
|
|
872
880
|
}>, "strip", z.ZodTypeAny, {
|
|
873
881
|
to: {
|
|
874
882
|
cid?: string | undefined;
|
|
875
883
|
users?: string[] | undefined;
|
|
884
|
+
teamsTenantId?: string | undefined;
|
|
876
885
|
};
|
|
877
886
|
copySecOpsTeam?: boolean | undefined;
|
|
878
887
|
}, {
|
|
879
888
|
to: {
|
|
880
889
|
cid?: string | undefined;
|
|
881
890
|
users?: string[] | undefined;
|
|
891
|
+
teamsTenantId?: string | undefined;
|
|
882
892
|
};
|
|
883
893
|
copySecOpsTeam?: boolean | undefined;
|
|
884
894
|
}>;
|
|
@@ -911,6 +921,7 @@ export declare const _TeamsNotificationUpsertDto: z.ZodObject<z.objectUtil.exten
|
|
|
911
921
|
to: {
|
|
912
922
|
cid?: string | undefined;
|
|
913
923
|
users?: string[] | undefined;
|
|
924
|
+
teamsTenantId?: string | undefined;
|
|
914
925
|
};
|
|
915
926
|
copySecOpsTeam?: boolean | undefined;
|
|
916
927
|
};
|
|
@@ -954,6 +965,7 @@ export declare const _TeamsNotificationUpsertDto: z.ZodObject<z.objectUtil.exten
|
|
|
954
965
|
to: {
|
|
955
966
|
cid?: string | undefined;
|
|
956
967
|
users?: string[] | undefined;
|
|
968
|
+
teamsTenantId?: string | undefined;
|
|
957
969
|
};
|
|
958
970
|
copySecOpsTeam?: boolean | undefined;
|
|
959
971
|
};
|
|
@@ -1457,23 +1469,28 @@ export declare const _NotificationUpsertDto: z.ZodDiscriminatedUnion<"deliveryCh
|
|
|
1457
1469
|
to: z.ZodObject<{
|
|
1458
1470
|
cid: z.ZodOptional<z.ZodString>;
|
|
1459
1471
|
users: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1472
|
+
teamsTenantId: z.ZodOptional<z.ZodString>;
|
|
1460
1473
|
}, "strip", z.ZodTypeAny, {
|
|
1461
1474
|
cid?: string | undefined;
|
|
1462
1475
|
users?: string[] | undefined;
|
|
1476
|
+
teamsTenantId?: string | undefined;
|
|
1463
1477
|
}, {
|
|
1464
1478
|
cid?: string | undefined;
|
|
1465
1479
|
users?: string[] | undefined;
|
|
1480
|
+
teamsTenantId?: string | undefined;
|
|
1466
1481
|
}>;
|
|
1467
1482
|
}>, "strip", z.ZodTypeAny, {
|
|
1468
1483
|
to: {
|
|
1469
1484
|
cid?: string | undefined;
|
|
1470
1485
|
users?: string[] | undefined;
|
|
1486
|
+
teamsTenantId?: string | undefined;
|
|
1471
1487
|
};
|
|
1472
1488
|
copySecOpsTeam?: boolean | undefined;
|
|
1473
1489
|
}, {
|
|
1474
1490
|
to: {
|
|
1475
1491
|
cid?: string | undefined;
|
|
1476
1492
|
users?: string[] | undefined;
|
|
1493
|
+
teamsTenantId?: string | undefined;
|
|
1477
1494
|
};
|
|
1478
1495
|
copySecOpsTeam?: boolean | undefined;
|
|
1479
1496
|
}>;
|
|
@@ -1506,6 +1523,7 @@ export declare const _NotificationUpsertDto: z.ZodDiscriminatedUnion<"deliveryCh
|
|
|
1506
1523
|
to: {
|
|
1507
1524
|
cid?: string | undefined;
|
|
1508
1525
|
users?: string[] | undefined;
|
|
1526
|
+
teamsTenantId?: string | undefined;
|
|
1509
1527
|
};
|
|
1510
1528
|
copySecOpsTeam?: boolean | undefined;
|
|
1511
1529
|
};
|
|
@@ -1549,6 +1567,7 @@ export declare const _NotificationUpsertDto: z.ZodDiscriminatedUnion<"deliveryCh
|
|
|
1549
1567
|
to: {
|
|
1550
1568
|
cid?: string | undefined;
|
|
1551
1569
|
users?: string[] | undefined;
|
|
1570
|
+
teamsTenantId?: string | undefined;
|
|
1552
1571
|
};
|
|
1553
1572
|
copySecOpsTeam?: boolean | undefined;
|
|
1554
1573
|
};
|
|
@@ -2052,23 +2071,28 @@ export declare const _NotificationDto: z.ZodIntersection<z.ZodDiscriminatedUnion
|
|
|
2052
2071
|
to: z.ZodObject<{
|
|
2053
2072
|
cid: z.ZodOptional<z.ZodString>;
|
|
2054
2073
|
users: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
2074
|
+
teamsTenantId: z.ZodOptional<z.ZodString>;
|
|
2055
2075
|
}, "strip", z.ZodTypeAny, {
|
|
2056
2076
|
cid?: string | undefined;
|
|
2057
2077
|
users?: string[] | undefined;
|
|
2078
|
+
teamsTenantId?: string | undefined;
|
|
2058
2079
|
}, {
|
|
2059
2080
|
cid?: string | undefined;
|
|
2060
2081
|
users?: string[] | undefined;
|
|
2082
|
+
teamsTenantId?: string | undefined;
|
|
2061
2083
|
}>;
|
|
2062
2084
|
}>, "strip", z.ZodTypeAny, {
|
|
2063
2085
|
to: {
|
|
2064
2086
|
cid?: string | undefined;
|
|
2065
2087
|
users?: string[] | undefined;
|
|
2088
|
+
teamsTenantId?: string | undefined;
|
|
2066
2089
|
};
|
|
2067
2090
|
copySecOpsTeam?: boolean | undefined;
|
|
2068
2091
|
}, {
|
|
2069
2092
|
to: {
|
|
2070
2093
|
cid?: string | undefined;
|
|
2071
2094
|
users?: string[] | undefined;
|
|
2095
|
+
teamsTenantId?: string | undefined;
|
|
2072
2096
|
};
|
|
2073
2097
|
copySecOpsTeam?: boolean | undefined;
|
|
2074
2098
|
}>;
|
|
@@ -2101,6 +2125,7 @@ export declare const _NotificationDto: z.ZodIntersection<z.ZodDiscriminatedUnion
|
|
|
2101
2125
|
to: {
|
|
2102
2126
|
cid?: string | undefined;
|
|
2103
2127
|
users?: string[] | undefined;
|
|
2128
|
+
teamsTenantId?: string | undefined;
|
|
2104
2129
|
};
|
|
2105
2130
|
copySecOpsTeam?: boolean | undefined;
|
|
2106
2131
|
};
|
|
@@ -2144,6 +2169,7 @@ export declare const _NotificationDto: z.ZodIntersection<z.ZodDiscriminatedUnion
|
|
|
2144
2169
|
to: {
|
|
2145
2170
|
cid?: string | undefined;
|
|
2146
2171
|
users?: string[] | undefined;
|
|
2172
|
+
teamsTenantId?: string | undefined;
|
|
2147
2173
|
};
|
|
2148
2174
|
copySecOpsTeam?: boolean | undefined;
|
|
2149
2175
|
};
|
|
@@ -106,6 +106,7 @@ exports._TeamsDeliveryStrategy = _BaseDeliveryStrategy.merge(zod_1.z.object({
|
|
|
106
106
|
to: zod_1.z.object({
|
|
107
107
|
cid: zod_1.z.string().optional(),
|
|
108
108
|
users: zod_1.z.array(zod_1.z.string()).optional(),
|
|
109
|
+
teamsTenantId: zod_1.z.string().optional(),
|
|
109
110
|
}),
|
|
110
111
|
}));
|
|
111
112
|
exports._EmailDeliveryStrategy = _BaseDeliveryStrategy.merge(zod_1.z.object({
|
|
@@ -134,6 +135,7 @@ exports._EmailNotificationUpsertDto = exports._BaseNotificationUpsertDto.merge(z
|
|
|
134
135
|
deliveryChannel: zod_1.z.literal(DeliveryStrategyKind.EMAIL),
|
|
135
136
|
deliveryStrategy: exports._EmailDeliveryStrategy,
|
|
136
137
|
}));
|
|
138
|
+
// TODO : deliveryStrategy should not be part of NotificationUpsertDto, bots should extract the required fields from saas entities
|
|
137
139
|
exports._TeamsNotificationUpsertDto = exports._BaseNotificationUpsertDto.merge(zod_1.z.object({
|
|
138
140
|
deliveryChannel: zod_1.z.literal(DeliveryStrategyKind.TEAMS),
|
|
139
141
|
deliveryStrategy: exports._TeamsDeliveryStrategy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.dto.js","sourceRoot":"","sources":["../../../src/dto/notification.dto.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"notification.dto.js","sourceRoot":"","sources":["../../../src/dto/notification.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FindingDto } from '../dto';
|
|
1
2
|
export declare const fillJsonPathTemplate: (raw: string, meta: unknown) => string;
|
|
2
3
|
/**
|
|
3
4
|
* @param rawTemplateString Template string with placeholders in the format of {{path.to.value}}
|
|
@@ -6,3 +7,4 @@ export declare const fillJsonPathTemplate: (raw: string, meta: unknown) => strin
|
|
|
6
7
|
* @note Ensure that meta object does not contain any information that should not be exposed to end users
|
|
7
8
|
*/
|
|
8
9
|
export declare const fillDynamicPropertyTemplate: (rawTemplateString: string, meta: unknown) => string;
|
|
10
|
+
export declare const buildDynamicVariablesContext: (finding: FindingDto) => Map<string, unknown>;
|
|
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.fillDynamicPropertyTemplate = exports.fillJsonPathTemplate = void 0;
|
|
6
|
+
exports.buildDynamicVariablesContext = exports.fillDynamicPropertyTemplate = exports.fillJsonPathTemplate = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const constants_1 = require("./constants");
|
|
8
9
|
const JSON_PATH_PATTERN = /(\$\.(?:(?:[a-zA-Z0-9_]+)(?:\.[a-zA-Z0-9_]+)*)?)/g;
|
|
9
10
|
const DYNAMIC_PROPERTY_PATTERN = /\{\{([^}]+)\}\}/g;
|
|
10
11
|
// @deprecated : consider using fillDynamicPropertyTemplate
|
|
@@ -54,4 +55,33 @@ const fillDynamicPropertyTemplate = (rawTemplateString, meta) => {
|
|
|
54
55
|
return result;
|
|
55
56
|
};
|
|
56
57
|
exports.fillDynamicPropertyTemplate = fillDynamicPropertyTemplate;
|
|
58
|
+
const populateDynamicVariablesEntityData = (entityProperties, baseObject, fallbackObject = undefined) => {
|
|
59
|
+
const entityData = {};
|
|
60
|
+
for (const key in entityProperties) {
|
|
61
|
+
const findingKeyPath = entityProperties[key];
|
|
62
|
+
entityData[key] = lodash_1.default.get(baseObject, findingKeyPath) || (fallbackObject ? lodash_1.default.get(fallbackObject, findingKeyPath) : undefined);
|
|
63
|
+
}
|
|
64
|
+
return entityData;
|
|
65
|
+
};
|
|
66
|
+
const buildDynamicVariablesContext = (finding) => {
|
|
67
|
+
var _a;
|
|
68
|
+
const entityMap = new Map();
|
|
69
|
+
for (const entityName in constants_1.DYNAMIC_VARIABLES.ALLOWED_ENTITIES) {
|
|
70
|
+
const entityKey = constants_1.DYNAMIC_VARIABLES.ALLOWED_ENTITIES[entityName];
|
|
71
|
+
const entityProperties = constants_1.DYNAMIC_VARIABLES.ALLOWED_ENTITY_KEYS[entityKey];
|
|
72
|
+
let entityData = {};
|
|
73
|
+
if (entityName === 'finding') {
|
|
74
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding);
|
|
75
|
+
}
|
|
76
|
+
else if (entityName === 'user' && ((_a = finding.meta) === null || _a === void 0 ? void 0 : _a._user)) {
|
|
77
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding);
|
|
78
|
+
}
|
|
79
|
+
else if (entityName === 'asset' && finding.asset) {
|
|
80
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding.asset, finding);
|
|
81
|
+
}
|
|
82
|
+
entityMap.set(entityName, entityData);
|
|
83
|
+
}
|
|
84
|
+
return entityMap;
|
|
85
|
+
};
|
|
86
|
+
exports.buildDynamicVariablesContext = buildDynamicVariablesContext;
|
|
57
87
|
//# sourceMappingURL=ContentTemplateService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTemplateService.js","sourceRoot":"","sources":["../../../src/services/ContentTemplateService.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,MAAM,iBAAiB,GAAG,mDAAmD,CAAC;AAC9E,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAEpD,2DAA2D;AACpD,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,EAAE;IACjE,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,KAAK,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEF;;;;;GAKG;AACI,MAAM,2BAA2B,GAAG,CAAC,iBAAyB,EAAE,IAAa,EAAE,EAAE;IACtF,IAAI,MAAM,GAAG,iBAAiB,CAAC;IAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,yCAAyC;gBACzC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,0CAA0C;gBAC1C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,2BAA2B,+BAoBtC"}
|
|
1
|
+
{"version":3,"file":"ContentTemplateService.js","sourceRoot":"","sources":["../../../src/services/ContentTemplateService.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,3 +58,33 @@ export declare const REPORTS: {
|
|
|
58
58
|
SELF_HEALED: string;
|
|
59
59
|
HEALTH_SCORE_TREND: string;
|
|
60
60
|
};
|
|
61
|
+
export declare class DYNAMIC_VARIABLES {
|
|
62
|
+
static readonly ALLOWED_ENTITIES: {
|
|
63
|
+
finding: string;
|
|
64
|
+
user: string;
|
|
65
|
+
asset: string;
|
|
66
|
+
};
|
|
67
|
+
static readonly ALLOWED_ENTITY_KEYS: {
|
|
68
|
+
finding: {
|
|
69
|
+
displayValue: string;
|
|
70
|
+
description: string;
|
|
71
|
+
discoveredAt: string;
|
|
72
|
+
category: string;
|
|
73
|
+
severity: string;
|
|
74
|
+
kind: string;
|
|
75
|
+
};
|
|
76
|
+
user: {
|
|
77
|
+
firstName: string;
|
|
78
|
+
lastName: string;
|
|
79
|
+
organization: string;
|
|
80
|
+
department: string;
|
|
81
|
+
title: string;
|
|
82
|
+
email: string;
|
|
83
|
+
};
|
|
84
|
+
asset: {
|
|
85
|
+
displayValue: string;
|
|
86
|
+
serialNumber: string;
|
|
87
|
+
macAddress: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REPORTS = exports.KIND = exports.TARGET_API_ENGAGE = exports.TARGET_API_AGENT = exports.TARGET_API_PLATFORM = exports.DEFAULT_TREND_WINDOW_MONTHS = void 0;
|
|
3
|
+
exports.DYNAMIC_VARIABLES = exports.REPORTS = exports.KIND = exports.TARGET_API_ENGAGE = exports.TARGET_API_AGENT = exports.TARGET_API_PLATFORM = exports.DEFAULT_TREND_WINDOW_MONTHS = void 0;
|
|
4
4
|
exports.DEFAULT_TREND_WINDOW_MONTHS = 6;
|
|
5
5
|
exports.TARGET_API_PLATFORM = 'platform';
|
|
6
6
|
exports.TARGET_API_AGENT = 'api';
|
|
@@ -58,4 +58,39 @@ exports.REPORTS = {
|
|
|
58
58
|
// trending reports
|
|
59
59
|
HEALTH_SCORE_TREND: 'monthly-health-trend',
|
|
60
60
|
};
|
|
61
|
+
class DYNAMIC_VARIABLES {
|
|
62
|
+
}
|
|
63
|
+
exports.DYNAMIC_VARIABLES = DYNAMIC_VARIABLES;
|
|
64
|
+
DYNAMIC_VARIABLES.ALLOWED_ENTITIES = {
|
|
65
|
+
// Public Keys : Private Keys
|
|
66
|
+
finding: 'finding',
|
|
67
|
+
user: 'user',
|
|
68
|
+
asset: 'asset',
|
|
69
|
+
};
|
|
70
|
+
DYNAMIC_VARIABLES.ALLOWED_ENTITY_KEYS = {
|
|
71
|
+
finding: {
|
|
72
|
+
// Public Keys : Private Keys
|
|
73
|
+
displayValue: 'displayValue',
|
|
74
|
+
description: 'description',
|
|
75
|
+
discoveredAt: 'discoveredAt',
|
|
76
|
+
category: 'category',
|
|
77
|
+
severity: 'severity',
|
|
78
|
+
kind: 'kind',
|
|
79
|
+
},
|
|
80
|
+
user: {
|
|
81
|
+
// Public Keys : Private Keys
|
|
82
|
+
firstName: 'meta._user.firstName',
|
|
83
|
+
lastName: 'meta._user.lastName',
|
|
84
|
+
organization: 'meta._user.organization',
|
|
85
|
+
department: 'meta._user.department',
|
|
86
|
+
title: 'meta._user.title',
|
|
87
|
+
email: 'meta._user.primaryEmail',
|
|
88
|
+
},
|
|
89
|
+
asset: {
|
|
90
|
+
// Public Keys : Private Keys
|
|
91
|
+
displayValue: 'displayValue',
|
|
92
|
+
serialNumber: 'meta._asset.sn',
|
|
93
|
+
macAddress: 'meta._asset.macs',
|
|
94
|
+
},
|
|
95
|
+
};
|
|
61
96
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":";;;AAIa,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAGhC,QAAA,mBAAmB,GAAc,UAAU,CAAC;AAC5C,QAAA,gBAAgB,GAAc,KAAK,CAAC;AACpC,QAAA,iBAAiB,GAAc,KAAK,CAAC;AAErC,QAAA,IAAI,GAAG;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,wBAAwB,EAAE,0BAA0B;IACpD,gBAAgB,EAAE,aAAa;IAC/B,kBAAkB,EAAE,eAAe;IACnC,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;IACtC,aAAa,EAAE,gBAAgB;IAC/B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,UAAU;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEW,QAAA,OAAO,GAAG;IACrB,YAAY,EAAE,cAAc;IAC5B,yBAAyB,EAAE,qCAAqC;IAChE,yBAAyB,EAAE,qCAAqC;IAChE,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,2BAA2B,EAAE,6BAA6B;IAC1D,YAAY,EAAE,0BAA0B;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,mBAAmB;IACnB,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":";;;AAIa,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAGhC,QAAA,mBAAmB,GAAc,UAAU,CAAC;AAC5C,QAAA,gBAAgB,GAAc,KAAK,CAAC;AACpC,QAAA,iBAAiB,GAAc,KAAK,CAAC;AAErC,QAAA,IAAI,GAAG;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,wBAAwB,EAAE,0BAA0B;IACpD,gBAAgB,EAAE,aAAa;IAC/B,kBAAkB,EAAE,eAAe;IACnC,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;IACtC,aAAa,EAAE,gBAAgB;IAC/B,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,UAAU;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEW,QAAA,OAAO,GAAG;IACrB,YAAY,EAAE,cAAc;IAC5B,yBAAyB,EAAE,qCAAqC;IAChE,yBAAyB,EAAE,qCAAqC;IAChE,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,2BAA2B,EAAE,6BAA6B;IAC1D,YAAY,EAAE,0BAA0B;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,mBAAmB;IACnB,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC;AAEF,MAAa,iBAAiB;;AAA9B,8CAkCC;AAjCiB,kCAAgB,GAAG;IACjC,6BAA6B;IAC7B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACf,CAAC;AAEc,qCAAmB,GAAG;IACpC,OAAO,EAAE;QACP,6BAA6B;QAC7B,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;QAC5B,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;KACb;IACD,IAAI,EAAE;QACJ,6BAA6B;QAC7B,SAAS,EAAE,sBAAsB;QACjC,QAAQ,EAAE,qBAAqB;QAC/B,YAAY,EAAE,yBAAyB;QACvC,UAAU,EAAE,uBAAuB;QACnC,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,yBAAyB;KACjC;IACD,KAAK,EAAE;QACL,6BAA6B;QAC7B,YAAY,EAAE,cAAc;QAC5B,YAAY,EAAE,gBAAgB;QAC9B,UAAU,EAAE,kBAAkB;KAC/B;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -120,6 +120,7 @@ export const _TeamsDeliveryStrategy = _BaseDeliveryStrategy.merge(
|
|
|
120
120
|
to: z.object({
|
|
121
121
|
cid: z.string().optional(),
|
|
122
122
|
users: z.array(z.string()).optional(),
|
|
123
|
+
teamsTenantId: z.string().optional(),
|
|
123
124
|
}),
|
|
124
125
|
})
|
|
125
126
|
);
|
|
@@ -166,6 +167,7 @@ export const _EmailNotificationUpsertDto = _BaseNotificationUpsertDto.merge(
|
|
|
166
167
|
);
|
|
167
168
|
export type EmailNotificationUpsertDto = z.infer<typeof _EmailNotificationUpsertDto>;
|
|
168
169
|
|
|
170
|
+
// TODO : deliveryStrategy should not be part of NotificationUpsertDto, bots should extract the required fields from saas entities
|
|
169
171
|
export const _TeamsNotificationUpsertDto = _BaseNotificationUpsertDto.merge(
|
|
170
172
|
z.object({
|
|
171
173
|
deliveryChannel: z.literal(DeliveryStrategyKind.TEAMS),
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
+
import {DYNAMIC_VARIABLES} from './constants';
|
|
3
|
+
import {FindingDto} from '../dto';
|
|
2
4
|
const JSON_PATH_PATTERN = /(\$\.(?:(?:[a-zA-Z0-9_]+)(?:\.[a-zA-Z0-9_]+)*)?)/g;
|
|
3
5
|
const DYNAMIC_PROPERTY_PATTERN = /\{\{([^}]+)\}\}/g;
|
|
4
6
|
|
|
@@ -46,3 +48,40 @@ export const fillDynamicPropertyTemplate = (rawTemplateString: string, meta: unk
|
|
|
46
48
|
}
|
|
47
49
|
return result;
|
|
48
50
|
};
|
|
51
|
+
|
|
52
|
+
const populateDynamicVariablesEntityData = (
|
|
53
|
+
entityProperties: Record<string, string>,
|
|
54
|
+
baseObject: Record<string, unknown> | undefined,
|
|
55
|
+
fallbackObject: Record<string, unknown> | undefined = undefined
|
|
56
|
+
): Record<string, unknown> => {
|
|
57
|
+
const entityData: Record<string, unknown> = {};
|
|
58
|
+
for (const key in entityProperties) {
|
|
59
|
+
const findingKeyPath = entityProperties[key];
|
|
60
|
+
entityData[key] = _.get(baseObject, findingKeyPath) || (fallbackObject ? _.get(fallbackObject, findingKeyPath) : undefined);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return entityData;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const buildDynamicVariablesContext = (finding: FindingDto): Map<string, unknown> => {
|
|
67
|
+
const entityMap: Map<string, unknown> = new Map();
|
|
68
|
+
|
|
69
|
+
for (const entityName in DYNAMIC_VARIABLES.ALLOWED_ENTITIES) {
|
|
70
|
+
const entityKey = DYNAMIC_VARIABLES.ALLOWED_ENTITIES[entityName as keyof typeof DYNAMIC_VARIABLES.ALLOWED_ENTITIES];
|
|
71
|
+
const entityProperties = DYNAMIC_VARIABLES.ALLOWED_ENTITY_KEYS[entityKey as keyof typeof DYNAMIC_VARIABLES.ALLOWED_ENTITY_KEYS];
|
|
72
|
+
|
|
73
|
+
let entityData: Record<string, unknown> = {};
|
|
74
|
+
|
|
75
|
+
if (entityName === 'finding') {
|
|
76
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding);
|
|
77
|
+
} else if (entityName === 'user' && finding.meta?._user) {
|
|
78
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding);
|
|
79
|
+
} else if (entityName === 'asset' && finding.asset) {
|
|
80
|
+
entityData = populateDynamicVariablesEntityData(entityProperties, finding.asset, finding);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
entityMap.set(entityName, entityData);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return entityMap;
|
|
87
|
+
};
|
|
@@ -63,3 +63,39 @@ export const REPORTS = {
|
|
|
63
63
|
// trending reports
|
|
64
64
|
HEALTH_SCORE_TREND: 'monthly-health-trend',
|
|
65
65
|
};
|
|
66
|
+
|
|
67
|
+
export class DYNAMIC_VARIABLES {
|
|
68
|
+
static readonly ALLOWED_ENTITIES = {
|
|
69
|
+
// Public Keys : Private Keys
|
|
70
|
+
finding: 'finding',
|
|
71
|
+
user: 'user',
|
|
72
|
+
asset: 'asset',
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
static readonly ALLOWED_ENTITY_KEYS = {
|
|
76
|
+
finding: {
|
|
77
|
+
// Public Keys : Private Keys
|
|
78
|
+
displayValue: 'displayValue',
|
|
79
|
+
description: 'description',
|
|
80
|
+
discoveredAt: 'discoveredAt',
|
|
81
|
+
category: 'category',
|
|
82
|
+
severity: 'severity',
|
|
83
|
+
kind: 'kind',
|
|
84
|
+
},
|
|
85
|
+
user: {
|
|
86
|
+
// Public Keys : Private Keys
|
|
87
|
+
firstName: 'meta._user.firstName',
|
|
88
|
+
lastName: 'meta._user.lastName',
|
|
89
|
+
organization: 'meta._user.organization',
|
|
90
|
+
department: 'meta._user.department',
|
|
91
|
+
title: 'meta._user.title',
|
|
92
|
+
email: 'meta._user.primaryEmail',
|
|
93
|
+
},
|
|
94
|
+
asset: {
|
|
95
|
+
// Public Keys : Private Keys
|
|
96
|
+
displayValue: 'displayValue',
|
|
97
|
+
serialNumber: 'meta._asset.sn',
|
|
98
|
+
macAddress: 'meta._asset.macs',
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|