You've already forked AstralRinth
forked from didirus/AstralRinth
Fixes game versions v2 display (#827)
* fixes game versions display * reverses from version route
This commit is contained in:
@@ -765,9 +765,6 @@ impl Project {
|
|||||||
}
|
}
|
||||||
).try_collect().await?;
|
).try_collect().await?;
|
||||||
|
|
||||||
// TODO: Possible improvements to look into:
|
|
||||||
// - use multiple queries instead of CTES (for cleanliness?)
|
|
||||||
// - repeated joins to mods in separate CTEs- perhaps 1 CTE for mods and use later (in mods_gallery_json, mods_donations_json, etc.)
|
|
||||||
let db_projects: Vec<QueryProject> = sqlx::query!(
|
let db_projects: Vec<QueryProject> = sqlx::query!(
|
||||||
"
|
"
|
||||||
SELECT m.id id, m.name name, m.summary summary, m.downloads downloads, m.follows follows,
|
SELECT m.id id, m.name name, m.summary summary, m.downloads downloads, m.follows follows,
|
||||||
|
|||||||
@@ -104,15 +104,16 @@ impl LegacyProject {
|
|||||||
|
|
||||||
let mut loaders = data.loaders;
|
let mut loaders = data.loaders;
|
||||||
|
|
||||||
if let Some(versions_item) = versions_item {
|
game_versions = data
|
||||||
game_versions = versions_item
|
.fields
|
||||||
.version_fields
|
.get("game_versions")
|
||||||
.iter()
|
.unwrap_or(&Vec::new())
|
||||||
.find(|f| f.field_name == "game_versions")
|
.iter()
|
||||||
.and_then(|f| MinecraftGameVersion::try_from_version_field(f).ok())
|
.filter_map(|v| v.as_str())
|
||||||
.map(|v| v.into_iter().map(|v| v.version).collect())
|
.map(|v| v.to_string())
|
||||||
.unwrap_or(Vec::new());
|
.collect();
|
||||||
|
|
||||||
|
if let Some(versions_item) = versions_item {
|
||||||
// Extract side types from remaining fields (singleplayer, client_only, etc)
|
// Extract side types from remaining fields (singleplayer, client_only, etc)
|
||||||
let fields = versions_item
|
let fields = versions_item
|
||||||
.version_fields
|
.version_fields
|
||||||
|
|||||||
@@ -824,6 +824,7 @@ pub async fn version_list(
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.sort();
|
response.sort();
|
||||||
|
response.reverse();
|
||||||
response.dedup_by(|a, b| a.inner.id == b.inner.id);
|
response.dedup_by(|a, b| a.inner.id == b.inner.id);
|
||||||
|
|
||||||
let response = filter_visible_versions(response, &user_option, &pool, &redis).await?;
|
let response = filter_visible_versions(response, &user_option, &pool, &redis).await?;
|
||||||
|
|||||||
Reference in New Issue
Block a user