29 lines
758 B
Rust
29 lines
758 B
Rust
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")
|
|
}
|