use anyhow::Result;
use dropshot::ApiDescription;

use std::sync::Arc;

use crate::context::ControllerContext;
use crate::user;
use crate::version;

type ControllerApiDescription = ApiDescription<Arc<ControllerContext>>;

pub fn api() -> Result<ControllerApiDescription> {
    let mut api = ControllerApiDescription::new();
    api.register(user::get_user_by_id)?;
    api.register(version::version)?;
    Ok(api)
}