create media folder in init
parent
ff841b73c5
commit
affa124864
|
@ -7,6 +7,7 @@ use ruma::{
|
||||||
use rustls::{ServerCertVerifier, WebPKIVerifier};
|
use rustls::{ServerCertVerifier, WebPKIVerifier};
|
||||||
use std::{
|
use std::{
|
||||||
collections::{BTreeMap, HashMap},
|
collections::{BTreeMap, HashMap},
|
||||||
|
fs,
|
||||||
path::PathBuf,
|
path::PathBuf,
|
||||||
sync::{Arc, RwLock},
|
sync::{Arc, RwLock},
|
||||||
time::{Duration, Instant},
|
time::{Duration, Instant},
|
||||||
|
@ -137,7 +138,7 @@ impl Globals {
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(|secret| jsonwebtoken::DecodingKey::from_secret(secret.as_bytes()).into_static());
|
.map(|secret| jsonwebtoken::DecodingKey::from_secret(secret.as_bytes()).into_static());
|
||||||
|
|
||||||
Ok(Self {
|
let s = Self {
|
||||||
globals,
|
globals,
|
||||||
config,
|
config,
|
||||||
keypair: Arc::new(keypair),
|
keypair: Arc::new(keypair),
|
||||||
|
@ -152,7 +153,11 @@ impl Globals {
|
||||||
bad_event_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
bad_event_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
||||||
bad_signature_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
bad_signature_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
||||||
servername_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
servername_ratelimiter: Arc::new(RwLock::new(BTreeMap::new())),
|
||||||
})
|
};
|
||||||
|
|
||||||
|
fs::create_dir_all(s.get_media_folder())?;
|
||||||
|
|
||||||
|
Ok(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns this server's keypair.
|
/// Returns this server's keypair.
|
||||||
|
|
|
@ -4,11 +4,7 @@ use image::{imageops::FilterType, GenericImageView};
|
||||||
use super::abstraction::Tree;
|
use super::abstraction::Tree;
|
||||||
use crate::{utils, Error, Result};
|
use crate::{utils, Error, Result};
|
||||||
use std::{mem, sync::Arc};
|
use std::{mem, sync::Arc};
|
||||||
use tokio::{
|
use tokio::{fs::File, io::AsyncReadExt, io::AsyncWriteExt};
|
||||||
fs::{self, File},
|
|
||||||
io::AsyncReadExt,
|
|
||||||
io::AsyncWriteExt,
|
|
||||||
};
|
|
||||||
|
|
||||||
pub struct FileMeta {
|
pub struct FileMeta {
|
||||||
pub content_disposition: Option<String>,
|
pub content_disposition: Option<String>,
|
||||||
|
@ -50,7 +46,6 @@ impl Media {
|
||||||
);
|
);
|
||||||
|
|
||||||
let path = globals.get_media_file(&key);
|
let path = globals.get_media_file(&key);
|
||||||
fs::create_dir_all(path.parent().unwrap()).await?;
|
|
||||||
let mut f = File::create(path).await?;
|
let mut f = File::create(path).await?;
|
||||||
f.write_all(file).await?;
|
f.write_all(file).await?;
|
||||||
|
|
||||||
|
@ -89,7 +84,6 @@ impl Media {
|
||||||
);
|
);
|
||||||
|
|
||||||
let path = globals.get_media_file(&key);
|
let path = globals.get_media_file(&key);
|
||||||
fs::create_dir_all(path.parent().unwrap()).await?;
|
|
||||||
let mut f = File::create(path).await?;
|
let mut f = File::create(path).await?;
|
||||||
f.write_all(file).await?;
|
f.write_all(file).await?;
|
||||||
|
|
||||||
|
@ -333,7 +327,6 @@ impl Media {
|
||||||
);
|
);
|
||||||
|
|
||||||
let path = globals.get_media_file(&thumbnail_key);
|
let path = globals.get_media_file(&thumbnail_key);
|
||||||
fs::create_dir_all(path.parent().unwrap()).await?;
|
|
||||||
let mut f = File::create(path).await?;
|
let mut f = File::create(path).await?;
|
||||||
f.write_all(&thumbnail_bytes).await?;
|
f.write_all(&thumbnail_bytes).await?;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue