koprogo_api/infrastructure/storage/
storage_provider.rs1use async_trait::async_trait;
2use uuid::Uuid;
3
4#[async_trait]
6pub trait StorageProvider: Send + Sync {
7 async fn save_file(
9 &self,
10 building_id: Uuid,
11 filename: &str,
12 content: &[u8],
13 ) -> Result<String, String>;
14
15 async fn read_file(&self, relative_path: &str) -> Result<Vec<u8>, String>;
17
18 async fn delete_file(&self, relative_path: &str) -> Result<(), String>;
20
21 async fn file_exists(&self, relative_path: &str) -> bool;
23}