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>>;