updatehub_sdk/api/info/
settings.rs1use crate::serde_helpers;
6use chrono::Duration;
7use serde::{Deserialize, Serialize};
8use std::path::PathBuf;
9
10#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
11#[serde(deny_unknown_fields)]
12pub struct Settings {
13 pub firmware: Firmware,
14 pub network: Network,
15 pub polling: Polling,
16 pub storage: Storage,
17 pub update: Update,
18}
19
20#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
21#[serde(deny_unknown_fields)]
22pub struct Firmware {
23 pub metadata: PathBuf,
24}
25
26#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
27#[serde(deny_unknown_fields)]
28pub struct Network {
29 pub server_address: String,
30 pub listen_socket: String,
31}
32
33#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
34#[serde(deny_unknown_fields)]
35pub struct Polling {
36 #[serde(with = "serde_helpers::duration")]
37 pub interval: Duration,
38 pub enabled: bool,
39}
40
41#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
42#[serde(deny_unknown_fields)]
43pub struct Storage {
44 pub read_only: bool,
47 pub runtime_settings: PathBuf,
51}
52
53#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
54#[serde(deny_unknown_fields)]
55pub struct Update {
56 pub download_dir: PathBuf,
57 pub supported_install_modes: Vec<String>,
58}