Fix version get

This commit is contained in:
Geometrically
2021-01-27 08:46:38 -07:00
parent 8ad19585cb
commit 4a5d46915d
4 changed files with 139 additions and 141 deletions

View File

@@ -429,34 +429,34 @@ impl Mod {
if let Some(m) = result {
Ok(Some(QueryMod {
inner: Mod {
id: ModId(m.id.clone()),
team_id: TeamId(m.team_id.clone()),
id: ModId(m.id),
team_id: TeamId(m.team_id),
title: m.title.clone(),
description: m.description.clone(),
downloads: m.downloads.clone(),
downloads: m.downloads,
body_url: m.body_url.clone(),
icon_url: m.icon_url.clone(),
published: m.published.clone(),
updated: m.updated.clone(),
published: m.published,
updated: m.updated,
issues_url: m.issues_url.clone(),
source_url: m.source_url.clone(),
wiki_url: m.wiki_url.clone(),
license_url: m.license_url.clone(),
discord_url: m.discord_url.clone(),
client_side: SideTypeId(m.client_side.clone()),
status: StatusId(m.status.clone()),
server_side: SideTypeId(m.server_side.clone()),
license: LicenseId(m.license.clone()),
client_side: SideTypeId(m.client_side),
status: StatusId(m.status),
server_side: SideTypeId(m.server_side),
license: LicenseId(m.license),
slug: m.slug.clone(),
body: m.body.clone(),
},
categories: m.categories.clone().unwrap_or(vec![]),
categories: m.categories.clone().unwrap_or_default(),
versions: m
.versions
.clone()
.unwrap_or(vec![])
.unwrap_or_default()
.into_iter()
.map(|v| VersionId(v))
.map(VersionId)
.collect(),
donation_urls: vec![],
status: crate::models::mods::ModStatus::from_str(&m.status_name),
@@ -506,29 +506,29 @@ impl Mod {
.try_filter_map(|e| async {
Ok(e.right().map(|m| QueryMod {
inner: Mod {
id: ModId(m.id.clone()),
team_id: TeamId(m.team_id.clone()),
id: ModId(m.id),
team_id: TeamId(m.team_id),
title: m.title.clone(),
description: m.description.clone(),
downloads: m.downloads.clone(),
downloads: m.downloads,
body_url: m.body_url.clone(),
icon_url: m.icon_url.clone(),
published: m.published.clone(),
updated: m.updated.clone(),
published: m.published,
updated: m.updated,
issues_url: m.issues_url.clone(),
source_url: m.source_url.clone(),
wiki_url: m.wiki_url.clone(),
license_url: m.license_url.clone(),
discord_url: m.discord_url.clone(),
client_side: SideTypeId(m.client_side.clone()),
status: StatusId(m.status.clone()),
server_side: SideTypeId(m.server_side.clone()),
license: LicenseId(m.license.clone()),
client_side: SideTypeId(m.client_side),
status: StatusId(m.status),
server_side: SideTypeId(m.server_side),
license: LicenseId(m.license),
slug: m.slug.clone(),
body: m.body.clone(),
},
categories: m.categories.clone().unwrap_or(vec![]),
versions: m.versions.clone().unwrap_or(vec![]).into_iter().map(|v| VersionId(v)).collect(),
categories: m.categories.clone().unwrap_or_default(),
versions: m.versions.clone().unwrap_or_default().into_iter().map(VersionId).collect(),
donation_urls: vec![],
status: crate::models::mods::ModStatus::from_str(&m.status_name),
license_id: m.short,

View File

@@ -467,7 +467,7 @@ impl Version {
rc.channel release_channel, v.featured featured,
ARRAY_AGG(gv.version ORDER BY gv.created) game_versions, ARRAY_AGG(DISTINCT l.loader) loaders,
ARRAY_AGG(DISTINCT f.id || ', ' || f.filename || ', ' || f.is_primary || ', ' || f.url) files,
ARRAY_AGG(DISTINCT h.hash || ', ' || h.algorithm || ', ' || h.file_id) hashes
ARRAY_AGG(DISTINCT h.algorithm || ', ' || encode(h.hash, 'escape') || ', ' || h.file_id) hashes
FROM versions v
INNER JOIN release_channels rc on v.release_channel = rc.id
INNER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id
@@ -487,7 +487,7 @@ impl Version {
if let Some(v) = result {
let mut hashes: Vec<(FileId, String, Vec<u8>)> = Vec::new();
v.hashes.unwrap_or(vec![]).into_iter().for_each(|f| {
v.hashes.unwrap_or_default().into_iter().for_each(|f| {
let hash: Vec<&str> = f.split(", ").collect();
hashes.push((
FileId(hash[2].parse().unwrap_or(0)),
@@ -509,7 +509,7 @@ impl Version {
release_channel: v.release_channel,
files: v
.files
.unwrap_or(vec![])
.unwrap_or_default()
.into_iter()
.map(|f| {
let file: Vec<&str> = f.split(", ").collect();
@@ -531,8 +531,8 @@ impl Version {
}
})
.collect(),
game_versions: v.game_versions.unwrap_or(vec![]),
loaders: v.loaders.unwrap_or(vec![]),
game_versions: v.game_versions.unwrap_or_default(),
loaders: v.loaders.unwrap_or_default(),
featured: v.featured,
}))
} else {
@@ -576,7 +576,7 @@ impl Version {
Ok(e.right().map(|v| {
let mut hashes : Vec<(FileId, String, Vec<u8>)> = Vec::new();
v.hashes.unwrap_or(vec![]).into_iter().for_each(|f| {
v.hashes.unwrap_or_default().into_iter().for_each(|f| {
let hash : Vec<&str> = f.split(", ").collect();
hashes.push((FileId(hash[2].parse().unwrap_or(0)), hash[0].to_string(), hash[1].to_string().into_bytes()));
});
@@ -592,7 +592,7 @@ impl Version {
date_published: v.date_published,
downloads: v.downloads,
release_channel: v.release_channel,
files: v.files.unwrap_or(vec![]).into_iter().map(|f| {
files: v.files.unwrap_or_default().into_iter().map(|f| {
let file : Vec<&str> = f.split(", ").collect();
let file_id = FileId(file[0].parse().unwrap_or(0));
let mut file_hashes = HashMap::new();
@@ -611,8 +611,8 @@ impl Version {
primary: file[3].parse().unwrap_or(false)
}
}).collect(),
game_versions: v.game_versions.unwrap_or(vec![]),
loaders: v.loaders.unwrap_or(vec![]),
game_versions: v.game_versions.unwrap_or_default(),
loaders: v.loaders.unwrap_or_default(),
featured: v.featured,
}
}))