refactor: rip out the legacy TrackedRepository / repositories path (#161)
CI / Check (push) Has been skipped
CI / Detect Changes (push) Successful in 3s
CI / Deploy Agent (push) Successful in 8m20s
CI / Deploy Dashboard (push) Successful in 3m13s
CI / Deploy Docs (push) Has been skipped
CI / Deploy MCP (push) Successful in 2m7s

This commit was merged in pull request #161.
This commit is contained in:
2026-07-16 07:25:45 +00:00
parent 87f240b26f
commit a981311413
46 changed files with 386 additions and 2123 deletions
@@ -4,8 +4,9 @@ use dioxus_free_icons::Icon;
use crate::app::Route;
use crate::infrastructure::dast::fetch_dast_targets;
use crate::infrastructure::onboarding::fetch_targets;
use crate::infrastructure::pentest::{create_pentest_session_wizard, lookup_repo_by_url};
use crate::infrastructure::repositories::{fetch_repositories, fetch_ssh_public_key};
use crate::infrastructure::repositories::fetch_ssh_public_key;
const DISCLAIMER_TEXT: &str = "I confirm that I have authorization to perform security testing \
against the specified target. I understand that penetration testing may cause disruption to the \
@@ -39,7 +40,7 @@ pub fn PentestWizard(show: Signal<bool>) -> Element {
let mut show_target_dropdown = use_signal(|| false);
let mut show_repo_dropdown = use_signal(|| false);
let existing_targets = use_resource(|| async { fetch_dast_targets().await.ok() });
let existing_repos = use_resource(|| async { fetch_repositories(1).await.ok() });
let existing_repos = use_resource(|| async { fetch_targets().await.ok() });
// SSH key state for private repos
let mut ssh_public_key = use_signal(String::new);
@@ -211,7 +212,25 @@ pub fn PentestWizard(show: Signal<bool>) -> Element {
Some(Some(data)) => data
.data
.iter()
.map(|r| (r.git_url.clone(), r.name.clone()))
.filter_map(|t| {
let name = t
.get("name")
.and_then(|v| v.as_str())
.unwrap_or_default()
.to_string();
let git_url = t
.get("artifacts")
.and_then(|a| a.as_array())
.and_then(|arr| {
arr.iter().find(|a| {
a.get("kind").and_then(|k| k.as_str()) == Some("git_repo")
})
})
.and_then(|a| a.get("source_ref"))
.and_then(|s| s.as_str())?
.to_string();
Some((git_url, name))
})
.collect(),
_ => Vec::new(),
}