Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
*/
package com.fortify.cli.sc_dast.scan.cli.cmd.action;

import java.util.Collections;
import java.util.Map;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
Expand Down Expand Up @@ -43,12 +46,21 @@ public final JsonNode getJsonNode() {
SCDastScanDescriptor descriptor = scanResolver.getScanDescriptor(unirest);
ObjectNode body = new ObjectMapper().createObjectNode()
.put("scanActionType", getAction().name());
unirest.post("/api/v2/scans/{id}/scan-action")
.routeParam("id", descriptor.getId())
.body(body)
var request = unirest.post("/api/v2/scans/{id}/scan-action")
.routeParam("id", descriptor.getId());
getQueryParameters().forEach(request::queryString);
request.body(body)
.asString().getBody(); // TODO Does SC DAST return proper HTTP codes if there are any errors, or should we parse the response?
return descriptor.asJsonNode();
}

/**
* Subclasses can override this method to provide additional query parameters
* for the scan-action request.
*/
protected Map<String, Object> getQueryParameters() {
return Collections.emptyMap();
}

@Override
public final String getActionCommandResult() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,32 @@
*/
package com.fortify.cli.sc_dast.scan.cli.cmd.action;

import java.util.Collections;
import java.util.Map;

import com.fortify.cli.common.output.cli.mixin.OutputHelperMixins;

import lombok.Getter;
import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;

@Command(name = OutputHelperMixins.Delete.CMD_NAME)
public class SCDastScanDeleteCommand extends AbstractSCDastScanActionCommand {
@Getter @Mixin private OutputHelperMixins.Delete outputHelper;

@Getter @Mixin private OutputHelperMixins.Delete outputHelper;
@Option(names = {"--force-delete", "-f"}, description = "Force deletion of the scan by adding forceDelete=true query parameter")
private boolean forceDelete;

@Override
protected SCDastScanAction getAction() {
return SCDastScanAction.DeleteScan;
}

@Override
protected Map<String, Object> getQueryParameters() {
if (forceDelete) {
return Map.of("forceDelete", "true");
}
return Collections.emptyMap();
}
}
Loading