41 lines
910 B
Rust
41 lines
910 B
Rust
|
#[macro_use]
|
||
|
extern crate rocket;
|
||
|
|
||
|
#[launch]
|
||
|
fn rocket() -> _ {
|
||
|
rocket::build()
|
||
|
.attach(Template::fairing())
|
||
|
.mount("/", routes![show_services])
|
||
|
}
|
||
|
|
||
|
use ::services::establish_connection;
|
||
|
use diesel::prelude::*;
|
||
|
use services::models::*;
|
||
|
|
||
|
use rocket_dyn_templates::Template;
|
||
|
|
||
|
#[get("/")]
|
||
|
fn show_services() -> Template /*std::string::String*/ {
|
||
|
use ::services::schema::services::dsl::*;
|
||
|
|
||
|
let connection = &mut establish_connection();
|
||
|
let results = services
|
||
|
.limit(5)
|
||
|
.select(Services::as_select())
|
||
|
.load(connection)
|
||
|
.expect("Error loading services");
|
||
|
|
||
|
let mut service_urls = Vec::new();
|
||
|
for service in &results {
|
||
|
service_urls.push(&service.url);
|
||
|
}
|
||
|
|
||
|
let services_num = &results.len().to_string();
|
||
|
|
||
|
let mut btreemap = std::collections::BTreeMap::new();
|
||
|
btreemap.insert("services", service_urls);
|
||
|
btreemap.insert("services_num", vec![services_num]);
|
||
|
|
||
|
Template::render("hello", &btreemap)
|
||
|
}
|