From 9e6168b5e16b9759dadc1befff4e6fa4739a1ea1 Mon Sep 17 00:00:00 2001 From: Mitchell Marino Date: Sun, 16 Apr 2023 13:38:07 -0500 Subject: [PATCH] event endpoint tweaks --- src/events.rs | 7 ++++--- src/models.rs | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/events.rs b/src/events.rs index 54a5d9d..9ea614d 100644 --- a/src/events.rs +++ b/src/events.rs @@ -10,7 +10,7 @@ use sqlx::{query, query_as}; use crate::{ jwt::handle_token, - models::{Event, EventType, GetEventQuery, NewEventRequestEntry, Role}, + models::{Event, EventType, EventWithConfirmed, GetEventQuery, NewEventRequestEntry, Role}, AppState, }; @@ -120,7 +120,7 @@ pub async fn get_recent_events( }; let result = query_as!( - Event, + EventWithConfirmed, r#" SELECT e.id, @@ -132,7 +132,8 @@ pub async fn get_recent_events( e.points, e.place, e.price, - e.created_by + e.created_by, + ea.confirmed FROM events e INNER JOIN event_attendees ea ON ea.event_id = e.id diff --git a/src/models.rs b/src/models.rs index af460c3..afc9dc6 100644 --- a/src/models.rs +++ b/src/models.rs @@ -63,6 +63,25 @@ pub struct GetEventQuery { pub id: i32, } +/// The model for an Event in the db. +#[derive(Clone, Serialize, Debug)] +pub struct EventWithConfirmed { + pub id: i32, + pub title: String, + pub description: String, + #[serde(with = "serde_datetime")] + pub time_start: NaiveDateTime, + #[serde(with = "serde_datetime")] + pub time_end: NaiveDateTime, + pub event_type: EventType, + pub points: i32, + pub place: Option, + #[serde(with = "serde_big_decimal")] + pub price: BigDecimal, + pub confirmed: bool, + pub created_by: Option, +} + /// The model for an Event in the db. #[derive(Clone, Serialize, Debug)] pub struct Event {