use serde::{Deserialize, Serialize}; use crate::db::model_utils::Period; use crate::types::EmgauwaUid; #[derive(Debug, Serialize)] pub struct Relay { #[serde(skip)] pub id: i64, // TODO } #[derive(Debug, Serialize, Clone)] pub struct Schedule { #[serde(skip)] pub id: i64, #[serde(rename(serialize = "id"))] pub uid: EmgauwaUid, pub name: String, pub periods: Periods, } #[derive(Debug, Serialize, Deserialize, PartialEq, Clone)] pub struct Periods(pub Vec<Period>); #[derive(Debug, Serialize, Clone)] pub struct Tag { pub id: i64, pub tag: String, } pub struct JunctionTag { pub id: i64, pub tag_id: i64, pub relay_id: Option<i64>, pub schedule_id: Option<i64>, }