nomilo/src/main.rs

40 lines
842 B
Rust
Raw Normal View History

2021-03-20 02:31:41 +00:00
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
2021-03-26 22:30:38 +00:00
#[macro_use] extern crate diesel;
2021-03-20 18:18:08 +00:00
mod models;
2021-03-20 02:31:41 +00:00
mod config;
2021-03-26 22:30:38 +00:00
mod schema;
2021-04-02 20:09:51 +00:00
mod routes;
2022-03-04 12:08:03 +00:00
mod dns;
2021-03-20 02:31:41 +00:00
2021-04-02 20:09:51 +00:00
use routes::users::*;
use routes::zones::*;
2022-04-22 17:16:57 +00:00
use rocket_sync_db_pools::database;
2021-03-26 22:30:38 +00:00
2021-03-20 18:18:08 +00:00
2021-03-26 22:30:38 +00:00
#[database("db")]
pub struct DbConn(diesel::SqliteConnection);
2021-03-20 02:31:41 +00:00
2021-04-02 17:33:59 +00:00
#[launch]
2022-04-22 17:16:57 +00:00
async fn rocket() -> _ {
2021-03-20 02:31:41 +00:00
let app_config = config::load("config.toml".into());
2021-03-27 17:23:19 +00:00
println!("{:#?}", app_config);
2021-03-20 02:31:41 +00:00
2022-04-22 17:16:57 +00:00
rocket::build()
2021-03-27 17:23:19 +00:00
.manage(app_config)
2021-03-26 22:30:38 +00:00
.attach(DbConn::fairing())
.mount("/api/v1", routes![
get_zone_records,
2021-07-01 18:45:49 +00:00
create_zone_records,
2022-03-04 20:55:27 +00:00
update_zone_records,
2022-03-05 12:07:51 +00:00
delete_zone_records,
2021-05-02 13:56:42 +00:00
get_zones,
2021-05-02 15:19:32 +00:00
create_zone,
2021-05-02 13:56:42 +00:00
add_member_to_zone,
create_auth_token,
2022-03-05 12:07:51 +00:00
create_user,
])
2021-03-20 02:31:41 +00:00
}