Add environmental variable to control path of media (#683)

This commit is contained in:
Violet White
2019-10-28 17:28:28 -04:00
committed by Ana Gelez
parent dd6d39135e
commit 866465c603
5 changed files with 30 additions and 11 deletions
+3
View File
@@ -15,6 +15,7 @@ pub struct Config {
pub rocket: Result<RocketConfig, RocketError>,
pub logo: LogoConfig,
pub default_theme: String,
pub media_directory: String,
}
#[derive(Debug, Clone)]
@@ -201,5 +202,7 @@ lazy_static! {
rocket: get_rocket_config(),
logo: LogoConfig::default(),
default_theme: var("DEFAULT_THEME").unwrap_or_else(|_| "default-light".to_owned()),
media_directory: var("MEDIA_UPLOAD_DIRECTORY")
.unwrap_or_else(|_| "static/media".to_owned()),
};
}
+9 -6
View File
@@ -148,10 +148,12 @@ impl Media {
if self.is_remote {
Ok(self.remote_url.clone().unwrap_or_default())
} else {
let p = Path::new(&self.file_path);
let filename: String = p.file_name().unwrap().to_str().unwrap().to_owned();
Ok(ap_url(&format!(
"{}/{}",
"{}/static/media/{}",
Instance::get_local()?.public_domain,
self.file_path
&filename
)))
}
}
@@ -202,10 +204,11 @@ impl Media {
.next()
.map(ToOwned::to_owned)
.unwrap_or_else(|| String::from("png"));
let path =
Path::new("static")
.join("media")
.join(format!("{}.{}", GUID::rand().to_string(), ext));
let path = Path::new(&super::CONFIG.media_directory).join(format!(
"{}.{}",
GUID::rand().to_string(),
ext
));
let mut dest = fs::File::create(path.clone()).ok()?;
reqwest::get(remote_url.as_str())