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?;
|
||||
|
||||
// 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!(
|
||||
"
|
||||
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;
|
||||
|
||||
if let Some(versions_item) = versions_item {
|
||||
game_versions = versions_item
|
||||
.version_fields
|
||||
.iter()
|
||||
.find(|f| f.field_name == "game_versions")
|
||||
.and_then(|f| MinecraftGameVersion::try_from_version_field(f).ok())
|
||||
.map(|v| v.into_iter().map(|v| v.version).collect())
|
||||
.unwrap_or(Vec::new());
|
||||
game_versions = data
|
||||
.fields
|
||||
.get("game_versions")
|
||||
.unwrap_or(&Vec::new())
|
||||
.iter()
|
||||
.filter_map(|v| v.as_str())
|
||||
.map(|v| v.to_string())
|
||||
.collect();
|
||||
|
||||
if let Some(versions_item) = versions_item {
|
||||
// Extract side types from remaining fields (singleplayer, client_only, etc)
|
||||
let fields = versions_item
|
||||
.version_fields
|
||||
|
||||
@@ -824,6 +824,7 @@ pub async fn version_list(
|
||||
}
|
||||
|
||||
response.sort();
|
||||
response.reverse();
|
||||
response.dedup_by(|a, b| a.inner.id == b.inner.id);
|
||||
|
||||
let response = filter_visible_versions(response, &user_option, &pool, &redis).await?;
|
||||
|
||||
Reference in New Issue
Block a user