extern crate serde; pub mod member; pub mod common; pub mod invites; pub mod channels; pub mod messages; pub mod auth; use std::vec::Vec; pub type BigInt = i64; pub type UBigInt = u64; pub type Integer = i32; pub type UInteger = u32; pub type VarChar = String; pub enum Response { // A set of rows collected Set(Vec), // Single row collected Row(T), // Nothing was found -> for select/update/delete's Empty, // Generic success for things like update/delete's Success, // Mask 500's with probable user generated errors like duplicate keys being added // or data that doesn't fit in column or something RestrictedInput(String), // Not sure what this will be used for but maybe its useful at some point Other(String) } #[macro_export] macro_rules! fetch_row { ($table:literal, $col:literal, $key:expr, $rtype:ty,$conn:expr) => { let lib_str = format!("SELECT * FROM {} WHERE {} = :{}", $table, $col, $col); let (_, $rtype) = $conn.first_exec!(lib_str, sql_params{ $col => $key, }); } }