feat(backend): scope files to users with FK user_id, rename storage_path to storage_key for clarity
This commit is contained in:
@@ -9,8 +9,7 @@ use sqlx::types::uuid;
|
||||
use tracing::info;
|
||||
|
||||
use crate::{
|
||||
error::LoftError,
|
||||
model::{FileRecord, FileRepository},
|
||||
ctx::Ctx, error::LoftError, model::{FileRecord, FileRepository}
|
||||
};
|
||||
|
||||
pub fn routes_file(file_repository: FileRepository) -> Router {
|
||||
@@ -23,6 +22,7 @@ pub fn routes_file(file_repository: FileRepository) -> Router {
|
||||
|
||||
async fn upload_file(
|
||||
State(file_repository): State<FileRepository>,
|
||||
ctx: Ctx,
|
||||
mut multipart: Multipart,
|
||||
) -> Result<Json<FileRecord>, LoftError> {
|
||||
info!("handler: upload_file");
|
||||
@@ -44,7 +44,7 @@ async fn upload_file(
|
||||
|
||||
if let (Some(name), Some(key), Some(size)) = (file_name, file_storage_key, file_size) {
|
||||
let file_record = file_repository
|
||||
.create_file_record(&name, size, &key)
|
||||
.create_file_record(ctx.user_id(), &name, size, &key)
|
||||
.await?;
|
||||
return Ok(Json(file_record));
|
||||
}
|
||||
@@ -82,11 +82,11 @@ async fn delete_file(
|
||||
|
||||
async fn list_files(
|
||||
State(file_repository): State<FileRepository>,
|
||||
// can add a filters param here
|
||||
ctx: Ctx
|
||||
) -> Result<Json<Vec<FileRecord>>, LoftError> {
|
||||
info!("handler: list_files");
|
||||
|
||||
let files = file_repository.list_files().await?;
|
||||
let files = file_repository.list_files(ctx.user_id()).await?;
|
||||
Ok(Json(files))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user