diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2019-04-08 15:55:14 +0200 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2019-04-08 15:55:14 +0200 |
commit | ad0e585abed7a189b6117e9187c9afff809d1414 (patch) | |
tree | d1e80624e0f87882e90c0fe87a99a817e7edc61d /src/models/screening.rs | |
parent | 5ab5f490bc7199709fbc03d51bf6131e92269fdc (diff) | |
download | ramaskrik-social-ad0e585abed7a189b6117e9187c9afff809d1414.tar.gz ramaskrik-social-ad0e585abed7a189b6117e9187c9afff809d1414.tar.bz2 ramaskrik-social-ad0e585abed7a189b6117e9187c9afff809d1414.zip |
Move functions to query/modify db to connection object.
Makes tha API a bit nicer by asking the database rather than
passing the database on to each model. Reserve models for
method/functions that work on the model structs themselves.
Diffstat (limited to 'src/models/screening.rs')
-rw-r--r-- | src/models/screening.rs | 36 |
1 files changed, 1 insertions, 35 deletions
diff --git a/src/models/screening.rs b/src/models/screening.rs index cd08e88..5058d65 100644 --- a/src/models/screening.rs +++ b/src/models/screening.rs @@ -16,12 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -use crate::{ - db::Connection, - models::{film::Film, room::Room}, - schema::*, -}; -use diesel::prelude::*; +use crate::schema::*; use serde_derive::{Deserialize, Serialize}; joinable!(screenings -> rooms (room_id)); @@ -46,32 +41,3 @@ pub struct NewScreening { pub start_time: chrono::NaiveTime, pub end_time: chrono::NaiveTime, } - -pub fn get_all(db: &Connection) -> QueryResult<Vec<(Screening, Option<Film>, Option<Room>)>> { - use crate::schema::screenings::dsl::*; - screenings - .left_join(films::table) - .left_join(rooms::table) - .get_results::<(Screening, Option<Film>, Option<Room>)>(&**db) -} - -pub fn create( - room: &Room, - film: &Film, - date: chrono::NaiveDate, - start_time: chrono::NaiveTime, - end_time: chrono::NaiveTime, - db: &Connection) -> QueryResult<usize> -{ - let s = NewScreening { - room_id: room.id, - film_id: film.id, - date: date, - start_time: start_time, - end_time: end_time, - }; - - diesel::insert_into(screenings::table) - .values(&s) - .execute(&**db) -} |