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"))?,
|
||||
db.get(&Yaml::String("port".to_string()))
|
||||
.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()))
|
||||
.and_then(|v| v.as_str())
|
||||
.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"))?;
|
||||
Some(server::Id {
|
||||
length: match id.get(&Yaml::String("length".to_string())) {
|
||||
Some(length) => {
|
||||
Some(length.as_i64().ok_or(Error::InvalidConfig("cuid.length"))? as u8)
|
||||
}
|
||||
Some(length) => Some(
|
||||
length
|
||||
.as_i64()
|
||||
.ok_or(Error::InvalidConfig("cuid.length"))?
|
||||
.try_into()
|
||||
.map_err(|_| Error::InvalidConfig("Invalid `cuid.length` number"))?,
|
||||
),
|
||||
None => None,
|
||||
},
|
||||
fingerprint: match id.get(&Yaml::String("fingerprint".to_string())) {
|
||||
|
@ -342,7 +348,9 @@ fn create_new_server_config(
|
|||
.as_i64()
|
||||
.ok_or(Error::InvalidConfig("`maxFileSize` is not an integer"))?
|
||||
/ 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") {
|
||||
let proxy_remote_files = proxy_remote_files.as_bool().ok_or(Error::InvalidConfig(
|
||||
|
@ -424,7 +432,7 @@ fn create_new_server_config(
|
|||
None => None,
|
||||
};
|
||||
|
||||
let mut server_config = server::Config {
|
||||
let server_config = server::Config {
|
||||
config_revision: Revision::V1,
|
||||
server_info: Some(server::ServerInfo {
|
||||
name: meta.name.to_owned(),
|
||||
|
@ -456,7 +464,9 @@ fn create_new_server_config(
|
|||
port: default_yml
|
||||
.get("port")
|
||||
.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,
|
||||
media_proxy,
|
||||
|
@ -472,7 +482,9 @@ fn create_new_server_config(
|
|||
port: db
|
||||
.get(&Yaml::String("port".to_string()))
|
||||
.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
|
||||
.get(&Yaml::String("user".to_string()))
|
||||
.and_then(|v| v.as_str())
|
||||
|
@ -498,7 +510,9 @@ fn create_new_server_config(
|
|||
port: redis
|
||||
.get(&Yaml::String("port".to_string()))
|
||||
.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())) {
|
||||
Some(user) => Some(
|
||||
user.as_str()
|
||||
|
@ -516,7 +530,12 @@ fn create_new_server_config(
|
|||
None => None,
|
||||
},
|
||||
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,
|
||||
},
|
||||
prefix: match redis.get(&Yaml::String("prefix".to_string())) {
|
||||
|
|
Loading…
Reference in a new issue