rapido_core/component/
attribute.rs1
2use super::*;
3mod integer;
4mod string;
5
6use integer::AttributeInteger;
7use string::AttributeString;
8
9#[derive(Debug, Deserialize, Clone, Serialize, PartialEq, Eq)]
13#[serde(tag = "type", rename_all = "lowercase")]
14pub enum Attribute {
15 String(AttributeString),
16 Integer(AttributeInteger),
17}
18impl Attribute {
19 pub(super) fn into_column_type(&self) -> ColumnType {
20 match self {
21 Self::String(AttributeString {
22 max_length,
23 min_length: _,
24 }) => ColumnType::String(StringLen::N(max_length.unwrap_or(128))),
25 Self::Integer(AttributeInteger { min: _, max:_ }) => ColumnType::Integer,
26 }
27 }
28}