fix: mapp_err refactor & error fix

This commit is contained in:
EETagent 2022-11-14 13:27:10 +01:00
parent c352dc0212
commit ad63cc2ff5

View file

@ -155,46 +155,46 @@ impl CandidateService {
let mut writer = async_zip::write::ZipFileWriter::new(&mut archive); let mut writer = async_zip::write::ZipFileWriter::new(&mut archive);
for entry in vec!["MOTIVACNI_DOPIS.pdf", "PORTFOLIO.pdf", "PORTFOLIO.zip"] { for entry in vec!["MOTIVACNI_DOPIS.pdf", "PORTFOLIO.pdf", "PORTFOLIO.zip"] {
let entry_file = tokio::fs::File::open(cache_path.join(entry)).await; let mut entry_file = tokio::fs::File::open(cache_path.join(entry))
.await
let Ok(mut entry_file) = entry_file else { .map_err(|_| ServiceError::FileOpenError)?;
return Err(ServiceError::FileOpenError);
};
let mut contents = vec![]; let mut contents = vec![];
let read = entry_file.read_to_end(&mut contents).await;
let Ok(_) = read else { entry_file
return Err(ServiceError::FileReadError); .read_to_end(&mut contents)
}; .await
.map_err(|_| ServiceError::FileReadError)?;
let builder = let builder =
async_zip::ZipEntryBuilder::new(entry.to_string(), async_zip::Compression::Deflate); async_zip::ZipEntryBuilder::new(entry.to_string(), async_zip::Compression::Deflate);
// TODO: Ne unwrap
let mut entry_writer = writer.write_entry_stream(builder).await.unwrap(); let mut entry_writer = writer
.write_entry_stream(builder)
.await
.map_err(|_| ServiceError::FileWriteError)?;
// TODO: write_all_buf? // TODO: write_all_buf?
let write = entry_writer.write_all(&mut contents).await; entry_writer
.write_all(&mut contents)
let Ok(_) = write else { .await
return Err(ServiceError::FileWriteError); .map_err(|_| ServiceError::FileWriteError)?;
};
} }
// TODO: Ne unwrap // TODO: Ne unwrap
writer.close().await.unwrap(); writer.close().await.unwrap();
archive.shutdown().await.unwrap(); archive.shutdown().await.unwrap();
let Ok(admin_public_keys) = Query::get_all_admin_public_keys(db).await else { let admin_public_keys = Query::get_all_admin_public_keys(db)
return Err(ServiceError::DbError); .await
}; .map_err(|_| ServiceError::DbError)?;
let Ok(candidate) = Query::find_candidate_by_id(db, candidate_id).await else { let candidate = Query::find_candidate_by_id(db, candidate_id)
return Err(ServiceError::DbError); .await
}; .map_err(|_| ServiceError::DbError)?;
let Some(candidate) = candidate else { let Some(candidate) = candidate else {
return Err(ServiceError::UserNotFound); return Err(ServiceError::CandidateNotFound);
}; };
let candidate_public_key = candidate.public_key; let candidate_public_key = candidate.public_key;
@ -219,12 +219,12 @@ impl CandidateService {
} }
pub async fn get_portfolio(candidate_id: i32, db: &DbConn) -> Result<Vec<u8>, ServiceError> { pub async fn get_portfolio(candidate_id: i32, db: &DbConn) -> Result<Vec<u8>, ServiceError> {
let Ok(candidate) = Query::find_candidate_by_id(db, candidate_id).await else { let candidate = Query::find_candidate_by_id(db, candidate_id)
return Err(ServiceError::DbError); .await
}; .map_err(|_| ServiceError::DbError)?;
let Some(candidate) = candidate else { let Some(candidate) = candidate else {
return Err(ServiceError::UserNotFound); return Err(ServiceError::CandidateNotFound);
}; };
let candidate_public_key = candidate.public_key; let candidate_public_key = candidate.public_key;