mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-22 11:25:15 +08:00
refactor: address quality findings
This commit is contained in:
@@ -46,7 +46,8 @@ impl FileSystemCasRepository {
|
||||
.await
|
||||
{
|
||||
if !existed {
|
||||
let _ = self.storage.delete(&stored_hash).await;
|
||||
self.delete_new_object_after_metadata_failure(&stored_hash)
|
||||
.await?;
|
||||
}
|
||||
return Err(error);
|
||||
}
|
||||
@@ -58,13 +59,21 @@ impl FileSystemCasRepository {
|
||||
}
|
||||
Err(error) => {
|
||||
if !existed {
|
||||
let _ = self.storage.delete(&stored_hash).await;
|
||||
self.delete_new_object_after_metadata_failure(&stored_hash)
|
||||
.await?;
|
||||
}
|
||||
Err(error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async fn delete_new_object_after_metadata_failure(&self, hash: &Hash) -> Result<()> {
|
||||
match self.storage.delete(hash).await {
|
||||
Ok(()) | Err(CasError::ObjectNotFound(_)) => Ok(()),
|
||||
Err(error) => Err(error),
|
||||
}
|
||||
}
|
||||
|
||||
/// 读取对象并验证 Hash。
|
||||
pub async fn get(&self, hash: &Hash) -> Result<Vec<u8>> {
|
||||
self.storage.get(hash).await
|
||||
|
||||
Reference in New Issue
Block a user