gatelogue_types/node/
town.rs

1use strum_macros::EnumString;
2
3use crate::{from_sql_for_enum, get_column, node_type, util::ID};
4
5#[derive(Clone, Copy, PartialEq, Eq, Debug, EnumString)]
6pub enum Rank {
7    Unranked,
8    Councillor,
9    Mayor,
10    Senator,
11    Governor,
12    Premier,
13    Community,
14}
15from_sql_for_enum!(Rank);
16
17node_type!(located Town);
18impl Town {
19    get_column!("Town", name, String);
20    get_column!("Town", rank, Rank);
21    get_column!("Town", mayor, String);
22    get_column!("Town", deputy_mayor, "deputyMayor", Option<String>);
23}