@ampsec/platform-client 58.3.3 → 58.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/services/settings.service.d.ts +9 -10
- package/build/src/services/settings.service.js +57 -43
- package/build/src/services/settings.service.js.map +1 -1
- package/build/src/settings.d.ts +10 -6
- package/build/src/settings.js +9 -7
- package/build/src/settings.js.map +1 -1
- package/package.json +1 -1
- package/src/services/settings.service.ts +66 -50
- package/src/settings.ts +10 -8
|
@@ -5,13 +5,11 @@ export type TypedAmpSettingsKey<T> = {
|
|
|
5
5
|
id: AmpSettingKey;
|
|
6
6
|
defaultValue: T;
|
|
7
7
|
};
|
|
8
|
-
export type RawAmpSettingsMap =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export type TenantSettingsMap = {
|
|
12
|
-
tenantSettings: RawAmpSettingsMap;
|
|
8
|
+
export type RawAmpSettingsMap = Record<AmpSettingKey, unknown>;
|
|
9
|
+
export type TenantSettingsMap<ValT> = {
|
|
10
|
+
tenantSettings: Record<AmpSettingKey, ValT>;
|
|
13
11
|
connectorSettings: {
|
|
14
|
-
[cid: string]:
|
|
12
|
+
[cid: string]: Record<AmpSettingKey, ValT>;
|
|
15
13
|
};
|
|
16
14
|
};
|
|
17
15
|
export declare class AmpSettingsService {
|
|
@@ -33,7 +31,6 @@ export declare class AmpSettingsService {
|
|
|
33
31
|
value: unknown;
|
|
34
32
|
}[]) => Promise<AmpSettingDto[]>;
|
|
35
33
|
delete: (id: string) => Promise<AmpSettingDto>;
|
|
36
|
-
static formatSettingMap: (settings: AmpSettingDto[], valuesOnly?: boolean) => TenantSettingsMap;
|
|
37
34
|
}
|
|
38
35
|
export declare class AmpSdkSettingsService {
|
|
39
36
|
protected readonly rest: RestClient;
|
|
@@ -49,15 +46,17 @@ export declare class AmpSdkSettingsService {
|
|
|
49
46
|
create: <T>(key: string | T, value: unknown, tid: string, cid: string | null) => Promise<AmpSettingDto>;
|
|
50
47
|
update: (id: string, entity: AmpSettingUpsertDto) => Promise<AmpSettingDto>;
|
|
51
48
|
delete: (id: string) => Promise<AmpSettingDto>;
|
|
52
|
-
static formatSettingMap: (settings: AmpSettingDto[], valuesOnly?: boolean) => TenantSettingsMap;
|
|
53
49
|
}
|
|
54
50
|
export declare class AmpSettingsMap {
|
|
55
51
|
private readonly settings;
|
|
56
52
|
private readonly rawSettingsList;
|
|
57
|
-
constructor(settings: TenantSettingsMap
|
|
53
|
+
constructor(settings: TenantSettingsMap<unknown>, rawSettingsList: AmpSettingDto[]);
|
|
58
54
|
getGlobalSetting: <T>(key: TypedAmpSettingsKey<T>) => T;
|
|
59
55
|
getConnectorSetting: <T>(cid: string, key: TypedAmpSettingsKey<T>) => T;
|
|
56
|
+
getGlobalDto: <T>(key: TypedAmpSettingsKey<T>) => AmpSettingDto | undefined;
|
|
57
|
+
getConnectorDto: <T>(cid: string, key: TypedAmpSettingsKey<T>) => AmpSettingDto | undefined;
|
|
60
58
|
getConnectorSettings: (cid: string) => RawAmpSettingsMap | undefined;
|
|
61
|
-
|
|
59
|
+
getConnectorDtos: (cid: string) => AmpSettingDto[];
|
|
60
|
+
getRawMap: () => TenantSettingsMap<AmpSettingDto>;
|
|
62
61
|
static asKey: <T>(key: AmpSettingKey, defaultValue?: T | undefined) => TypedAmpSettingsKey<T>;
|
|
63
62
|
}
|
|
@@ -5,6 +5,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.AmpSettingsMap = exports.AmpSdkSettingsService = exports.AmpSettingsService = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const formatSettingMap = (settings) => {
|
|
9
|
+
const rawSettingsMap = {
|
|
10
|
+
tenantSettings: {},
|
|
11
|
+
connectorSettings: {},
|
|
12
|
+
};
|
|
13
|
+
settings.forEach(setting => {
|
|
14
|
+
if (setting.cid) {
|
|
15
|
+
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
16
|
+
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
17
|
+
}
|
|
18
|
+
rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting.value;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
rawSettingsMap.tenantSettings[setting.key] = setting.value;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return rawSettingsMap;
|
|
25
|
+
};
|
|
26
|
+
const formatDtoMap = (settings) => {
|
|
27
|
+
const rawSettingsMap = {
|
|
28
|
+
tenantSettings: {},
|
|
29
|
+
connectorSettings: {},
|
|
30
|
+
};
|
|
31
|
+
settings.forEach(setting => {
|
|
32
|
+
if (setting.cid) {
|
|
33
|
+
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
34
|
+
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
35
|
+
}
|
|
36
|
+
rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
rawSettingsMap.tenantSettings[setting.key] = setting;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return rawSettingsMap;
|
|
43
|
+
};
|
|
8
44
|
class AmpSettingsService {
|
|
9
45
|
constructor(rest, targetApi = 'api') {
|
|
10
46
|
this.getSettingsMap = async (tid) => {
|
|
@@ -16,11 +52,16 @@ class AmpSettingsService {
|
|
|
16
52
|
const page = res.data;
|
|
17
53
|
const settings = page.data;
|
|
18
54
|
settings.forEach(setting => {
|
|
19
|
-
if (lodash_1.default.isString(setting.value)
|
|
20
|
-
|
|
55
|
+
if (lodash_1.default.isString(setting.value)) {
|
|
56
|
+
try {
|
|
57
|
+
setting.value = JSON.parse(setting.value);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// ignore JSON parse errors since I want to return the raw value
|
|
61
|
+
}
|
|
21
62
|
}
|
|
22
63
|
});
|
|
23
|
-
const rawSettingsMap =
|
|
64
|
+
const rawSettingsMap = formatSettingMap(settings);
|
|
24
65
|
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
25
66
|
};
|
|
26
67
|
this.createMultiple = async (keyValues, cid) => {
|
|
@@ -80,24 +121,6 @@ class AmpSettingsService {
|
|
|
80
121
|
}
|
|
81
122
|
}
|
|
82
123
|
exports.AmpSettingsService = AmpSettingsService;
|
|
83
|
-
AmpSettingsService.formatSettingMap = (settings, valuesOnly = true) => {
|
|
84
|
-
const rawSettingsMap = {
|
|
85
|
-
tenantSettings: {},
|
|
86
|
-
connectorSettings: {},
|
|
87
|
-
};
|
|
88
|
-
settings.forEach(setting => {
|
|
89
|
-
if (setting.cid) {
|
|
90
|
-
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
91
|
-
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
92
|
-
}
|
|
93
|
-
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
return rawSettingsMap;
|
|
100
|
-
};
|
|
101
124
|
class AmpSdkSettingsService {
|
|
102
125
|
constructor(rest) {
|
|
103
126
|
this.getSettingsMap = async (tid) => {
|
|
@@ -109,16 +132,16 @@ class AmpSdkSettingsService {
|
|
|
109
132
|
const page = res.data;
|
|
110
133
|
const settings = page.data;
|
|
111
134
|
settings.forEach(setting => {
|
|
112
|
-
if (lodash_1.default.isString(setting.value)
|
|
135
|
+
if (lodash_1.default.isString(setting.value)) {
|
|
113
136
|
try {
|
|
114
137
|
setting.value = JSON.parse(setting.value);
|
|
115
138
|
}
|
|
116
139
|
catch (_e) {
|
|
117
|
-
//
|
|
140
|
+
// ignore JSON parse errors since I want to return the raw value
|
|
118
141
|
}
|
|
119
142
|
}
|
|
120
143
|
});
|
|
121
|
-
const rawSettingsMap =
|
|
144
|
+
const rawSettingsMap = formatSettingMap(settings);
|
|
122
145
|
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
123
146
|
};
|
|
124
147
|
this.createMultiple = async (keyValues) => {
|
|
@@ -174,24 +197,6 @@ class AmpSdkSettingsService {
|
|
|
174
197
|
}
|
|
175
198
|
}
|
|
176
199
|
exports.AmpSdkSettingsService = AmpSdkSettingsService;
|
|
177
|
-
AmpSdkSettingsService.formatSettingMap = (settings, valuesOnly = true) => {
|
|
178
|
-
const rawSettingsMap = {
|
|
179
|
-
tenantSettings: {},
|
|
180
|
-
connectorSettings: {},
|
|
181
|
-
};
|
|
182
|
-
settings.forEach(setting => {
|
|
183
|
-
if (setting.cid) {
|
|
184
|
-
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
185
|
-
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
186
|
-
}
|
|
187
|
-
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
return rawSettingsMap;
|
|
194
|
-
};
|
|
195
200
|
class AmpSettingsMap {
|
|
196
201
|
constructor(settings, rawSettingsList) {
|
|
197
202
|
this.rawSettingsList = new Array();
|
|
@@ -216,14 +221,23 @@ class AmpSettingsMap {
|
|
|
216
221
|
}
|
|
217
222
|
return key.defaultValue;
|
|
218
223
|
};
|
|
224
|
+
this.getGlobalDto = (key) => {
|
|
225
|
+
return this.rawSettingsList.find(s => s.cid === null && s.key === key.id);
|
|
226
|
+
};
|
|
227
|
+
this.getConnectorDto = (cid, key) => {
|
|
228
|
+
return this.rawSettingsList.find(s => s.cid === cid && s.key === key.id);
|
|
229
|
+
};
|
|
219
230
|
this.getConnectorSettings = (cid) => {
|
|
220
231
|
if (!this.settings.connectorSettings[cid]) {
|
|
221
232
|
return undefined;
|
|
222
233
|
}
|
|
223
234
|
return lodash_1.default.clone(this.settings.connectorSettings[cid]);
|
|
224
235
|
};
|
|
236
|
+
this.getConnectorDtos = (cid) => {
|
|
237
|
+
return this.rawSettingsList.filter(s => s.cid === cid);
|
|
238
|
+
};
|
|
225
239
|
this.getRawMap = () => {
|
|
226
|
-
return
|
|
240
|
+
return formatDtoMap(this.rawSettingsList);
|
|
227
241
|
};
|
|
228
242
|
this.settings = settings;
|
|
229
243
|
this.rawSettingsList = rawSettingsList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAoBvB,MAAa,kBAAkB;IAG7B,YAAY,IAAgB,EAAE,YAAuB,KAAK;QAK1D,mBAAc,GAAG,KAAK,EAAE,GAAY,EAA2B,EAAE;YAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,cAAc;gBACrC,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,EAAC,GAAG,EAAC;aACd,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2B,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,IAAI,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../src/services/settings.service.ts"],"names":[],"mappings":"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"}
|
package/build/src/settings.d.ts
CHANGED
|
@@ -63,6 +63,16 @@ export declare const AMP_SETTINGS: {
|
|
|
63
63
|
/********************
|
|
64
64
|
* PROVIDERS *
|
|
65
65
|
********************/
|
|
66
|
+
crowdstrike: {
|
|
67
|
+
CROWDSTRIKE_ETL_VULN_ENABLED: import("./services").TypedAmpSettingsKey<boolean>;
|
|
68
|
+
CROWDSTRIKE_ETL_VULN_FILTER_BLOB: import("./services").TypedAmpSettingsKey<{
|
|
69
|
+
filter: string;
|
|
70
|
+
}>;
|
|
71
|
+
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
72
|
+
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
73
|
+
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
74
|
+
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
75
|
+
};
|
|
66
76
|
google: {
|
|
67
77
|
GOOGLE_EXECUTIVE_GROUPS: import("./services").TypedAmpSettingsKey<string[]>;
|
|
68
78
|
GOOGLE_PROD_ACCESS_GROUPS: import("./services").TypedAmpSettingsKey<string[]>;
|
|
@@ -97,10 +107,4 @@ export declare const AMP_SETTINGS: {
|
|
|
97
107
|
TENABLE_VULN_MEDIUM_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
98
108
|
TENABLE_VULN_LOW_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
99
109
|
};
|
|
100
|
-
crowdstrike: {
|
|
101
|
-
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
102
|
-
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
103
|
-
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
104
|
-
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: import("./services").TypedAmpSettingsKey<string>;
|
|
105
|
-
};
|
|
106
110
|
};
|
package/build/src/settings.js
CHANGED
|
@@ -50,6 +50,14 @@ const GLOBAL_CONNECTOR_DEFAULT_SETTINGS = {
|
|
|
50
50
|
/********************
|
|
51
51
|
* PROVIDERS *
|
|
52
52
|
********************/
|
|
53
|
+
const CROWDSTRIKE_SETTINGS = {
|
|
54
|
+
CROWDSTRIKE_ETL_VULN_ENABLED: services_1.AmpSettingsMap.asKey('tenable.etl.vuln.enabled', true),
|
|
55
|
+
CROWDSTRIKE_ETL_VULN_FILTER_BLOB: services_1.AmpSettingsMap.asKey('_tenable.etl.vuln.filter.blob', { filter: "status:!'closed'" }),
|
|
56
|
+
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.crit.deadline', '1 day'),
|
|
57
|
+
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.high.deadline', '7 day'),
|
|
58
|
+
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.medium.deadline', '30 day'),
|
|
59
|
+
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.low.deadline', '90 day'),
|
|
60
|
+
};
|
|
53
61
|
const GOOGLE_SETTINGS = {
|
|
54
62
|
GOOGLE_EXECUTIVE_GROUPS: services_1.AmpSettingsMap.asKey('google.groups.exec.extIds', []),
|
|
55
63
|
GOOGLE_PROD_ACCESS_GROUPS: services_1.AmpSettingsMap.asKey('google.groups.prod.extIds', []),
|
|
@@ -85,12 +93,6 @@ const TENABLE_SETTINGS = {
|
|
|
85
93
|
TENABLE_VULN_MEDIUM_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('tenable.vuln.medium.deadline', '30 day'),
|
|
86
94
|
TENABLE_VULN_LOW_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('tenable.vuln.low.deadline', '90 day'),
|
|
87
95
|
};
|
|
88
|
-
const CROWDSTRIKE_SETTINGS = {
|
|
89
|
-
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.crit.deadline', '1 day'),
|
|
90
|
-
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.high.deadline', '7 day'),
|
|
91
|
-
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.medium.deadline', '30 day'),
|
|
92
|
-
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: services_1.AmpSettingsMap.asKey('crowdstrike.vuln.low.deadline', '90 day'),
|
|
93
|
-
};
|
|
94
96
|
/**
|
|
95
97
|
* Collection of hard coded settings to be use centrally across services and user interfaces.
|
|
96
98
|
*
|
|
@@ -128,11 +130,11 @@ exports.AMP_SETTINGS = {
|
|
|
128
130
|
/********************
|
|
129
131
|
* PROVIDERS *
|
|
130
132
|
********************/
|
|
133
|
+
crowdstrike: { ...CROWDSTRIKE_SETTINGS },
|
|
131
134
|
google: { ...GOOGLE_SETTINGS },
|
|
132
135
|
okta: { ...OKTA_SETTINGS },
|
|
133
136
|
slack: { ...SLACK_SETTINGS },
|
|
134
137
|
knowBe4: { ...KNOWBE4_SETTINGS },
|
|
135
138
|
tenable: { ...TENABLE_SETTINGS },
|
|
136
|
-
crowdstrike: { ...CROWDSTRIKE_SETTINGS },
|
|
137
139
|
};
|
|
138
140
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":";;;AACA,yCAA0C;AAE1C;;2BAE2B;AAC3B;;;;GAIG;AACH,MAAM,eAAe,GAAG;IACtB,oEAAoE;IACpE,UAAU,EAAE,yBAAc,CAAC,KAAK,CAAU,iCAAiC,EAAE,IAAI,CAAC;IAClF,4CAA4C;IAC5C,YAAY,EAAE,yBAAc,CAAC,KAAK,CAAU,eAAe,EAAE,KAAK,CAAC;IACnE,sDAAsD;IACtD,mBAAmB,EAAE,yBAAc,CAAC,KAAK,CAAsB,0BAA0B,CAAC;IAC1F;;;;;;;OAOG;IACH,cAAc,EAAE,yBAAc,CAAC,KAAK,CAAS,iBAAiB,EAAE,SAAS,CAAC;IAC1E;;OAEG;IACH,mBAAmB,EAAE,yBAAc,CAAC,KAAK,CAAS,yBAAyB,CAAC;IAC5E;;OAEG;IACH,qBAAqB,EAAE,yBAAc,CAAC,KAAK,CAAU,uBAAuB,CAAC;IAC7E;;OAEG;IACH,qCAAqC,EAAE,yBAAc,CAAC,KAAK,CAAU,uBAAuB,EAAE,KAAK,CAAC;CACrG,CAAC;AAEF;;;GAGG;AACH,MAAM,iCAAiC,GAAG;IACxC,0CAA0C;IAC1C,qBAAqB,EAAE,yBAAc,CAAC,KAAK,CAAU,uBAAuB,EAAE,KAAK,CAAC;CACrF,CAAC;AAEF;;sBAEsB;AACtB,MAAM,eAAe,GAAG;IACtB,uBAAuB,EAAE,yBAAc,CAAC,KAAK,CAAW,2BAA2B,EAAE,EAAE,CAAC;IACxF,yBAAyB,EAAE,yBAAc,CAAC,KAAK,CAAW,2BAA2B,EAAE,EAAE,CAAC;IAC1F,yBAAyB,EAAE,yBAAc,CAAC,KAAK,CAAW,2BAA2B,EAAE,EAAE,CAAC;IAC1F,uBAAuB,EAAE,yBAAc,CAAC,KAAK,CAAW,+BAA+B,EAAE,EAAE,CAAC;CAC7F,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,oBAAoB,EAAE,yBAAc,CAAC,KAAK,CAAS,4BAA4B,EAAE,SAAS,CAAC;CAC5F,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,qBAAqB,EAAE,yBAAc,CAAC,KAAK,CAAW,yBAAyB,EAAE,EAAE,CAAC;IACpF,uBAAuB,EAAE,yBAAc,CAAC,KAAK,CAAW,yBAAyB,EAAE,EAAE,CAAC;IACtF,uBAAuB,EAAE,yBAAc,CAAC,KAAK,CAAW,yBAAyB,EAAE,EAAE,CAAC;IACtF,qBAAqB,EAAE,yBAAc,CAAC,KAAK,CAAW,6BAA6B,EAAE,EAAE,CAAC;CACzF,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,wDAAwD;IACxD,aAAa,EAAE,yBAAc,CAAC,KAAK,CAAS,kBAAkB,CAAC;IAC/D,sBAAsB,EAAE,yBAAc,CAAC,KAAK,CAAW,0BAA0B,EAAE,EAAE,CAAC;IACtF,wBAAwB,EAAE,yBAAc,CAAC,KAAK,CAAW,0BAA0B,EAAE,EAAE,CAAC;IACxF,wBAAwB,EAAE,yBAAc,CAAC,KAAK,CAAW,0BAA0B,EAAE,EAAE,CAAC;IACxF,sBAAsB,EAAE,yBAAc,CAAC,KAAK,CAAW,8BAA8B,EAAE,EAAE,CAAC;IAC1F,8BAA8B,EAAE,yBAAc,CAAC,KAAK,CAAqB,+BAA+B,CAAC;IACzG,6GAA6G;IAC7G,+BAA+B,EAAE,yBAAc,CAAC,KAAK,CACnD,iCAAiC,EACjC,oHAAoH,CACrH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,kCAAkC,EAAE,yBAAc,CAAC,KAAK,CAAS,mCAAmC,EAAE,QAAQ,CAAC;IAC/G,2BAA2B,EAAE,yBAAc,CAAC,KAAK,CAAU,6BAA6B,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;IAChH,gCAAgC,EAAE,yBAAc,CAAC,KAAK,CAAS,kCAAkC,EAAE,QAAQ,CAAC;IAC5G,oCAAoC,EAAE,yBAAc,CAAC,KAAK,CAAS,4BAA4B,EAAE,OAAO,CAAC;IACzG,oCAAoC,EAAE,yBAAc,CAAC,KAAK,CAAS,4BAA4B,EAAE,OAAO,CAAC;IACzG,sCAAsC,EAAE,yBAAc,CAAC,KAAK,CAAS,8BAA8B,EAAE,QAAQ,CAAC;IAC9G,mCAAmC,EAAE,yBAAc,CAAC,KAAK,CAAS,2BAA2B,EAAE,QAAQ,CAAC;CACzG,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,15 +9,51 @@ export type TypedAmpSettingsKey<T> = {
|
|
|
9
9
|
defaultValue: T;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
export type RawAmpSettingsMap =
|
|
12
|
+
export type RawAmpSettingsMap = Record<AmpSettingKey, unknown>;
|
|
13
13
|
|
|
14
|
-
export type TenantSettingsMap = {
|
|
15
|
-
tenantSettings:
|
|
14
|
+
export type TenantSettingsMap<ValT> = {
|
|
15
|
+
tenantSettings: Record<AmpSettingKey, ValT>;
|
|
16
16
|
connectorSettings: {
|
|
17
|
-
[cid: string]:
|
|
17
|
+
[cid: string]: Record<AmpSettingKey, ValT>;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
+
const formatSettingMap = (settings: AmpSettingDto[]): TenantSettingsMap<unknown> => {
|
|
22
|
+
const rawSettingsMap: TenantSettingsMap<unknown> = {
|
|
23
|
+
tenantSettings: {},
|
|
24
|
+
connectorSettings: {},
|
|
25
|
+
};
|
|
26
|
+
settings.forEach(setting => {
|
|
27
|
+
if (setting.cid) {
|
|
28
|
+
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
29
|
+
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
30
|
+
}
|
|
31
|
+
rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting.value;
|
|
32
|
+
} else {
|
|
33
|
+
rawSettingsMap.tenantSettings[setting.key] = setting.value;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return rawSettingsMap;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const formatDtoMap = (settings: AmpSettingDto[]): TenantSettingsMap<AmpSettingDto> => {
|
|
40
|
+
const rawSettingsMap: TenantSettingsMap<AmpSettingDto> = {
|
|
41
|
+
tenantSettings: {},
|
|
42
|
+
connectorSettings: {},
|
|
43
|
+
};
|
|
44
|
+
settings.forEach(setting => {
|
|
45
|
+
if (setting.cid) {
|
|
46
|
+
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
47
|
+
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
48
|
+
}
|
|
49
|
+
rawSettingsMap.connectorSettings[setting.cid][setting.key] = setting;
|
|
50
|
+
} else {
|
|
51
|
+
rawSettingsMap.tenantSettings[setting.key] = setting;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return rawSettingsMap;
|
|
55
|
+
};
|
|
56
|
+
|
|
21
57
|
export class AmpSettingsService {
|
|
22
58
|
protected readonly rest: RestClient;
|
|
23
59
|
protected readonly targetApi: string;
|
|
@@ -35,11 +71,15 @@ export class AmpSettingsService {
|
|
|
35
71
|
const page = res.data as Page<AmpSettingDto>;
|
|
36
72
|
const settings = page.data;
|
|
37
73
|
settings.forEach(setting => {
|
|
38
|
-
if (_.isString(setting.value)
|
|
39
|
-
|
|
74
|
+
if (_.isString(setting.value)) {
|
|
75
|
+
try {
|
|
76
|
+
setting.value = JSON.parse(setting.value);
|
|
77
|
+
} catch (error) {
|
|
78
|
+
// ignore JSON parse errors since I want to return the raw value
|
|
79
|
+
}
|
|
40
80
|
}
|
|
41
81
|
});
|
|
42
|
-
const rawSettingsMap: TenantSettingsMap =
|
|
82
|
+
const rawSettingsMap: TenantSettingsMap<unknown> = formatSettingMap(settings);
|
|
43
83
|
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
44
84
|
};
|
|
45
85
|
|
|
@@ -99,24 +139,6 @@ export class AmpSettingsService {
|
|
|
99
139
|
const settings = page.data as AmpSettingDto[];
|
|
100
140
|
return settings[0];
|
|
101
141
|
};
|
|
102
|
-
|
|
103
|
-
static formatSettingMap = (settings: AmpSettingDto[], valuesOnly = true): TenantSettingsMap => {
|
|
104
|
-
const rawSettingsMap: TenantSettingsMap = {
|
|
105
|
-
tenantSettings: {},
|
|
106
|
-
connectorSettings: {},
|
|
107
|
-
};
|
|
108
|
-
settings.forEach(setting => {
|
|
109
|
-
if (setting.cid) {
|
|
110
|
-
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
111
|
-
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
112
|
-
}
|
|
113
|
-
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
114
|
-
} else {
|
|
115
|
-
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
return rawSettingsMap;
|
|
119
|
-
};
|
|
120
142
|
}
|
|
121
143
|
|
|
122
144
|
export class AmpSdkSettingsService {
|
|
@@ -136,15 +158,15 @@ export class AmpSdkSettingsService {
|
|
|
136
158
|
const page = res.data as Page<AmpSettingDto>;
|
|
137
159
|
const settings = page.data;
|
|
138
160
|
settings.forEach(setting => {
|
|
139
|
-
if (_.isString(setting.value)
|
|
161
|
+
if (_.isString(setting.value)) {
|
|
140
162
|
try {
|
|
141
163
|
setting.value = JSON.parse(setting.value);
|
|
142
164
|
} catch (_e) {
|
|
143
|
-
//
|
|
165
|
+
// ignore JSON parse errors since I want to return the raw value
|
|
144
166
|
}
|
|
145
167
|
}
|
|
146
168
|
});
|
|
147
|
-
const rawSettingsMap: TenantSettingsMap =
|
|
169
|
+
const rawSettingsMap: TenantSettingsMap<unknown> = formatSettingMap(settings);
|
|
148
170
|
return new AmpSettingsMap(rawSettingsMap, settings);
|
|
149
171
|
};
|
|
150
172
|
|
|
@@ -196,31 +218,13 @@ export class AmpSdkSettingsService {
|
|
|
196
218
|
const settings = page.data as AmpSettingDto[];
|
|
197
219
|
return settings[0];
|
|
198
220
|
};
|
|
199
|
-
|
|
200
|
-
static formatSettingMap = (settings: AmpSettingDto[], valuesOnly = true): TenantSettingsMap => {
|
|
201
|
-
const rawSettingsMap: TenantSettingsMap = {
|
|
202
|
-
tenantSettings: {},
|
|
203
|
-
connectorSettings: {},
|
|
204
|
-
};
|
|
205
|
-
settings.forEach(setting => {
|
|
206
|
-
if (setting.cid) {
|
|
207
|
-
if (!rawSettingsMap.connectorSettings[setting.cid]) {
|
|
208
|
-
rawSettingsMap.connectorSettings[setting.cid] = {};
|
|
209
|
-
}
|
|
210
|
-
rawSettingsMap.connectorSettings[setting.cid][setting.key] = valuesOnly ? setting.value : setting;
|
|
211
|
-
} else {
|
|
212
|
-
rawSettingsMap.tenantSettings[setting.key] = valuesOnly ? setting.value : setting;
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
return rawSettingsMap;
|
|
216
|
-
};
|
|
217
221
|
}
|
|
218
222
|
|
|
219
223
|
export class AmpSettingsMap {
|
|
220
|
-
private readonly settings: TenantSettingsMap
|
|
224
|
+
private readonly settings: TenantSettingsMap<unknown>;
|
|
221
225
|
private readonly rawSettingsList = new Array<AmpSettingDto>();
|
|
222
226
|
|
|
223
|
-
constructor(settings: TenantSettingsMap
|
|
227
|
+
constructor(settings: TenantSettingsMap<unknown>, rawSettingsList: AmpSettingDto[]) {
|
|
224
228
|
this.settings = settings;
|
|
225
229
|
this.rawSettingsList = rawSettingsList;
|
|
226
230
|
}
|
|
@@ -248,6 +252,14 @@ export class AmpSettingsMap {
|
|
|
248
252
|
return key.defaultValue;
|
|
249
253
|
};
|
|
250
254
|
|
|
255
|
+
getGlobalDto = <T>(key: TypedAmpSettingsKey<T>): AmpSettingDto | undefined => {
|
|
256
|
+
return this.rawSettingsList.find(s => s.cid === null && s.key === key.id);
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
getConnectorDto = <T>(cid: string, key: TypedAmpSettingsKey<T>): AmpSettingDto | undefined => {
|
|
260
|
+
return this.rawSettingsList.find(s => s.cid === cid && s.key === key.id);
|
|
261
|
+
};
|
|
262
|
+
|
|
251
263
|
getConnectorSettings = (cid: string): RawAmpSettingsMap | undefined => {
|
|
252
264
|
if (!this.settings.connectorSettings[cid]) {
|
|
253
265
|
return undefined;
|
|
@@ -255,8 +267,12 @@ export class AmpSettingsMap {
|
|
|
255
267
|
return _.clone(this.settings.connectorSettings[cid]);
|
|
256
268
|
};
|
|
257
269
|
|
|
258
|
-
|
|
259
|
-
return
|
|
270
|
+
getConnectorDtos = (cid: string): AmpSettingDto[] => {
|
|
271
|
+
return this.rawSettingsList.filter(s => s.cid === cid);
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
getRawMap = (): TenantSettingsMap<AmpSettingDto> => {
|
|
275
|
+
return formatDtoMap(this.rawSettingsList);
|
|
260
276
|
};
|
|
261
277
|
|
|
262
278
|
static asKey = <T>(key: AmpSettingKey, defaultValue?: T): TypedAmpSettingsKey<T> => {
|
package/src/settings.ts
CHANGED
|
@@ -51,6 +51,15 @@ const GLOBAL_CONNECTOR_DEFAULT_SETTINGS = {
|
|
|
51
51
|
/********************
|
|
52
52
|
* PROVIDERS *
|
|
53
53
|
********************/
|
|
54
|
+
const CROWDSTRIKE_SETTINGS = {
|
|
55
|
+
CROWDSTRIKE_ETL_VULN_ENABLED: AmpSettingsMap.asKey<boolean>('tenable.etl.vuln.enabled', true),
|
|
56
|
+
CROWDSTRIKE_ETL_VULN_FILTER_BLOB: AmpSettingsMap.asKey<{filter: string}>('_tenable.etl.vuln.filter.blob', {filter: "status:!'closed'"}),
|
|
57
|
+
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.crit.deadline', '1 day'),
|
|
58
|
+
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.high.deadline', '7 day'),
|
|
59
|
+
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.medium.deadline', '30 day'),
|
|
60
|
+
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.low.deadline', '90 day'),
|
|
61
|
+
};
|
|
62
|
+
|
|
54
63
|
const GOOGLE_SETTINGS = {
|
|
55
64
|
GOOGLE_EXECUTIVE_GROUPS: AmpSettingsMap.asKey<string[]>('google.groups.exec.extIds', []),
|
|
56
65
|
GOOGLE_PROD_ACCESS_GROUPS: AmpSettingsMap.asKey<string[]>('google.groups.prod.extIds', []),
|
|
@@ -94,13 +103,6 @@ const TENABLE_SETTINGS = {
|
|
|
94
103
|
TENABLE_VULN_LOW_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('tenable.vuln.low.deadline', '90 day'),
|
|
95
104
|
};
|
|
96
105
|
|
|
97
|
-
const CROWDSTRIKE_SETTINGS = {
|
|
98
|
-
CROWDSTRIKE_VULN_CRIT_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.crit.deadline', '1 day'),
|
|
99
|
-
CROWDSTRIKE_VULN_HIGH_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.high.deadline', '7 day'),
|
|
100
|
-
CROWDSTRIKE_VULN_MEDIUM_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.medium.deadline', '30 day'),
|
|
101
|
-
CROWDSTRIKE_VULN_LOW_DEADLINE_THRESHOLD: AmpSettingsMap.asKey<string>('crowdstrike.vuln.low.deadline', '90 day'),
|
|
102
|
-
};
|
|
103
|
-
|
|
104
106
|
/**
|
|
105
107
|
* Collection of hard coded settings to be use centrally across services and user interfaces.
|
|
106
108
|
*
|
|
@@ -138,10 +140,10 @@ export const AMP_SETTINGS = {
|
|
|
138
140
|
/********************
|
|
139
141
|
* PROVIDERS *
|
|
140
142
|
********************/
|
|
143
|
+
crowdstrike: {...CROWDSTRIKE_SETTINGS},
|
|
141
144
|
google: {...GOOGLE_SETTINGS},
|
|
142
145
|
okta: {...OKTA_SETTINGS},
|
|
143
146
|
slack: {...SLACK_SETTINGS},
|
|
144
147
|
knowBe4: {...KNOWBE4_SETTINGS},
|
|
145
148
|
tenable: {...TENABLE_SETTINGS},
|
|
146
|
-
crowdstrike: {...CROWDSTRIKE_SETTINGS},
|
|
147
149
|
};
|