qwreey_rocket/
export.rs

1use qwreey_utility_rs::ArcRwUserdata;
2use rocket_dyn_templates::tera::Tera;
3
4use crate::{RocketBuild, RocketIgnite, RocketOrbit, RouteList};
5
6pub trait RouteExport: 'static + Sync + Send {
7    fn routes(&self) -> RouteList {
8        vec![]
9    }
10    #[allow(unused)]
11    fn build(&self, rocket: RocketBuild, userdata: ArcRwUserdata) -> Result<RocketBuild, String> {
12        Ok(rocket)
13    }
14    #[allow(unused)]
15    fn ignite(&self, rocket: RocketIgnite, userdata: ArcRwUserdata) -> Result<RocketIgnite,String> {
16        Ok(rocket)
17    }
18    fn base(&self) -> &'static str {
19        "/"
20    }
21    #[allow(unused)]
22    fn orbit(&self, rocket: &RocketOrbit, userdata: ArcRwUserdata) -> Result<(),String> {
23        Ok(())
24    }
25    #[allow(unused)]
26    fn tera(&self, tera: &mut Tera, userdata: ArcRwUserdata) {}
27}
28pub type RouteExportList = Vec<Box<dyn RouteExport>>;