add config structs
This commit is contained in:
19
Cargo.lock
generated
19
Cargo.lock
generated
@@ -486,6 +486,8 @@ name = "bot"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"deltachat",
|
||||
"eui48",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1527,6 +1529,17 @@ dependencies = [
|
||||
"entities",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "eui48"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "887418ac5e8d57c2e66e04bdc2fe15f9a5407be20b54a82c86bd0e368b709701"
|
||||
dependencies = [
|
||||
"regex",
|
||||
"rustc-serialize",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "event-listener"
|
||||
version = "2.5.3"
|
||||
@@ -4401,6 +4414,12 @@ version = "2.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-serialize"
|
||||
version = "0.3.25"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
|
||||
|
||||
[[package]]
|
||||
name = "rustc_version"
|
||||
version = "0.4.1"
|
||||
|
||||
@@ -5,3 +5,5 @@ edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
deltachat = { path = "./chatmail-core" }
|
||||
eui48 = { version = "1.1.0", features = [ "serde" ] }
|
||||
serde = { version = "1", features = [ "derive" ] }
|
||||
|
||||
31
src/config.rs
Normal file
31
src/config.rs
Normal file
@@ -0,0 +1,31 @@
|
||||
use eui48::MacAddress;
|
||||
use serde::{Deserialize, self};
|
||||
use std::{collections::HashMap, net::IpAddr};
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct BotConfig {
|
||||
pub auth: BotUserAuthConfig,
|
||||
pub machines: HashMap<String, BotTargetMachineConfig>,
|
||||
#[serde(rename = "deltaChat")]
|
||||
pub delta_chat: BotDeltaChatConfig,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct BotUserAuthConfig {
|
||||
pub password: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct BotTargetMachineConfig {
|
||||
#[serde(rename = "default")]
|
||||
is_default: bool,
|
||||
mac: MacAddress,
|
||||
#[serde(rename = "staticIp")]
|
||||
static_ip: IpAddr,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
struct BotDeltaChatConfig {
|
||||
email: String,
|
||||
password: String,
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
mod config;
|
||||
|
||||
fn main() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user