fuga_remo_api/
common_types.rs1use chrono::{DateTime, Utc};
7use heapless::String;
8
9use crate::config::SERIAL_NUMBER_LEN;
10
11pub type Timestamp = DateTime<Utc>;
12pub type SerialNumber = String<SERIAL_NUMBER_LEN>;
13
14
15#[derive(Debug)]
16pub enum ModelNodeParseError {
17 UuidParseError,
18 TimestampParseError,
19 MacAddressParseError,
20 UnexpectedEnumValue,
21 UnknownNewestEventsType,
22 NodeTooDeep,
23 StringTooLong,
24 UnexpectedMapArrayEnd,
25 UnexpectedParserState,
26 UnexpectedNode(UnexpectedNodeError),
27}
28
29pub type UnexpectedNodeError = String<64>;
30
31impl From<uuid::Error> for ModelNodeParseError {
32 fn from(_: uuid::Error) -> Self {
33 Self::UuidParseError
34 }
35}
36impl From<chrono::ParseError> for ModelNodeParseError {
37 fn from(_: chrono::ParseError) -> Self {
38 Self::TimestampParseError
39 }
40}