diff options
Diffstat (limited to 'src/models/event.rs')
-rw-r--r-- | src/models/event.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/models/event.rs b/src/models/event.rs index 646673d..baa44fc 100644 --- a/src/models/event.rs +++ b/src/models/event.rs @@ -37,13 +37,27 @@ impl Event { }).await } - pub async fn create(db: &db::Connection, eventname: String, desc: String) -> QueryResult<usize> { + pub async fn get_event(db: &db::Connection, eventid: i32) -> QueryResult<Event> { + db.run(move |conn| { + use crate::schema::event::dsl::*; + event.filter(id.eq(eventid)).first(conn) + }).await + } + + pub async fn get_all_events(db: &db::Connection) -> QueryResult<Vec<Event>> { + db.run(|conn| { + use crate::schema::event::dsl::*; + event.load(conn) + }).await + } + + pub async fn create(db: &db::Connection, eventname: String, desc: String) -> QueryResult<Event> { db.run(move |conn| { use crate::schema::event::dsl::*; let new_event = (name.eq(&eventname), description.eq(&desc)); diesel::insert_into(event) .values(&new_event) - .execute(conn) + .get_result(conn) }).await } } |