Isolate pasta uploads from database.json by moving them into pasta_data/public/

This commit is contained in:
Daniel Szabo 2022-07-31 21:49:36 +01:00
parent 7b4cd7c26e
commit 05941f0d6f
4 changed files with 10 additions and 10 deletions

View file

@ -122,11 +122,11 @@ pub async fn create(
} }
}; };
std::fs::create_dir_all(format!("./pasta_data/{}", &new_pasta.id_as_animals())) std::fs::create_dir_all(format!("./pasta_data/public/{}", &new_pasta.id_as_animals()))
.unwrap(); .unwrap();
let filepath = format!( let filepath = format!(
"./pasta_data/{}/{}", "./pasta_data/public/{}/{}",
&new_pasta.id_as_animals(), &new_pasta.id_as_animals(),
&file.name() &file.name()
); );

View file

@ -25,14 +25,14 @@ pub async fn remove(data: web::Data<AppState>, id: web::Path<String>) -> HttpRes
if pasta.id == id { if pasta.id == id {
// remove the file itself // remove the file itself
if let Some(PastaFile { name, .. }) = &pasta.file { if let Some(PastaFile { name, .. }) = &pasta.file {
if fs::remove_file(format!("./pasta_data/{}/{}", pasta.id_as_animals(), name)) if fs::remove_file(format!("./pasta_data/public/{}/{}", pasta.id_as_animals(), name))
.is_err() .is_err()
{ {
log::error!("Failed to delete file {}!", name) log::error!("Failed to delete file {}!", name)
} }
// and remove the containing directory // and remove the containing directory
if fs::remove_dir(format!("./pasta_data/{}/", pasta.id_as_animals())).is_err() { if fs::remove_dir(format!("./pasta_data/public/{}/", pasta.id_as_animals())).is_err() {
log::error!("Failed to delete directory {}!", name) log::error!("Failed to delete directory {}!", name)
} }
} }

View file

@ -63,11 +63,11 @@ async fn main() -> std::io::Result<()> {
ARGS.port.to_string() ARGS.port.to_string()
); );
match fs::create_dir_all("./pasta_data") { match fs::create_dir_all("./pasta_data/public") {
Ok(dir) => dir, Ok(dir) => dir,
Err(error) => { Err(error) => {
log::error!("Couldn't create data directory ./pasta_data: {:?}", error); log::error!("Couldn't create data directory ./pasta_data/public/: {:?}", error);
panic!("Couldn't create data directory ./pasta_data: {:?}", error); panic!("Couldn't create data directory ./pasta_data/public/: {:?}", error);
} }
}; };
@ -87,7 +87,7 @@ async fn main() -> std::io::Result<()> {
.service(edit::get_edit) .service(edit::get_edit)
.service(edit::post_edit) .service(edit::post_edit)
.service(static_resources::static_resources) .service(static_resources::static_resources)
.service(actix_files::Files::new("/file", "./pasta_data")) .service(actix_files::Files::new("/file", "./pasta_data/public/"))
.service(web::resource("/upload").route(web::post().to(create::create))) .service(web::resource("/upload").route(web::post().to(create::create)))
.default_service(web::route().to(errors::not_found)) .default_service(web::route().to(errors::not_found))
.wrap(middleware::Logger::default()) .wrap(middleware::Logger::default())

View file

@ -24,7 +24,7 @@ pub fn remove_expired(pastas: &mut Vec<Pasta>) {
// remove the file itself // remove the file itself
if let Some(file) = &p.file { if let Some(file) = &p.file {
if fs::remove_file(format!( if fs::remove_file(format!(
"./pasta_data/{}/{}", "./pasta_data/public/{}/{}",
p.id_as_animals(), p.id_as_animals(),
file.name() file.name()
)) ))
@ -34,7 +34,7 @@ pub fn remove_expired(pastas: &mut Vec<Pasta>) {
} }
// and remove the containing directory // and remove the containing directory
if fs::remove_dir(format!("./pasta_data/{}/", p.id_as_animals())).is_err() { if fs::remove_dir(format!("./pasta_data/public/{}/", p.id_as_animals())).is_err() {
log::error!("Failed to delete directory {}!", file.name()) log::error!("Failed to delete directory {}!", file.name())
} }
} }