Fix dep route again (#316)

This commit is contained in:
Geometrically 2022-03-05 13:09:19 -07:00 committed by GitHub
parent caed86d846
commit 18f34b4f83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 36 deletions

View File

@ -731,38 +731,6 @@
"nullable": []
}
},
"298dd4ca44f2f154897ac7e1dca5a4c8f0528805fb10aae991e20b7daf6b3093": {
"query": "\n SELECT d.dependency_id, vd.mod_id, d.mod_dependency_id\n FROM versions v\n INNER JOIN dependencies d ON d.dependent_id = v.id\n INNER JOIN versions vd ON d.dependency_id = vd.id\n WHERE v.mod_id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "dependency_id",
"type_info": "Int8"
},
{
"ordinal": 1,
"name": "mod_id",
"type_info": "Int8"
},
{
"ordinal": 2,
"name": "mod_dependency_id",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": [
true,
false,
true
]
}
},
"29e657d26f0fb24a766f5b5eb6a94d01d1616884d8ca10e91536e974d5b585a6": {
"query": "\n INSERT INTO loaders_versions (loader_id, version_id)\n VALUES ($1, $2)\n ",
"describe": {
@ -3796,6 +3764,38 @@
"nullable": []
}
},
"b464a2ca83b073d251ae2a5bd3ed94167c2dfc2046b38b6ef3aa30c46aaf5ad9": {
"query": "\n SELECT d.dependency_id, vd.mod_id, d.mod_dependency_id\n FROM versions v\n INNER JOIN dependencies d ON d.dependent_id = v.id\n LEFT JOIN versions vd ON d.dependency_id = vd.id\n WHERE v.mod_id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "dependency_id",
"type_info": "Int8"
},
{
"ordinal": 1,
"name": "mod_id",
"type_info": "Int8"
},
{
"ordinal": 2,
"name": "mod_dependency_id",
"type_info": "Int8"
}
],
"parameters": {
"Left": [
"Int8"
]
},
"nullable": [
true,
false,
true
]
}
},
"b69a6f42965b3e7103fcbf46e39528466926789ff31e9ed2591bb175527ec169": {
"query": "\n DELETE FROM users\n WHERE id = $1\n ",
"describe": {

View File

@ -115,7 +115,7 @@ pub async fn dependency_list(
SELECT d.dependency_id, vd.mod_id, d.mod_dependency_id
FROM versions v
INNER JOIN dependencies d ON d.dependent_id = v.id
INNER JOIN versions vd ON d.dependency_id = vd.id
LEFT JOIN versions vd ON d.dependency_id = vd.id
WHERE v.mod_id = $1
",
id as database::models::ProjectId
@ -125,14 +125,18 @@ pub async fn dependency_list(
Ok(e.right().map(|x| {
(
x.dependency_id.map(database::models::VersionId),
database::models::ProjectId(x.mod_id),
if x.mod_id == 0 {
None
} else {
Some(database::models::ProjectId(x.mod_id))
},
x.mod_dependency_id.map(database::models::ProjectId),
)
}))
})
.try_collect::<Vec<(
Option<database::models::VersionId>,
database::models::ProjectId,
Option<database::models::ProjectId>,
Option<database::models::ProjectId>,
)>>()
.await?;
@ -143,13 +147,14 @@ pub async fn dependency_list(
.iter()
.map(|x| if x.0.is_none() {
if let Some(mod_dependency_id) = x.2 {
mod_dependency_id
Some(mod_dependency_id)
} else {
x.1
}
} else {
x.1
})
.flatten()
.collect(),
&**pool,
),