Skip to content

Commit 72e2347

Browse files
add environmentsList
1 parent 0f70cfd commit 72e2347

File tree

4 files changed

+50
-0
lines changed

4 files changed

+50
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
export default class CxEnvironment {
2+
id: string;
3+
name: string;
4+
url: string;
5+
scanType: string;
6+
createdAt: string;
7+
riskRating: string;
8+
lastScanTime: string;
9+
lastStatus: string
10+
11+
static parseEnvironment(resultObject: any): CxEnvironment[] {
12+
let environments: CxEnvironment[] = [];
13+
14+
const parseEnvironment = (result: any): CxEnvironment => {
15+
const environment = new CxEnvironment();
16+
environment.id = result.EnvironmentID;
17+
environment.name = result.Domain;
18+
environment.url = result.URL;
19+
environment.scanType = result.ScanType;
20+
environment.createdAt = result.Created;
21+
environment.riskRating = result.RiskRating;
22+
environment.lastScanTime = result.LastScanTime;
23+
environment.lastStatus = result.LastStatus;
24+
return environment;
25+
}
26+
27+
if (resultObject instanceof Array) {
28+
environments = resultObject.map((result: any) => parseEnvironment(result));
29+
} else {
30+
const environment = parseEnvironment(resultObject)
31+
environments.push(environment);
32+
}
33+
return environments;
34+
}
35+
}

src/main/wrapper/CxConstants.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export enum CxConstants {
3030
CMD_AUTH = "auth",
3131
SUB_CMD_VALIDATE = "validate",
3232
CMD_PROJECT = "project",
33+
CMD_ENVIRONMENTS = "environments",
3334
SUB_CMD_BRANCHES = "branches",
3435
CMD_SCAN = "scan",
3536
SUB_CMD_SHOW = "show",
@@ -98,6 +99,7 @@ export enum CxConstants {
9899
SCAN_SECRETS = "CxSecrets",
99100
SCAN_CONTAINERS_REALTIME = "CxContainersRealtime",
100101
PROJECT_TYPE = "CxProject",
102+
ENVIRONMENT_TYPE = "CxEnvironment",
101103
PREDICATE_TYPE = "CxPredicate",
102104
CODE_BASHING_TYPE = "CxCodeBashing",
103105
KICS_REALTIME_TYPE = "CxKicsRealTime",

src/main/wrapper/CxWrapper.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,14 @@ export class CxWrapper {
275275
return await exec.executeCommands(this.config.pathToExecutable, commands, CxConstants.PROJECT_TYPE);
276276
}
277277

278+
async environmentsList(filters: string): Promise<CxCommandOutput> {
279+
const validated_filters = this.filterArguments(filters);
280+
const commands: string[] = ([CxConstants.CMD_ENVIRONMENTS, CxConstants.SUB_CMD_LIST] as string[]).concat(validated_filters);
281+
commands.push(...this.initializeCommands(true));
282+
const exec = new ExecutionService();
283+
return await exec.executeCommands(this.config.pathToExecutable, commands, CxConstants.ENVIRONMENT_TYPE);
284+
}
285+
278286
async projectBranches(projectId: string, filters: string): Promise<CxCommandOutput> {
279287
// Verify and add possible branch filter by name
280288
const validated_filters = this.filterArguments(CxConstants.BRANCH_NAME + filters)

src/main/wrapper/ExecutionService.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import CxOssResult from "../oss/CxOss";
2727
import CxSecretsResult from "../secrets/CxSecrets";
2828
import CxContainerRealtimeResult from "../containersRealtime/CxContainerRealtime";
2929
import CxIacResult from "../iacRealtime/CxIac";
30+
import CxEnvironment from "../environment/CxEnvironment";
3031

3132
let skipValue = false;
3233
const fileSourceFlag = "--file-source"
@@ -229,6 +230,10 @@ export class ExecutionService {
229230
const projects = CxProject.parseProject(resultObject);
230231
cxCommandOutput.payload = projects;
231232
break;
233+
case CxConstants.ENVIRONMENT_TYPE:
234+
const environments = CxEnvironment.parseEnvironment(resultObject);
235+
cxCommandOutput.payload = environments;
236+
break;
232237
case CxConstants.CODE_BASHING_TYPE:
233238
const codeBashing = CxCodeBashing.parseCodeBashing(resultObject);
234239
cxCommandOutput.payload = codeBashing;

0 commit comments

Comments
 (0)