spacetimedsl_derive_input/api/dsl/
column.rs1use super::{foreign_key::ForeignKey, getter::Getter, setter::Setter, wrapper::WrapperType};
2use crate::api::dsl::{method::SpacetimeDSLMethod, mut_getter::MutGetter};
3
4#[derive(Clone)]
5pub struct SpacetimeDSLColumn {
6 pub is_option: bool,
7 pub wrapper_type: Option<WrapperType>,
9 pub foreign_key: Option<ForeignKey>,
11 pub getter: Option<Getter>,
12 pub mut_getter: Option<MutGetter>,
14 pub setter: Option<Setter>,
16}
17
18#[derive(Clone)]
19pub enum SpacetimeDSLColumnMethods {
20 ForUniqueIndex(SpacetimeDSLColumnMethodsForUniqueIndex),
21 ForIndex(SpacetimeDSLColumnMethodsForIndex),
22}
23
24#[derive(Clone)]
25pub struct SpacetimeDSLColumnMethodsForUniqueIndex {
26 pub get_one_option: SpacetimeDSLMethod,
27 pub update: Option<SpacetimeDSLMethod>,
28 pub delete_one: SpacetimeDSLMethod,
29}
30
31#[derive(Clone)]
32pub struct SpacetimeDSLColumnMethodsForIndex {
33 pub get_many: SpacetimeDSLMethod,
34 pub delete_many: SpacetimeDSLMethod,
35}