48 lines
1.6 KiB
Rust
48 lines
1.6 KiB
Rust
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::<Server>();
|
|
engine.build_type::<SshKey>();
|
|
engine.build_type::<Boot>();
|
|
engine.build_type::<Rescue>();
|
|
engine.build_type::<Linux>();
|
|
engine.build_type::<Vnc>();
|
|
engine.build_type::<Windows>();
|
|
engine.build_type::<Plesk>();
|
|
engine.build_type::<Cpanel>();
|
|
engine.build_type::<Cancellation>();
|
|
engine.build_type::<OrderServerProduct>();
|
|
engine.build_type::<Transaction>();
|
|
engine.build_type::<AuthorizedKey>();
|
|
engine.build_type::<TransactionProduct>();
|
|
engine.build_type::<HostKey>();
|
|
engine.build_type::<AuctionServerProduct>();
|
|
engine.build_type::<AuctionTransaction>();
|
|
engine.build_type::<AuctionTransactionProduct>();
|
|
engine.build_type::<OrderAuctionServerBuilder>();
|
|
engine.build_type::<OrderServerBuilder>();
|
|
|
|
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)
|
|
}
|