use crate::ResourceResult; use gotham::state::State; use serde::{ de::DeserializeOwned, ser::Serialize }; pub trait Resource { fn setup(); } pub trait IndexResource> { fn index(state : &mut State) -> Res; } pub trait GetResource> { fn get(state : State, id : ID) -> Res; } pub trait PostResource> { fn post(state : State, body : Body) -> Res; }