summaryrefslogtreecommitdiff
path: root/src/cmd/cmds
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/cmds')
-rw-r--r--src/cmd/cmds/status.rs45
-rw-r--r--src/cmd/cmds/template.rs45
2 files changed, 90 insertions, 0 deletions
diff --git a/src/cmd/cmds/status.rs b/src/cmd/cmds/status.rs
new file mode 100644
index 0000000..bbc78e8
--- /dev/null
+++ b/src/cmd/cmds/status.rs
@@ -0,0 +1,45 @@
+use clap::Parser;
+use serde::Serialize;
+
+use crate::cmd::{
+ cmd_system::{JVCommand, JVCommandContext},
+ errors::{CmdExecuteError, CmdPrepareError, CmdRenderError},
+ renderer::{JVRenderResult, JVResultRenderer},
+};
+
+pub struct JVStatusCommand;
+
+#[derive(Parser, Debug)]
+pub struct JVStatusArgument;
+
+pub struct JVStatusInput;
+
+#[derive(Serialize)]
+pub struct JVStatusOutput;
+
+impl JVCommand<JVStatusArgument, JVStatusInput, JVStatusOutput, JVStatusRenderer>
+ for JVStatusCommand
+{
+ async fn prepare(
+ _args: JVStatusArgument,
+ _ctx: JVCommandContext,
+ ) -> Result<JVStatusInput, CmdPrepareError> {
+ Ok(JVStatusInput)
+ }
+
+ async fn exec(args: JVStatusInput) -> Result<JVStatusOutput, CmdExecuteError> {
+ todo!()
+ }
+
+ fn get_help_str() -> String {
+ "".to_string()
+ }
+}
+
+pub struct JVStatusRenderer;
+
+impl JVResultRenderer<JVStatusOutput> for JVStatusRenderer {
+ async fn render(data: &JVStatusOutput) -> Result<JVRenderResult, CmdRenderError> {
+ todo!()
+ }
+}
diff --git a/src/cmd/cmds/template.rs b/src/cmd/cmds/template.rs
new file mode 100644
index 0000000..8874121
--- /dev/null
+++ b/src/cmd/cmds/template.rs
@@ -0,0 +1,45 @@
+use clap::Parser;
+use serde::Serialize;
+
+use crate::subcmd::{
+ cmd::JVCommand,
+ errors::{CmdExecuteError, CmdPrepareError, CmdRenderError},
+ renderer::{JVRenderResult, JVResultRenderer},
+};
+
+pub struct JVUnknownCommand;
+
+#[derive(Parser, Debug)]
+pub struct JVUnknownArgument;
+
+pub struct JVUnknownInput;
+
+#[derive(Serialize)]
+pub struct JVUnknownOutput;
+
+impl JVCommand<JVUnknownArgument, JVUnknownInput, JVUnknownOutput, JVStatusRenderer>
+ for JVUnknownCommand
+{
+ async fn prepare(
+ _args: JVUnknownArgument,
+ _ctx: JVCommandContext,
+ ) -> Result<JVUnknownInput, CmdPrepareError> {
+ todo!()
+ }
+
+ async fn exec(_args: JVUnknownInput) -> Result<JVUnknownOutput, CmdExecuteError> {
+ todo!()
+ }
+
+ fn get_help_str() -> String {
+ "".to_string()
+ }
+}
+
+pub struct JVStatusRenderer;
+
+impl JVResultRenderer<JVUnknownOutput> for JVStatusRenderer {
+ async fn render(_data: &JVUnknownOutput) -> Result<JVRenderResult, CmdRenderError> {
+ todo!()
+ }
+}