aboutsummaryrefslogtreecommitdiffstats
path: root/src/db.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db.rs')
-rw-r--r--src/db.rs24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/db.rs b/src/db.rs
index 60ff4fc..cf1c0fb 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -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)