--assign
This commit is contained in:
		
							parent
							
								
									7cd12f151c
								
							
						
					
					
						commit
						e12717fe5f
					
				| @ -323,6 +323,55 @@ pub fn core_main() -> Option<Vec<String>> { | |||||||
|                 println!("Installation and administrative privileges required!"); |                 println!("Installation and administrative privileges required!"); | ||||||
|             } |             } | ||||||
|             return None; |             return None; | ||||||
|  |         } else if args[0] == "--assign" { | ||||||
|  |             if crate::platform::is_installed() && is_root() { | ||||||
|  |                 let max = args.len() - 1; | ||||||
|  |                 let pos = args.iter().position(|x| x == "--token").unwrap_or(max); | ||||||
|  |                 if pos < max { | ||||||
|  |                     let token = args[pos + 1].to_owned(); | ||||||
|  |                     let id = crate::ipc::get_id(); | ||||||
|  |                     let uuid = crate::encode64(hbb_common::get_uuid()); | ||||||
|  |                     let mut user_name = None; | ||||||
|  |                     let pos = args.iter().position(|x| x == "--user_name").unwrap_or(max); | ||||||
|  |                     if pos < max { | ||||||
|  |                         user_name = Some(args[pos + 1].to_owned()); | ||||||
|  |                     } | ||||||
|  |                     let mut strategy_name = None; | ||||||
|  |                     let pos = args | ||||||
|  |                         .iter() | ||||||
|  |                         .position(|x| x == "--strategy_name") | ||||||
|  |                         .unwrap_or(max); | ||||||
|  |                     if pos < max { | ||||||
|  |                         strategy_name = Some(args[pos + 1].to_owned()); | ||||||
|  |                     } | ||||||
|  |                     let mut body = serde_json::json!({ | ||||||
|  |                         "id": id, | ||||||
|  |                         "uuid": uuid, | ||||||
|  |                     }); | ||||||
|  |                     let header = "Authorization: Bearer ".to_owned() + &token; | ||||||
|  |                     if user_name.is_none() && strategy_name.is_none() { | ||||||
|  |                         println!("--user_name or --strategy_name is required!"); | ||||||
|  |                     } else { | ||||||
|  |                         if let Some(name) = user_name { | ||||||
|  |                             body["user_name"] = serde_json::json!(name); | ||||||
|  |                         } | ||||||
|  |                         if let Some(name) = strategy_name { | ||||||
|  |                             body["strategy_name"] = serde_json::json!(name); | ||||||
|  |                         } | ||||||
|  |                         let url = crate::ui_interface::get_api_server() + "/api/devices/cli"; | ||||||
|  |                         if let Err(err) = crate::post_request_sync(url, body.to_string(), &header) { | ||||||
|  |                             println!("{}", err); | ||||||
|  |                         } else { | ||||||
|  |                             println!("Done!"); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } else { | ||||||
|  |                     println!("--token is required!"); | ||||||
|  |                 } | ||||||
|  |             } else { | ||||||
|  |                 println!("Installation and administrative privileges required!"); | ||||||
|  |             } | ||||||
|  |             return None; | ||||||
|         } else if args[0] == "--check-hwcodec-config" { |         } else if args[0] == "--check-hwcodec-config" { | ||||||
|             #[cfg(feature = "hwcodec")] |             #[cfg(feature = "hwcodec")] | ||||||
|             scrap::hwcodec::check_config(); |             scrap::hwcodec::check_config(); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user