use elura::world::{Route, WorldContext, WorldModuleRegistry};
use elura::Result;
use crate::proto::{{MODULE}}::v2::{{TYPE}}Request;
use crate::proto::{{MODULE}}::v2::{{TYPE}}Response;
pub struct {{TYPE}};
impl Route for {{TYPE}} {
const ID: u32 = {{ROUTE_ID}};
const NAME: &'static str = "{{MODULE}}.{{ROUTE}}";
type Request = {{TYPE}}Request;
type Response = {{TYPE}}Response;
}
pub fn mount(world: &mut WorldModuleRegistry<'_>) -> Result<()> {
world.route({{TYPE}}, handle)?;
Ok(())
}
async fn handle(_context: WorldContext, _request: {{TYPE}}Request) -> Result<{{TYPE}}Response> {
Ok({{TYPE}}Response::default())
}