diff --git a/src/routes/auth.rs b/src/routes/auth.rs index 892ccf5b9..d598f97e1 100644 --- a/src/routes/auth.rs +++ b/src/routes/auth.rs @@ -229,9 +229,9 @@ pub async fn auth_callback( transaction.commit().await?; let redirect_url = if result.url.contains("?") { - format!("{}&code={}", result.url, token.access_token) + format!("{}&code={}", result.url, token.access_token) } else { - format!("{}?code={}", result.url, token.access_token) + format!("{}?code={}", result.url, token.access_token) }; Ok(HttpResponse::TemporaryRedirect() diff --git a/src/routes/projects.rs b/src/routes/projects.rs index 447c31e1c..9de15c568 100644 --- a/src/routes/projects.rs +++ b/src/routes/projects.rs @@ -188,30 +188,36 @@ pub async fn dependency_list( ) .await?; - let mut response: HashMap = HashMap::new(); + let mut response: HashMap> = + HashMap::new(); for dependency in dependencies { - response.insert( - dependency.0.into(), - DependencyInfo { - project: if let Some(id) = dependency.2 { - projects - .iter() - .find(|x| x.inner.id == id) - .map(|x| convert_project(x.clone())) - } else { - None - }, - version: if let Some(id) = dependency.1 { - versions - .iter() - .find(|x| x.id == id) - .map(|x| super::versions::convert_version(x.clone())) - } else { - None - }, + let deps = response.get_mut(&dependency.0.into()); + + let info = DependencyInfo { + project: if let Some(id) = dependency.2 { + projects + .iter() + .find(|x| x.inner.id == id) + .map(|x| convert_project(x.clone())) + } else { + None }, - ); + version: if let Some(id) = dependency.1 { + versions + .iter() + .find(|x| x.id == id) + .map(|x| super::versions::convert_version(x.clone())) + } else { + None + }, + }; + + if let Some(deps) = deps { + deps.push(info); + } else { + response.insert(dependency.0.into(), vec![info]); + } } Ok(HttpResponse::Ok().json(response))