From 64dee345bd983d0652c393c2d340c2dbc45a2927 Mon Sep 17 00:00:00 2001 From: Matthew Booe Date: Thu, 27 Dec 2018 12:13:41 -0500 Subject: [PATCH] Basic database (#19) # Fixes This adds a lot of basic database interactions and provides examples with the members type ## Related Issues - #4 - #5 - #6 --- .travis.yml | 3 +- docs/database-schema.png | Bin 84555 -> 78564 bytes docs/database-schema.xml | 2 +- docs/extra-docker-info.md | 3 +- .../down.sql | 4 + .../up.sql | 30 ++++ src/attendance.rs | 11 ++ src/database.rs | 15 ++ src/event.rs | 16 ++ src/main.rs | 27 ++-- src/member.rs | 137 ++++++++++++++++++ src/schema.rs | 37 +++++ 12 files changed, 270 insertions(+), 15 deletions(-) create mode 100644 migrations/2018-12-19-163802_create_students_and_events/down.sql create mode 100644 migrations/2018-12-19-163802_create_students_and_events/up.sql create mode 100644 src/attendance.rs create mode 100644 src/database.rs create mode 100644 src/event.rs create mode 100644 src/member.rs create mode 100644 src/schema.rs diff --git a/.travis.yml b/.travis.yml index 5beb7a1..8bc8f11 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,4 +6,5 @@ before_script: script: - cargo fmt --all -- --check - cargo build -- cargo test \ No newline at end of file +- cargo test -- --test-threads=1 + diff --git a/docs/database-schema.png b/docs/database-schema.png index 4e3debf19ebeac1d04db35beaddc9bfa2ed9218a..913df2e80b74800dafb4e5c191563a531b32f87b 100644 GIT binary patch literal 78564 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%0A^UxIkdmDOIU(VT;Y-&rI~AZwoy} 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

buB> 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 D7Z!2w diff --git a/docs/database-schema.xml b/docs/database-schema.xml index 31060ed..e564c81 100644 --- a/docs/database-schema.xml +++ b/docs/database-schema.xml @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/extra-docker-info.md b/docs/extra-docker-info.md index d840edf..f96809f 100644 --- a/docs/extra-docker-info.md +++ b/docs/extra-docker-info.md @@ -41,8 +41,9 @@ docker-compose exec backend bash ``` From there all normal Diesel or Rust maintenance commands can be run. Please go to the official documentation for details, a list of commonly used commands are below. -- `cargo upgrade` - `cargo fmt` +- `cargo test -- --test-threads=1` +- `cargo upgrade` - `cargo clippy` - `diesel setup` - `diesel migration generate {name}` diff --git a/migrations/2018-12-19-163802_create_students_and_events/down.sql b/migrations/2018-12-19-163802_create_students_and_events/down.sql new file mode 100644 index 0000000..468999e --- /dev/null +++ b/migrations/2018-12-19-163802_create_students_and_events/down.sql @@ -0,0 +1,4 @@ +-- Remove the member, event, and attendance table +DROP TABLE attendance; -- Remove this first, because it depends on the other tables +DROP TABLE member; +DROP TABLE event; diff --git a/migrations/2018-12-19-163802_create_students_and_events/up.sql b/migrations/2018-12-19-163802_create_students_and_events/up.sql new file mode 100644 index 0000000..ecba77d --- /dev/null +++ b/migrations/2018-12-19-163802_create_students_and_events/up.sql @@ -0,0 +1,30 @@ +-- Create a member table +CREATE TABLE member ( + ufl_username TEXT PRIMARY KEY, + is_info_filled_out BOOLEAN NOT NULL DEFAULT FALSE, + first_name TEXT NOT NULL DEFAULT '', + last_name TEXT NOT NULL DEFAULT '', + discord_username TEXT NOT NULL DEFAULT '', + github_username TEXT NOT NULL DEFAULT '', + server_username TEXT NOT NULL DEFAULT '', + server_key TEXT NOT NULL DEFAULT '', + is_acm_shareable BOOLEAN NOT NULL DEFAULT FALSE, + is_in_email_list BOOLEAN NOT NULL DEFAULT FALSE +); + +-- Create an event table +CREATE TABLE event ( + start_timestamp TIMESTAMPTZ PRIMARY KEY, -- Events can not start at the same time and day + title TEXT NOT NULL, -- Must have title + location TEXT NOT NULL, -- Must have location + description TEXT NOT NULL DEFAULT '', + end_timestamp TIMESTAMPTZ NOT NULL, -- Events must have an end time + image BYTEA NOT NULL DEFAULT '\000'-- Image binary defaults to 0 +); + +-- Create a many to many attendance table +CREATE TABLE attendance ( + ufl_username TEXT REFERENCES member, + start_timestamp TIMESTAMPTZ REFERENCES event, + PRIMARY KEY (ufl_username, start_timestamp) +); diff --git a/src/attendance.rs b/src/attendance.rs new file mode 100644 index 0000000..7b1ce90 --- /dev/null +++ b/src/attendance.rs @@ -0,0 +1,11 @@ +use diesel::prelude::*; +use diesel::sql_types::Timestamptz; + +use super::database; +use super::schema::attendance; + +#[derive(Queryable)] +pub struct Attendance { + pub ufl_username: String, + pub start_timestamp: Timestamptz, +} diff --git a/src/database.rs b/src/database.rs new file mode 100644 index 0000000..d2d3937 --- /dev/null +++ b/src/database.rs @@ -0,0 +1,15 @@ +extern crate diesel; + +use diesel::pg::PgConnection; +use diesel::prelude::*; +use std::env; + +// club_data data is defined in Rocket.toml +#[database("club_data")] +pub struct ClubDbConn(diesel::PgConnection); + +// Create connection for other functions to use +pub fn establish_connection() -> PgConnection { + let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); + PgConnection::establish(&database_url).expect(&format!("Error connecting to {}", database_url)) +} diff --git a/src/event.rs b/src/event.rs new file mode 100644 index 0000000..47f2270 --- /dev/null +++ b/src/event.rs @@ -0,0 +1,16 @@ +use diesel::prelude::*; +use diesel::sql_types::Bytea; +use diesel::sql_types::Timestamptz; + +use super::database; +use super::schema::event; + +#[derive(Queryable)] +pub struct Event { + pub start_timestamp: Timestamptz, + pub title: String, + pub location: String, + pub description: String, + pub end_timestamp: Timestamptz, + pub image: Bytea, +} diff --git a/src/main.rs b/src/main.rs index 291e396..48568f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,31 +1,34 @@ #![feature(proc_macro_hygiene, decl_macro)] +// Temporarily silence warnings caused by Diesel (https://github.com/diesel-rs/diesel/issues/1785) +#![allow(proc_macro_derive_resolution_fallback)] #[macro_use] extern crate rocket; #[macro_use] extern crate rocket_contrib; +#[macro_use] +extern crate diesel; -use diesel::pg::PgConnection; -use diesel::prelude::*; -use rocket_contrib::databases::diesel; -use std::env; - -#[database("club_data")] -struct ClubDbConn(diesel::PgConnection); +// Utility local dependencies +mod database; +mod schema; -pub fn establish_connection() -> PgConnection { - let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); - PgConnection::establish(&database_url).expect(&format!("Error connecting to {}", database_url)) -} +// Table specifc local dependencies +mod attendance; +mod event; +mod member; +// Check to see if the server is working #[get("/")] fn index() -> &'static str { "Hello, world!" } +// Launch the REST server with the database connection fn main() { rocket::ignite() - .attach(ClubDbConn::fairing()) + .attach(database::ClubDbConn::fairing()) + // Note: Be sure to mount all the routes from differnt modules .mount("/", routes![index]) .launch(); } diff --git a/src/member.rs b/src/member.rs new file mode 100644 index 0000000..ce11f23 --- /dev/null +++ b/src/member.rs @@ -0,0 +1,137 @@ +use diesel::prelude::*; + +use super::database; +use super::schema::member; + +/* Struct Setup */ + +// Struct for interacting with the member table +#[derive(Insertable, Queryable)] +#[table_name = "member"] +pub struct Member { + pub ufl_username: String, + pub is_info_filled_out: bool, + pub first_name: String, + pub last_name: String, + pub discord_username: String, + pub github_username: String, + pub server_username: String, + pub server_key: String, + pub is_acm_shareable: bool, + pub is_in_email_list: bool, +} + +// Support creating new members that supply just a UFL username +impl Member { + fn new(ufl_username: &str) -> Self { + Member { + ufl_username: ufl_username.to_string(), + ..Default::default() + } + } +} + +// Set default values for Member +// Note: the UFL username should never be not set (Rust requires all values to have a default) +impl Default for Member { + fn default() -> Member { + Member { + ufl_username: "".to_string(), + is_info_filled_out: false, + first_name: "".to_string(), + last_name: "".to_string(), + github_username: "".to_string(), + discord_username: "".to_string(), + server_username: "".to_string(), + server_key: "".to_string(), + is_acm_shareable: false, + is_in_email_list: false, + } + } +} + +/* CRUD and other functions */ + +// Return all members +pub fn list_members() -> Vec { + let connection = database::establish_connection(); + let results = member::table + .load::(&connection) + .expect("Error loading members"); + results +} + +// Add a member with a UFL username +pub fn add_member(ufl_username: &str) { + let connection = database::establish_connection(); + + let new_member = Member::new(&ufl_username); + + diesel::insert_into(member::table) + .values(&new_member) + .get_result::(&connection) + .expect("Error saving new member"); +} + +// Remove a member by their username +pub fn remove_member(ufl_username: &str) { + let connection = database::establish_connection(); + + let num_deleted = + diesel::delete(member::table.filter(member::columns::ufl_username.eq(ufl_username))) //.like(ufl_username))) + .execute(&connection) + .expect("Error deleting members"); + + println!("Deleted {} members", num_deleted); +} + +/* Unit testing */ + +// Note: Do run the test as `cargo test -- --test-threads=1` to run the database calls in order +#[cfg(test)] +mod tests { + use super::*; + + // Utility function to clear out the whole member table + fn clear_table() { + let connection = database::establish_connection(); + + diesel::delete(member::table) + .execute(&connection) + .expect("Error deleting all members"); + } + + // Check to make sure no members exist by default + #[test] + fn no_members() { + clear_table(); + assert_eq!(Vec::len(&list_members()), 0); + } + + // Check that one member exists after they are created + #[test] + fn one_member() { + clear_table(); + add_member("one_member_test@email.com"); + assert_eq!(Vec::len(&list_members()), 1); + } + + // Check that two members exist agter they are both created + #[test] + fn two_member() { + clear_table(); + add_member("two_member_test_one@email.com"); + add_member("two_member_test_two@email.com"); + assert_eq!(Vec::len(&list_members()), 2); + } + + // Checl that a single member can be deleted after being created + #[test] + fn delete_member() { + clear_table(); + add_member("delete_member_test@email.com"); + remove_member("delete_member_test@email.com"); + assert_eq!(Vec::len(&list_members()), 0); + } + +} diff --git a/src/schema.rs b/src/schema.rs new file mode 100644 index 0000000..e22fe1a --- /dev/null +++ b/src/schema.rs @@ -0,0 +1,37 @@ +table! { + attendance (ufl_username, start_timestamp) { + ufl_username -> Text, + start_timestamp -> Timestamptz, + } +} + +table! { + event (start_timestamp) { + start_timestamp -> Timestamptz, + title -> Text, + location -> Text, + description -> Text, + end_timestamp -> Timestamptz, + image -> Bytea, + } +} + +table! { + member (ufl_username) { + ufl_username -> Text, + is_info_filled_out -> Bool, + first_name -> Text, + last_name -> Text, + discord_username -> Text, + github_username -> Text, + server_username -> Text, + server_key -> Text, + is_acm_shareable -> Bool, + is_in_email_list -> Bool, + } +} + +joinable!(attendance -> event (start_timestamp)); +joinable!(attendance -> member (ufl_username)); + +allow_tables_to_appear_in_same_query!(attendance, event, member,);