add config structs

This commit is contained in:
2026-03-18 00:35:59 +03:00
parent 56856b480b
commit e05a94f168
4 changed files with 53 additions and 1 deletions

19
Cargo.lock generated
View File

@@ -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"

View File

@@ -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
View 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,
}

View File

@@ -1,4 +1,4 @@
mod config;
fn main() {