feat(backend): infer file type from extension using mime_guess

This commit is contained in:
2026-05-29 00:56:02 +03:00
parent 2501f6ca67
commit 5cc384b3c0
3 changed files with 5 additions and 3 deletions

1
backend/Cargo.lock generated
View File

@@ -192,6 +192,7 @@ dependencies = [
"dotenvy",
"futures-util",
"lazy-regex",
"mime_guess",
"opendal",
"rand 0.10.1",
"serde",

View File

@@ -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"

View File

@@ -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<FileRepository, LoftError> {
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<UserRepository, LoftError> {
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)?)