forked from neri/datatrash
simpify db query code
This commit is contained in:
parent
b91ef4ab80
commit
2ff464915c
|
@ -7,12 +7,8 @@ use actix_web::{
|
|||
web, Error, HttpRequest, HttpResponse,
|
||||
};
|
||||
use async_std::{fs, path::Path};
|
||||
use futures::TryStreamExt;
|
||||
use mime::Mime;
|
||||
use sqlx::{
|
||||
postgres::{PgPool, PgRow},
|
||||
Row,
|
||||
};
|
||||
use sqlx::postgres::PgPool;
|
||||
use url::Url;
|
||||
|
||||
use crate::deleter;
|
||||
|
@ -54,24 +50,17 @@ async fn load_file_info(
|
|||
id: &str,
|
||||
db: &web::Data<sqlx::Pool<sqlx::Postgres>>,
|
||||
) -> Result<(String, String, String, bool), Error> {
|
||||
let mut rows = sqlx::query(
|
||||
sqlx::query_as(
|
||||
"SELECT file_id, file_name, kind, delete_on_download from files WHERE file_id = $1",
|
||||
)
|
||||
.bind(id)
|
||||
.fetch(db.as_ref());
|
||||
let row: PgRow = rows
|
||||
.try_next()
|
||||
.fetch_optional(db.as_ref())
|
||||
.await
|
||||
.map_err(|db_err| {
|
||||
log::error!("could not run select statement {:?}", db_err);
|
||||
error::ErrorInternalServerError("could not run select statement")
|
||||
})?
|
||||
.ok_or_else(|| error::ErrorNotFound("file does not exist or has expired"))?;
|
||||
let file_id: String = row.get("file_id");
|
||||
let file_name: String = row.get("file_name");
|
||||
let file_kind: String = row.get("kind");
|
||||
let delete_on_download: bool = row.get("delete_on_download");
|
||||
Ok((file_id, file_name, file_kind, delete_on_download))
|
||||
.ok_or_else(|| error::ErrorNotFound("file does not exist or has expired"))
|
||||
}
|
||||
|
||||
fn get_content_type(path: &Path) -> Mime {
|
||||
|
|
Loading…
Reference in New Issue