nomilo/src/main.rs

39 lines
902 B
Rust

#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
#[macro_use] extern crate rocket_contrib;
#[macro_use] extern crate diesel;
use trust_dns_client::client::SyncClient;
use trust_dns_client::tcp::TcpClientConnection;
mod models;
mod config;
mod schema;
mod routes;
use routes::users::*;
use routes::zones::*;
#[database("db")]
pub struct DbConn(diesel::SqliteConnection);
type DnsClient = SyncClient<TcpClientConnection>;
#[launch]
fn rocket() -> rocket::Rocket {
let app_config = config::load("config.toml".into());
println!("{:#?}", app_config);
let conn = TcpClientConnection::new(app_config.dns.server).unwrap();
let client = SyncClient::new(conn);
rocket::ignite()
.manage(client)
.manage(app_config)
.attach(DbConn::fairing())
.mount("/api/v1", routes![get_zone_records, create_auth_token, create_user])
}