Fix dependencies route only showing one dependency per version (#229)

This commit is contained in:
Geometrically 2021-07-28 11:34:47 -07:00 committed by GitHub
parent 5b8612c919
commit 66becbc4cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 23 deletions

View File

@ -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()

View File

@ -188,30 +188,36 @@ pub async fn dependency_list(
)
.await?;
let mut response: HashMap<models::projects::VersionId, DependencyInfo> = HashMap::new();
let mut response: HashMap<models::projects::VersionId, Vec<DependencyInfo>> =
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))