diff --git a/backend/Cargo.lock b/backend/Cargo.lock index cdb3d4a..cbff620 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -192,6 +192,7 @@ dependencies = [ "dotenvy", "futures-util", "lazy-regex", + "mime_guess", "opendal", "rand 0.10.1", "serde", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index e65fa22..d20da21 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -21,6 +21,7 @@ opendal = { version = "0.56.0", features = ["tests", "services-fs"] } argon2 = "0.5.3" rand = "0.10.1" futures-util = "0.3.32" +mime_guess = "2.0.5" [dev-dependencies] axum-test = "20.0.0" diff --git a/backend/src/model.rs b/backend/src/model.rs index ccbc64c..9c9ac0a 100644 --- a/backend/src/model.rs +++ b/backend/src/model.rs @@ -90,7 +90,7 @@ impl FileRepository { "#, user_id, file_name, - "TODO-file_type".to_string(), + mime_guess::from_path(file_name).first_or_octet_stream().to_string(), file_size as i64, file_storage_key ) @@ -328,7 +328,7 @@ mod tests { } async fn file_repository() -> Result { - dotenvy::dotenv().ok(); + dotenvy::from_filename(".env.test").ok(); let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set"); let pool = PgPool::connect(&database_url).await.unwrap(); Ok(FileRepository::new(pool)?) @@ -475,7 +475,7 @@ mod tests { } async fn user_repository() -> Result { - dotenvy::dotenv().ok(); + dotenvy::from_filename(".env.test").ok(); let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set"); let pool = PgPool::connect(&database_url).await.unwrap(); Ok(UserRepository::new(pool)?)