DB

Constant DB 

Source
pub const DB: &str = r#"use dotenvy::dotenv;
use rbatis::RBatis;
use rbdc_pg::driver::PgDriver;
use rocket::fairing::AdHoc;
use std::sync::Arc;

use crate::repositories::UserRepository;

pub fn init() -> AdHoc {
    AdHoc::on_ignite(
        "Establish connection with PostgreSQL database",
        |rocket| async {
            match connect().await {
                Ok(user_repository) => rocket.manage(user_repository),
                Err(error) => {
                    panic!("Cannot connect to database -> {:?}", error)
                }
            }
        },
    )
}

async fn connect() -> Result<Arc<UserRepository>, rbatis::Error> {
    dotenv().ok();
    let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set...");

    let rb = RBatis::new();
    rb.link(PgDriver {}, &database_url).await?;

    Ok(Arc::new(UserRepository::new(rb)))
}
"#;