//! Helper struct for inserting relational data in the database use serde::{Deserialize, Serialize}; use super::data::TypedValue; use super::ID; /// Value to insert #[derive(Debug, Clone, Serialize, Deserialize)] pub struct InsertValue { pub model_id: ID, pub value: TypedValue, } impl InsertValue { pub fn new(model_id: ID, value: TypedValue) -> Self { Self { model_id, value, } } } /// Info for inserting a relation #[derive(Debug, Clone, Serialize, Deserialize)] pub struct InsertRel { pub model_id: ID, pub related_id: ID, pub values: Vec, } impl InsertRel { pub fn new(model_id: ID, related_id: ID, values: Vec) -> Self { Self { model_id, related_id, values, } } } /// Info for inserting a relation #[derive(Debug, Clone, Serialize, Deserialize)] pub struct InsertObj { pub model_id: ID, pub values: Vec, pub relations: Vec, } impl InsertObj { pub fn new(model_id: ID, values: Vec, relations: Vec) -> Self { Self { model_id, values, relations, } } }