Compare commits
	
		
			No commits in common. "36df27f3e6df0f0ca0a7004f27e2f1e432beedba" and "30fc217ac381e5722622f172d437c141dc238227" have entirely different histories.
		
	
	
		
			36df27f3e6
			...
			30fc217ac3
		
	
		
| @ -1,8 +1,7 @@ | |||||||
| use clap::{builder::PossibleValue, Arg, ArgMatches, Command}; | use clap::{builder::PossibleValue, Arg, ArgMatches, Command}; | ||||||
| use clap_complete::{generate, Shell}; | use clap_complete::{generate, Shell}; | ||||||
| use detee_cli::general::cli_handler::handle_operators; |  | ||||||
| use detee_cli::sgx::cli_handler::handle_app; | use detee_cli::sgx::cli_handler::handle_app; | ||||||
| use detee_cli::snp::cli_handler::{handle_vm, handle_vm_nodes}; | use detee_cli::snp::cli_handler::handle_vm; | ||||||
| use detee_cli::*; | use detee_cli::*; | ||||||
| use std::error::Error; | use std::error::Error; | ||||||
| use std::io; | use std::io; | ||||||
| @ -600,6 +599,26 @@ fn handle_completion(matches: &ArgMatches, cmd: Command) { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | fn handle_vm_nodes(matches: &ArgMatches) { | ||||||
|  |     match matches.subcommand() { | ||||||
|  |         Some(("search", _)) => cli_print(snp::print_nodes().map_err(Into::into)), | ||||||
|  |         Some(("inspect", path_subcommand)) => { | ||||||
|  |             let ip: String = path_subcommand.get_one::<String>("ip").unwrap().clone(); | ||||||
|  |             cli_print(snp::inspect_node(ip).map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("report", path_subcommand)) => { | ||||||
|  |             let node_pubkey: String = path_subcommand.get_one::<String>("pubkey").unwrap().clone(); | ||||||
|  |             let contract_uuid: String = | ||||||
|  |                 path_subcommand.get_one::<String>("contract").unwrap().clone(); | ||||||
|  |             let reason: String = path_subcommand.get_one::<String>("reason").unwrap().clone(); | ||||||
|  |             cli_print(snp::report_node(node_pubkey, contract_uuid, reason).map_err(Into::into)) | ||||||
|  |         } | ||||||
|  |         _ => { | ||||||
|  |             println!("Available commands are search and report. Use --help for more information.") | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| fn handle_account(matches: &ArgMatches) { | fn handle_account(matches: &ArgMatches) { | ||||||
|     match matches.subcommand() { |     match matches.subcommand() { | ||||||
|         Some(("show", _)) => cli_print(Ok(config::Config::get_account_data())), |         Some(("show", _)) => cli_print(Ok(config::Config::get_account_data())), | ||||||
| @ -619,6 +638,39 @@ fn handle_account(matches: &ArgMatches) { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | fn handle_operators(matches: &ArgMatches) { | ||||||
|  |     match matches.subcommand() { | ||||||
|  |         Some(("list", _)) => { | ||||||
|  |             cli_print(crate::operators::print_operators().map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("register", subcom_args)) => { | ||||||
|  |             let escrow: u64 = *subcom_args.get_one::<u64>("escrow").unwrap(); | ||||||
|  |             let email: String = subcom_args.get_one::<String>("email").unwrap().clone(); | ||||||
|  |             cli_print(crate::operators::register(escrow, email).map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("inspect", inspect_args)) => { | ||||||
|  |             let wallet = match inspect_args.get_one::<String>("wallet") { | ||||||
|  |                 Some(wallet) => wallet.to_string(), | ||||||
|  |                 None => config::Config::get_detee_wallet().unwrap_or("".to_string()), | ||||||
|  |             }; | ||||||
|  |             cli_print(crate::operators::inspect_operator(wallet).map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("kick", subcom_args)) => { | ||||||
|  |             let uuid: String = subcom_args.get_one::<String>("contract").unwrap().clone(); | ||||||
|  |             let reason: String = subcom_args.get_one::<String>("reason").unwrap().clone(); | ||||||
|  |             cli_print(crate::operators::kick(uuid, reason).map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("ban-user", subcom_args)) => { | ||||||
|  |             let user_wallet: String = subcom_args.get_one::<String>("wallet").unwrap().clone(); | ||||||
|  |             cli_print(crate::operators::ban(user_wallet).map_err(Into::into)); | ||||||
|  |         } | ||||||
|  |         Some(("decom", _)) => { | ||||||
|  |             todo!("Currently decomissioning is not supported. Will be "); | ||||||
|  |         } | ||||||
|  |         _ => println!("To get more information about operators, use: detee-cli operator --help"), | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| fn handle_packagers( | fn handle_packagers( | ||||||
|     _matches: &ArgMatches, |     _matches: &ArgMatches, | ||||||
| ) -> Result<Vec<crate::packagers::Packager>, Box<dyn Error>> { | ) -> Result<Vec<crate::packagers::Packager>, Box<dyn Error>> { | ||||||
|  | |||||||
| @ -1,36 +0,0 @@ | |||||||
| use super::operators; |  | ||||||
| use crate::{cli_print, config}; |  | ||||||
| use clap::ArgMatches; |  | ||||||
| 
 |  | ||||||
| pub fn handle_operators(matches: &ArgMatches) { |  | ||||||
|     match matches.subcommand() { |  | ||||||
|         Some(("list", _)) => { |  | ||||||
|             cli_print(operators::print_operators().map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("register", subcom_args)) => { |  | ||||||
|             let escrow: u64 = *subcom_args.get_one::<u64>("escrow").unwrap(); |  | ||||||
|             let email: String = subcom_args.get_one::<String>("email").unwrap().clone(); |  | ||||||
|             cli_print(operators::register(escrow, email).map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("inspect", inspect_args)) => { |  | ||||||
|             let wallet = match inspect_args.get_one::<String>("wallet") { |  | ||||||
|                 Some(wallet) => wallet.to_string(), |  | ||||||
|                 None => config::Config::get_detee_wallet().unwrap_or("".to_string()), |  | ||||||
|             }; |  | ||||||
|             cli_print(operators::inspect_operator(wallet).map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("kick", subcom_args)) => { |  | ||||||
|             let uuid: String = subcom_args.get_one::<String>("contract").unwrap().clone(); |  | ||||||
|             let reason: String = subcom_args.get_one::<String>("reason").unwrap().clone(); |  | ||||||
|             cli_print(operators::kick(uuid, reason).map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("ban-user", subcom_args)) => { |  | ||||||
|             let user_wallet: String = subcom_args.get_one::<String>("wallet").unwrap().clone(); |  | ||||||
|             cli_print(operators::ban(user_wallet).map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("decom", _)) => { |  | ||||||
|             todo!("Currently decomissioning is not supported. Will be "); |  | ||||||
|         } |  | ||||||
|         _ => println!("To get more information about operators, use: detee-cli operator --help"), |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -1,3 +0,0 @@ | |||||||
| pub mod cli_handler; |  | ||||||
| pub mod operators; |  | ||||||
| // pub mod grpc;
 |  | ||||||
| @ -1,7 +1,7 @@ | |||||||
| pub mod config; | pub mod config; | ||||||
| pub mod constants; | pub mod constants; | ||||||
| pub mod general; |  | ||||||
| pub mod name_generator; | pub mod name_generator; | ||||||
|  | pub mod operators; | ||||||
| pub mod packagers; | pub mod packagers; | ||||||
| pub mod sgx; | pub mod sgx; | ||||||
| pub mod snp; | pub mod snp; | ||||||
|  | |||||||
| @ -26,12 +26,12 @@ impl From<grpc::brain::ListOperatorsResp> for TabledOperator { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn register(escrow: u64, email: String) -> Result<crate::SimpleOutput, grpc::Error> { | pub fn register(escrow: u64, email: String) -> Result<super::SimpleOutput, grpc::Error> { | ||||||
|     block_on(grpc::register_operator(escrow, email))?; |     block_on(grpc::register_operator(escrow, email))?; | ||||||
|     Ok(crate::SimpleOutput::from("Successfully registered you as operator.")) |     Ok(super::SimpleOutput::from("Successfully registered you as operator.")) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| impl crate::HumanOutput for brain::InspectOperatorResp { | impl super::HumanOutput for brain::InspectOperatorResp { | ||||||
|     fn human_cli_print(&self) { |     fn human_cli_print(&self) { | ||||||
|         match &self.operator { |         match &self.operator { | ||||||
|             Some(op) => { |             Some(op) => { | ||||||
| @ -65,7 +65,7 @@ pub fn inspect_operator(wallet: String) -> Result<brain::InspectOperatorResp, gr | |||||||
|     block_on(grpc::inspect_operator(wallet)) |     block_on(grpc::inspect_operator(wallet)) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| impl crate::HumanOutput for Vec<brain::ListOperatorsResp> { | impl super::HumanOutput for Vec<brain::ListOperatorsResp> { | ||||||
|     fn human_cli_print(&self) { |     fn human_cli_print(&self) { | ||||||
|         let operators: Vec<TabledOperator> = self.iter().map(|op| op.clone().into()).collect(); |         let operators: Vec<TabledOperator> = self.iter().map(|op| op.clone().into()).collect(); | ||||||
| 
 | 
 | ||||||
| @ -80,14 +80,14 @@ pub fn print_operators() -> Result<Vec<brain::ListOperatorsResp>, grpc::Error> { | |||||||
|     Ok(block_on(grpc::list_operators())?) |     Ok(block_on(grpc::list_operators())?) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn kick(contract_uuid: String, reason: String) -> Result<crate::SimpleOutput, grpc::Error> { | pub fn kick(contract_uuid: String, reason: String) -> Result<super::SimpleOutput, grpc::Error> { | ||||||
|     let nano_lp = block_on(grpc::kick_contract(contract_uuid, reason))?; |     let nano_lp = block_on(grpc::kick_contract(contract_uuid, reason))?; | ||||||
|     Ok(crate::SimpleOutput::from( |     Ok(super::SimpleOutput::from( | ||||||
|         format!("Successfully terminated contract. Refunded {} nanoLP.", nano_lp).as_str(), |         format!("Successfully terminated contract. Refunded {} nanoLP.", nano_lp).as_str(), | ||||||
|     )) |     )) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn ban(wallet: String) -> Result<crate::SimpleOutput, grpc::Error> { | pub fn ban(wallet: String) -> Result<super::SimpleOutput, grpc::Error> { | ||||||
|     block_on(grpc::ban_user(wallet))?; |     block_on(grpc::ban_user(wallet))?; | ||||||
|     Ok(crate::SimpleOutput::from("Successfully banned user")) |     Ok(super::SimpleOutput::from("Successfully banned user")) | ||||||
| } | } | ||||||
| @ -24,27 +24,6 @@ pub fn handle_vm(matches: &ArgMatches) { | |||||||
|         _ => println!("No valid VM subcommand provided."), |         _ => println!("No valid VM subcommand provided."), | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 |  | ||||||
| pub fn handle_vm_nodes(matches: &ArgMatches) { |  | ||||||
|     match matches.subcommand() { |  | ||||||
|         Some(("search", _)) => cli_print(snp::print_nodes().map_err(Into::into)), |  | ||||||
|         Some(("inspect", path_subcommand)) => { |  | ||||||
|             let ip: String = path_subcommand.get_one::<String>("ip").unwrap().clone(); |  | ||||||
|             cli_print(snp::inspect_node(ip).map_err(Into::into)); |  | ||||||
|         } |  | ||||||
|         Some(("report", path_subcommand)) => { |  | ||||||
|             let node_pubkey: String = path_subcommand.get_one::<String>("pubkey").unwrap().clone(); |  | ||||||
|             let contract_uuid: String = |  | ||||||
|                 path_subcommand.get_one::<String>("contract").unwrap().clone(); |  | ||||||
|             let reason: String = path_subcommand.get_one::<String>("reason").unwrap().clone(); |  | ||||||
|             cli_print(snp::report_node(node_pubkey, contract_uuid, reason).map_err(Into::into)) |  | ||||||
|         } |  | ||||||
|         _ => { |  | ||||||
|             println!("Available commands are search and report. Use --help for more information.") |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| fn handle_vm_deploy(matches: &ArgMatches) -> Result<snp::VmSshArgs, Box<dyn Error>> { | fn handle_vm_deploy(matches: &ArgMatches) -> Result<snp::VmSshArgs, Box<dyn Error>> { | ||||||
|     if let Some(path) = matches.get_one::<String>("yaml-path") { |     if let Some(path) = matches.get_one::<String>("yaml-path") { | ||||||
|         return Ok(snp::deploy::Request::load_from_yaml(path)?); |         return Ok(snp::deploy::Request::load_from_yaml(path)?); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user