You've already forked AstralRinth
forked from didirus/AstralRinth
Fix hashes not showing (#496)
* Fix hashes not showing * Run prepare + fmt
This commit is contained in:
@@ -642,11 +642,11 @@ impl Version {
|
||||
.map(|x| VersionStatus::from_str(&x)),
|
||||
},
|
||||
files: {
|
||||
#[derive(Deserialize)]
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct Hash {
|
||||
pub file_id: FileId,
|
||||
pub algorithm: String,
|
||||
pub hash: Vec<u8>,
|
||||
pub hash: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
@@ -795,7 +795,7 @@ impl Version {
|
||||
struct Hash {
|
||||
pub file_id: FileId,
|
||||
pub algorithm: String,
|
||||
pub hash: Vec<u8>,
|
||||
pub hash: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@@ -907,7 +907,7 @@ pub struct QueryFile {
|
||||
pub id: FileId,
|
||||
pub url: String,
|
||||
pub filename: String,
|
||||
pub hashes: HashMap<String, Vec<u8>>,
|
||||
pub hashes: HashMap<String, String>,
|
||||
pub primary: bool,
|
||||
pub size: u32,
|
||||
}
|
||||
|
||||
@@ -452,21 +452,12 @@ impl From<QueryVersion> for Version {
|
||||
files: data
|
||||
.files
|
||||
.into_iter()
|
||||
.map(|f| {
|
||||
VersionFile {
|
||||
url: f.url,
|
||||
filename: f.filename,
|
||||
// FIXME: Hashes are currently stored as an ascii byte slice instead
|
||||
// of as an actual byte array in the database
|
||||
hashes: f
|
||||
.hashes
|
||||
.into_iter()
|
||||
.map(|(k, v)| Some((k, String::from_utf8(v).ok()?)))
|
||||
.collect::<Option<_>>()
|
||||
.unwrap_or_default(),
|
||||
primary: f.primary,
|
||||
size: f.size,
|
||||
}
|
||||
.map(|f| VersionFile {
|
||||
url: f.url,
|
||||
filename: f.filename,
|
||||
hashes: f.hashes,
|
||||
primary: f.primary,
|
||||
size: f.size,
|
||||
})
|
||||
.collect(),
|
||||
dependencies: data
|
||||
|
||||
@@ -321,8 +321,7 @@ pub async fn version_file_sha1(
|
||||
|
||||
Ok(find_file(&project_id, &project, &version, &file)
|
||||
.and_then(|file| file.hashes.get("sha1"))
|
||||
.and_then(|hash_bytes| std::str::from_utf8(hash_bytes).ok())
|
||||
.map(|hash_str| HttpResponse::Ok().body(hash_str.to_string()))
|
||||
.map(|hash_str| HttpResponse::Ok().body(hash_str.clone()))
|
||||
.unwrap_or_else(|| HttpResponse::NotFound().body("")))
|
||||
}
|
||||
|
||||
@@ -387,7 +386,6 @@ pub async fn version_file_sha512(
|
||||
|
||||
Ok(find_file(&project_id, &project, &version, &file)
|
||||
.and_then(|file| file.hashes.get("sha512"))
|
||||
.and_then(|hash_bytes| std::str::from_utf8(hash_bytes).ok())
|
||||
.map(|hash_str| HttpResponse::Ok().body(hash_str.to_string()))
|
||||
.map(|hash_str| HttpResponse::Ok().body(hash_str.clone()))
|
||||
.unwrap_or_else(|| HttpResponse::NotFound().body("")))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user