aboutsummaryrefslogtreecommitdiffstats
path: root/src/models/screening.rs
diff options
context:
space:
mode:
authorHarald Eilertsen <haraldei@anduin.net>2019-04-08 15:55:14 +0200
committerHarald Eilertsen <haraldei@anduin.net>2019-04-08 15:55:14 +0200
commitad0e585abed7a189b6117e9187c9afff809d1414 (patch)
treed1e80624e0f87882e90c0fe87a99a817e7edc61d /src/models/screening.rs
parent5ab5f490bc7199709fbc03d51bf6131e92269fdc (diff)
downloadramaskrik-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.rs36
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)
-}