fix: synchronisation dédoublonnage entre upload web et watcher
- Ajout de dedup_db_path dans AppState (partagé avec le watcher) - upload_image() calcule le SHA-256 avant upload et marque le hash dans la DB de dédoublonnage après succès - Le watcher voit maintenant les fichiers uploadés via le dashboard comme 'déjà vus' → plus de doublons watcher/drag-and-drop - Correction compilation: indentation du match upload_image
This commit is contained in:
@@ -32,12 +32,23 @@ pub async fn serve_with_config(host: &str, port: u16, config: &Config) -> anyhow
|
||||
// Hub WebSocket
|
||||
let ws_hub = ws::WsHub::new();
|
||||
|
||||
// Base de données de dédoublonnage (partagée avec le watcher)
|
||||
let data_dir = if cfg!(target_os = "windows") {
|
||||
let appdata = std::env::var("APPDATA").unwrap_or_else(|_| ".".into());
|
||||
std::path::PathBuf::from(appdata)
|
||||
} else {
|
||||
let home = std::env::var("HOME").unwrap_or_else(|_| "/tmp".into());
|
||||
std::path::PathBuf::from(home).join(".config")
|
||||
};
|
||||
let dedup_db_path = data_dir.join("imagod-web").join("imagod.db");
|
||||
|
||||
// État partagé
|
||||
let state = routes::AppState {
|
||||
imago,
|
||||
base_url: config.imago.url.clone(),
|
||||
api_key: config.imago.api_key.clone(),
|
||||
ws_hub: ws_hub.clone(),
|
||||
dedup_db_path,
|
||||
};
|
||||
|
||||
// Router principal
|
||||
|
||||
Reference in New Issue
Block a user