WIP
This commit is contained in:
parent
988688c8d9
commit
9a891a5126
1 changed files with 29 additions and 10 deletions
|
@ -250,7 +250,9 @@ async fn read_old_config(base_dir: &Path) -> Result<(HashMap<String, Yaml>, Meta
|
||||||
.ok_or(Error::InvalidConfig("db.host"))?,
|
.ok_or(Error::InvalidConfig("db.host"))?,
|
||||||
db.get(&Yaml::String("port".to_string()))
|
db.get(&Yaml::String("port".to_string()))
|
||||||
.and_then(|v| v.as_i64())
|
.and_then(|v| v.as_i64())
|
||||||
.ok_or(Error::InvalidConfig("db.port"))? as u16,
|
.ok_or(Error::InvalidConfig("db.port"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `db.port` number"))?,
|
||||||
db.get(&Yaml::String("user".to_string()))
|
db.get(&Yaml::String("user".to_string()))
|
||||||
.and_then(|v| v.as_str())
|
.and_then(|v| v.as_str())
|
||||||
.ok_or(Error::InvalidConfig("db.user"))?,
|
.ok_or(Error::InvalidConfig("db.user"))?,
|
||||||
|
@ -311,9 +313,13 @@ fn create_new_server_config(
|
||||||
let id = id.as_hash().ok_or(Error::InvalidConfig("cuid"))?;
|
let id = id.as_hash().ok_or(Error::InvalidConfig("cuid"))?;
|
||||||
Some(server::Id {
|
Some(server::Id {
|
||||||
length: match id.get(&Yaml::String("length".to_string())) {
|
length: match id.get(&Yaml::String("length".to_string())) {
|
||||||
Some(length) => {
|
Some(length) => Some(
|
||||||
Some(length.as_i64().ok_or(Error::InvalidConfig("cuid.length"))? as u8)
|
length
|
||||||
}
|
.as_i64()
|
||||||
|
.ok_or(Error::InvalidConfig("cuid.length"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `cuid.length` number"))?,
|
||||||
|
),
|
||||||
None => None,
|
None => None,
|
||||||
},
|
},
|
||||||
fingerprint: match id.get(&Yaml::String("fingerprint".to_string())) {
|
fingerprint: match id.get(&Yaml::String("fingerprint".to_string())) {
|
||||||
|
@ -342,7 +348,9 @@ fn create_new_server_config(
|
||||||
.as_i64()
|
.as_i64()
|
||||||
.ok_or(Error::InvalidConfig("`maxFileSize` is not an integer"))?
|
.ok_or(Error::InvalidConfig("`maxFileSize` is not an integer"))?
|
||||||
/ 1_000_000;
|
/ 1_000_000;
|
||||||
file.max_size = Some(max_size_mb as u64);
|
file.max_size = Some(max_size_mb.try_into().map_err(|_| {
|
||||||
|
Error::InvalidConfig("Invalid `maxFileSize` number (negative or too big)")
|
||||||
|
})?);
|
||||||
}
|
}
|
||||||
if let Some(proxy_remote_files) = default_yml.get("proxyRemoteFiles") {
|
if let Some(proxy_remote_files) = default_yml.get("proxyRemoteFiles") {
|
||||||
let proxy_remote_files = proxy_remote_files.as_bool().ok_or(Error::InvalidConfig(
|
let proxy_remote_files = proxy_remote_files.as_bool().ok_or(Error::InvalidConfig(
|
||||||
|
@ -424,7 +432,7 @@ fn create_new_server_config(
|
||||||
None => None,
|
None => None,
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut server_config = server::Config {
|
let server_config = server::Config {
|
||||||
config_revision: Revision::V1,
|
config_revision: Revision::V1,
|
||||||
server_info: Some(server::ServerInfo {
|
server_info: Some(server::ServerInfo {
|
||||||
name: meta.name.to_owned(),
|
name: meta.name.to_owned(),
|
||||||
|
@ -456,7 +464,9 @@ fn create_new_server_config(
|
||||||
port: default_yml
|
port: default_yml
|
||||||
.get("port")
|
.get("port")
|
||||||
.and_then(|v| v.as_i64())
|
.and_then(|v| v.as_i64())
|
||||||
.ok_or(Error::InvalidConfig("port"))? as u16,
|
.ok_or(Error::InvalidConfig("port"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `port` number"))?,
|
||||||
},
|
},
|
||||||
http_proxy,
|
http_proxy,
|
||||||
media_proxy,
|
media_proxy,
|
||||||
|
@ -472,7 +482,9 @@ fn create_new_server_config(
|
||||||
port: db
|
port: db
|
||||||
.get(&Yaml::String("port".to_string()))
|
.get(&Yaml::String("port".to_string()))
|
||||||
.and_then(|v| v.as_i64())
|
.and_then(|v| v.as_i64())
|
||||||
.ok_or(Error::InvalidConfig("db.port"))? as u16,
|
.ok_or(Error::InvalidConfig("db.port"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `db.port` number"))?,
|
||||||
user: db
|
user: db
|
||||||
.get(&Yaml::String("user".to_string()))
|
.get(&Yaml::String("user".to_string()))
|
||||||
.and_then(|v| v.as_str())
|
.and_then(|v| v.as_str())
|
||||||
|
@ -498,7 +510,9 @@ fn create_new_server_config(
|
||||||
port: redis
|
port: redis
|
||||||
.get(&Yaml::String("port".to_string()))
|
.get(&Yaml::String("port".to_string()))
|
||||||
.and_then(|v| v.as_i64())
|
.and_then(|v| v.as_i64())
|
||||||
.ok_or(Error::InvalidConfig("redis.port"))? as u16,
|
.ok_or(Error::InvalidConfig("redis.port"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `redis.port` number"))?,
|
||||||
user: match redis.get(&Yaml::String("user".to_string())) {
|
user: match redis.get(&Yaml::String("user".to_string())) {
|
||||||
Some(user) => Some(
|
Some(user) => Some(
|
||||||
user.as_str()
|
user.as_str()
|
||||||
|
@ -516,7 +530,12 @@ fn create_new_server_config(
|
||||||
None => None,
|
None => None,
|
||||||
},
|
},
|
||||||
index: match redis.get(&Yaml::String("db".to_string())) {
|
index: match redis.get(&Yaml::String("db".to_string())) {
|
||||||
Some(db) => Some(db.as_i64().ok_or(Error::InvalidConfig("redis.db"))? as u8),
|
Some(db) => Some(
|
||||||
|
db.as_i64()
|
||||||
|
.ok_or(Error::InvalidConfig("redis.db"))?
|
||||||
|
.try_into()
|
||||||
|
.map_err(|_| Error::InvalidConfig("Invalid `redis.db` number"))?,
|
||||||
|
),
|
||||||
None => None,
|
None => None,
|
||||||
},
|
},
|
||||||
prefix: match redis.get(&Yaml::String("prefix".to_string())) {
|
prefix: match redis.get(&Yaml::String("prefix".to_string())) {
|
||||||
|
|
Loading…
Reference in a new issue