gbserver/src/services/keywords/create_site.rs

41 lines
1.4 KiB
Rust
Raw Normal View History

2025-07-20 00:03:37 -03:00
use rhai::Dynamic;
use rhai::Engine;
use serde_json::json;
use crate::services::state::AppState;
pub fn create_site_keyword(_state: &AppState, engine: &mut Engine) {
engine
.register_custom_syntax(
&[
"CREATE", "SITE", "$expr$", ",", "$expr$", ",", "$expr$", ",", "$expr$", ",",
"$expr$",
],
true, // Statement
|context, inputs| {
if inputs.len() < 5 {
return Err("Not enough arguments for CREATE SITE".into());
}
let name = context.eval_expression_tree(&inputs[0])?;
let company = context.eval_expression_tree(&inputs[1])?;
let website = context.eval_expression_tree(&inputs[2])?;
let template = context.eval_expression_tree(&inputs[3])?;
let prompt = context.eval_expression_tree(&inputs[4])?;
let result = json!({
"command": "create_site",
"name": name.to_string(),
"company": company.to_string(),
"website": website.to_string(),
"template": template.to_string(),
"prompt": prompt.to_string()
});
println!("CREATE SITE executed: {}", result.to_string());
Ok(Dynamic::UNIT)
},
)
.unwrap();
}