aboutsummaryrefslogtreecommitdiffstats
path: root/src/controllers/room.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/controllers/room.rs')
-rw-r--r--src/controllers/room.rs17
1 files changed, 15 insertions, 2 deletions
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<Vec<models::Room>> {
+#[derive(Serialize)]
+struct Context {
+ rooms : Vec<models::Room>,
+}
+
+#[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<Vec<models::Room>> {
Json(db.get_rooms().unwrap())
}