use crate::api::Client; use crate::api::models::{ AuctionServerProduct, AuctionTransaction, AuctionTransactionProduct, AuthorizedKey, Boot, Cancellation, Cpanel, HostKey, Linux, OrderAuctionServerBuilder, OrderServerBuilder, OrderServerProduct, Plesk, Rescue, Server, SshKey, Transaction, TransactionProduct, Vnc, Windows }; use rhai::{Engine, Scope}; pub mod boot; pub mod printing; pub mod server; pub mod server_ordering; pub mod ssh_keys; pub fn setup_engine(client: Client) -> (Engine, Scope<'static>) { let mut engine = Engine::new(); let mut scope = Scope::new(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); engine.build_type::(); server::register(&mut engine); ssh_keys::register(&mut engine); boot::register(&mut engine); printing::register(&mut engine); server_ordering::register(&mut engine); scope.push("hetzner", client); (engine, scope) }