sample-amp/src/lib.rs

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")
}