28 lines
675 B
Rust
28 lines
675 B
Rust
use owl::{Deserialize, Serialize};
|
|
|
|
use crate::api::JoinResponse;
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct AgentConfig {
|
|
pub home: String,
|
|
pub token: String,
|
|
pub mqtt: String,
|
|
pub server_age: String,
|
|
pub server_sign: String,
|
|
}
|
|
|
|
impl AgentConfig {
|
|
pub fn try_load() -> Option<Self> {
|
|
toml::from_str(&std::fs::read_to_string("/etc/sheepd/config.toml").ok()?).ok()
|
|
}
|
|
|
|
pub fn new(home: &str, join: JoinResponse) -> Self {
|
|
Self {
|
|
token: join.token,
|
|
mqtt: join.mqtt,
|
|
home: home.to_string(),
|
|
server_age: join.identity.0,
|
|
server_sign: join.identity.1,
|
|
}
|
|
}
|
|
}
|