This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
use chrono::NaiveDateTime;
|
||||
use enum_stringify::EnumStringify;
|
||||
use serde::{ser::SerializeStruct, Deserialize, Serialize};
|
||||
use sqlx::types::mac_address::MacAddress;
|
||||
use strum::EnumString;
|
||||
use strum::{Display, EnumString};
|
||||
|
||||
#[derive(Deserialize, Debug, Serialize)]
|
||||
pub struct TelemetryMessage {
|
||||
@@ -65,21 +64,29 @@ impl Serialize for Device {
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize)]
|
||||
pub struct OTAConfiguration {
|
||||
pub board: BoardType,
|
||||
pub configuration: BoardConfig,
|
||||
pub version: String,
|
||||
pub url: String
|
||||
|
||||
#[serde(rename_all = "PascalCase")]
|
||||
pub struct OTAConfigurationList {
|
||||
pub configurations: Vec<OTAConfiguration>
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize, EnumString)]
|
||||
#[derive(serde::Serialize, PartialEq, Debug)]
|
||||
#[serde(rename_all = "PascalCase")]
|
||||
pub struct OTAConfiguration {
|
||||
pub version: String,
|
||||
pub url: String,
|
||||
pub board: Option<BoardType>,
|
||||
pub config: Option<BoardConfig>
|
||||
}
|
||||
|
||||
|
||||
#[derive(serde::Serialize, EnumString, PartialEq, Debug, Display)]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum BoardType {
|
||||
Waterlevel
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize, EnumString)]
|
||||
#[derive(serde::Serialize, EnumString, PartialEq, Debug, Display)]
|
||||
pub enum BoardConfig {
|
||||
INA226,
|
||||
INA233
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user