From 3267754478ea1b83c3da653c4a5f9706c9fdce05 Mon Sep 17 00:00:00 2001 From: Harald Eilertsen Date: Sat, 22 Aug 2020 17:02:30 +0200 Subject: Use Tera templates to render pages. --- src/controllers/room.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/controllers') diff --git a/src/controllers/room.rs b/src/controllers/room.rs index 419afae..43d3e60 100644 --- a/src/controllers/room.rs +++ b/src/controllers/room.rs @@ -24,9 +24,22 @@ use crate::{ use rocket::get; use rocket_contrib::{ json::Json, + templates::Template, }; +use serde::Serialize; -#[get("/")] -pub fn get_rooms(db: db::Connection) -> Json> { +#[derive(Serialize)] +struct Context { + rooms : Vec, +} + +#[get("/", rank = 1)] +pub fn list_rooms(db: db::Connection) -> Template { + let ctx = Context { rooms: db.get_rooms().unwrap() }; + Template::render("room/list", &ctx) +} + +#[get("/", format = "application/json", rank = 2)] +pub fn get_rooms_json(db: db::Connection) -> Json> { Json(db.get_rooms().unwrap()) } -- cgit v1.2.3