From cfdde5c3d23d57e79c26731fded990de7d0080d1 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Mon, 2 Nov 2020 14:16:35 -0500 Subject: [PATCH] a few cleanups --- backend/src/api.rs | 20 ++++++++++++++++++++ backend/src/main.rs | 1 + 2 files changed, 21 insertions(+) diff --git a/backend/src/api.rs b/backend/src/api.rs index fbfa7da..d96b876 100644 --- a/backend/src/api.rs +++ b/backend/src/api.rs @@ -156,6 +156,26 @@ pub fn make_switch(conn: MainDatabase, who: StringBody) -> Result { Ok(to.cmene) } +#[get("/switches/")] +#[instrument(skip(conn), err)] +pub fn get_switch(conn: MainDatabase, switch_id: String) -> Result> { + use schema::{members, switches::dsl::switches}; + + let (switch, member): (models::Switch, models::Member) = switches + .find(switch_id) + .inner_join(members::table) + .get_result(&*conn) + .map_err(Error::Database)?; + + Ok(Json(FrontChange { + id: switch.id, + who: member.cmene, + started_at: switch.started_at, + ended_at: switch.ended_at, + duration: switch.duration, + })) +} + #[derive(Debug)] pub struct StringBody(String); diff --git a/backend/src/main.rs b/backend/src/main.rs index 93187cf..6d07c65 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -41,6 +41,7 @@ fn main() -> Result<()> { routes![ api::get_members, api::get_switches, + api::get_switch, api::get_current_front, api::make_switch ],