diff options
Diffstat (limited to 'src/db.rs')
-rw-r--r-- | src/db.rs | 24 |
1 files changed, 14 insertions, 10 deletions
@@ -34,25 +34,29 @@ pub struct Connection(diesel::PgConnection); impl Connection { pub fn create_screening( &self, - room: &models::Room, - film: &models::Film, + room_id: i32, + film_id: i32, date: chrono::NaiveDate, start_time: chrono::NaiveTime, end_time: chrono::NaiveTime) -> QueryResult<usize> { - let s = models::NewScreening { - room_id: room.id, - film_id: film.id, - date: date, - start_time: start_time, - end_time: end_time, - }; - + let s = models::NewScreening { room_id, film_id, date, start_time, end_time }; diesel::insert_into(screenings::table) .values(&s) .execute(&**self) } + pub fn create_screening_from_aggregate( + &self, + room: &models::Room, + film: &models::Film, + date: chrono::NaiveDate, + start_time: chrono::NaiveTime, + end_time: chrono::NaiveTime) -> QueryResult<usize> + { + self.create_screening(room.id, film.id, date, start_time, end_time) + } + pub fn get_screenings(&self) -> QueryResult<Vec<models::Screening>> { use crate::schema::screenings::dsl::*; screenings.load(&**self) |