use diesel::prelude::*; use diesel::sqlite::SqliteConnection; use dotenv::dotenv; use std::env; use crate::models::Post; pub fn establish_connection() -> SqliteConnection { dotenv().ok(); let database_url = env::var("DATABASE_URL") .expect("DATABASE_URL must be set"); SqliteConnection::establish(&database_url) .expect(&format!("Error connecting to {}", database_url)) } pub fn create_post<'a>(conn: &SqliteConnection, post: &Post) -> Result { use crate::schema::posts; // TODO(andrew): add error checking return diesel::insert_into(posts::table).values(post).execute(conn); }