use millennium_macros::{command_enum, CommandModule};
use serde::Deserialize;
use super::InvokeContext;
use crate::Runtime;
#[command_enum]
#[derive(Deserialize, CommandModule)]
#[serde(tag = "cmd", rename_all = "camelCase")]
#[allow(clippy::enum_variant_names)]
pub enum Cmd {
GetAppVersion,
GetAppName,
GetMillenniumVersion
}
impl Cmd {
fn get_app_version<R: Runtime>(context: InvokeContext<R>) -> super::Result<String> {
Ok(context.package_info.version.to_string())
}
fn get_app_name<R: Runtime>(context: InvokeContext<R>) -> super::Result<String> {
Ok(context.package_info.name)
}
fn get_millennium_version<R: Runtime>(_context: InvokeContext<R>) -> super::Result<&'static str> {
Ok(env!("CARGO_PKG_VERSION"))
}
}