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