rsiot_messages_core/eav/eav_model.rs
1use crate::Timestamp;
2
3use super::{AggType, ValueType};
4
5/// Представление значения сообщения в виде модели EAV
6#[derive(Debug, Clone, Default)]
7pub struct EavModel {
8 /// Метка времени
9 pub ts: Timestamp,
10 /// `Entity`
11 pub entity: String,
12 /// `Attribute`
13 pub attr: Option<String>,
14 /// `Value`
15 pub value: ValueType,
16 /// Значение `Value` было получено с помощью данного типа аггрегации
17 pub agg: AggType,
18 /// Метка времени, к которой относится данная аггрегация
19 pub aggts: Option<Timestamp>,
20 /// Типы аггрегации, которые должны применяться на следующем этапе
21 pub aggnext: Vec<AggType>,
22}