elura-cli 0.2.6

Project scaffold generator for Elura applications
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())
}