use diesel::prelude::*; use dotenvy::dotenv; use std::env; use crate::models::{NewLibrary, Library}; pub mod models; pub mod schema; pub fn establish_connection() -> SqliteConnection { dotenv().ok(); let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set"); SqliteConnection::establish(&database_url) .unwrap_or_else(|_| panic!("Error connecting to {}", database_url)) } pub fn create_library(conn: &mut SqliteConnection, name: &str) -> Library { use crate::schema::libraries; let new_library = NewLibrary { name }; diesel::insert_into(libraries::table) .values(&new_library) .returning(Library::as_returning()) .get_result(conn) .expect("Error saving new post") }