zerolaunch_plugin_api/services/storage/
storage_service.rs1use crate::services::storage::storage_error::StorageError;
2use async_trait::async_trait;
3
4#[async_trait]
8pub trait StorageService: Send + Sync {
9 async fn upload(&self, file_name: &str, data: &[u8]) -> Result<(), StorageError>;
13
14 async fn download(&self, file_name: &str) -> Result<Option<Vec<u8>>, StorageError>;
18
19 fn target_dir_path(&self) -> String;
21
22 async fn validate(&self) -> bool;
24
25 async fn delete(&self, file_name: &str) -> Result<(), StorageError>;
27
28 async fn list(&self, prefix: &str) -> Result<Vec<String>, StorageError>;
30}