Skip to content

Commit 7687e99

Browse files
committed
auto discovery on SCA after adding repository
1 parent 4e64d1b commit 7687e99

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/main/java/io/mixeway/api/project/controller/OperateOnAssets.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
import org.springframework.web.bind.annotation.*;
2121

2222
import java.io.IOException;
23-
import java.security.Principal;
23+
import java.security.*;
24+
import java.security.cert.CertificateException;
2425
import java.util.List;
2526
import java.util.Optional;
2627

@@ -38,7 +39,7 @@ public class OperateOnAssets {
3839

3940
@PreAuthorize("hasAuthority('ROLE_PROJECT_OWNER')")
4041
@PostMapping("/create/project/{id}")
41-
public ResponseEntity<?> processAsset(@RequestBody String json, @PathVariable("id") Long id, Principal principal) throws IOException {
42+
public ResponseEntity<?> processAsset(@RequestBody String json, @PathVariable("id") Long id, Principal principal) throws IOException, UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException {
4243
Optional<Project> project = findProjectService.findProjectById(id);
4344
if(project.isPresent() && permissionFactory.canUserAccessProject(principal, project.get())) {
4445
JsonNode rootNode = objectMapper.readTree(json);

src/main/java/io/mixeway/api/project/service/OperateOnAssetsService.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,17 @@
2121
import io.mixeway.domain.service.scanmanager.webapp.UpdateWebAppService;
2222
import io.mixeway.domain.service.vulnhistory.OperateOnVulnHistoryService;
2323
import io.mixeway.domain.service.vulnmanager.VulnTemplate;
24+
import io.mixeway.scanmanager.service.opensource.OpenSourceScanService;
2425
import io.mixeway.utils.PermissionFactory;
2526
import lombok.RequiredArgsConstructor;
2627
import lombok.extern.log4j.Log4j2;
2728
import org.springframework.http.HttpStatus;
2829
import org.springframework.http.ResponseEntity;
2930
import org.springframework.stereotype.Service;
3031

31-
import java.security.Principal;
32+
import java.io.IOException;
33+
import java.security.*;
34+
import java.security.cert.CertificateException;
3235
import java.time.LocalDateTime;
3336
import java.time.format.DateTimeFormatter;
3437
import java.util.*;
@@ -58,11 +61,15 @@ public class OperateOnAssetsService {
5861
private final FindCiOperationsService findCiOperationsService;
5962
private final GetAssetDashboardService getAssetDashboardService;
6063
private final FindAssetHistoryService findAssetHistoryService;
64+
private final OpenSourceScanService openSourceScanService;
6165

62-
public CodeProject createCodeProject(JsonNode rootNode, Project project, Principal principal) {
66+
public CodeProject createCodeProject(JsonNode rootNode, Project project, Principal principal) throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, KeyManagementException {
6367
String repositoryType = rootNode.path("repositoryType").asText();
6468
if (repositoryType.equals("single")) {
65-
return createSingleCodeProject(rootNode, project, principal);
69+
CodeProject codeProject = createSingleCodeProject(rootNode, project, principal);
70+
openSourceScanService.createProjectOnOpenSourceScanner(codeProject);
71+
72+
return codeProject;
6673
} else if (repositoryType.equals("multiple")) {
6774
return createMultipleCodeProject(rootNode, project, principal);
6875
}

0 commit comments

Comments
 (0)