use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Debug, Clone, Default)]
pub struct ClientLoginInfo {
pub host: String,
pub port: u16,
pub uname: String,
pub passwd: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClientRemoteConf {
pub dirname: String,
pub fname: String,
pub prefix: String,
pub suffix: String,
pub upload_type: Option<ClientUploadType>,
}
#[derive(Deserialize, Serialize, Debug, Clone, Default)]
#[serde(rename_all = "camelCase")]
pub struct ClientBaseConf {
pub login_info: ClientLoginInfo,
pub remote: ClientRemoteConf,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub enum ClientUploadType {
Copy,
#[allow(unused)]
Append,
Replace,
#[allow(unused)]
Once,
}
impl Default for ClientUploadType {
fn default() -> Self {
Self::Replace
}
}