32 lines
834 B
Rust
32 lines
834 B
Rust
#[macro_use]
|
|
extern crate rocket;
|
|
|
|
mod antennas;
|
|
|
|
use std::path::{Path, PathBuf};
|
|
|
|
use rocket::fs::NamedFile;
|
|
use rocket::response::status::NotFound;
|
|
|
|
use kairo_common::postgres;
|
|
|
|
#[get("/<file..>")]
|
|
async fn serve_file(file: PathBuf) -> Result<NamedFile, NotFound<String>> {
|
|
let path = Path::new("static/").join(file);
|
|
NamedFile::open(&path)
|
|
.await
|
|
.map_err(|e| NotFound(e.to_string()))
|
|
}
|
|
|
|
#[launch]
|
|
fn rocket() -> _ {
|
|
rocket::build()
|
|
.manage(postgres::init_pool())
|
|
.mount("/static", routes![serve_file])
|
|
.mount("/antennas/", routes![antennas::get_by_id])
|
|
.mount("/antennas/", routes![antennas::get_list])
|
|
.mount("/antennas/", routes![antennas::delete])
|
|
.mount("/antennas/", routes![antennas::update])
|
|
.mount("/antennas/", routes![antennas::new])
|
|
}
|