use crate::rubase::{rudto, BaseEntitySingle };
use crate::rucfg ;
use postgres::Client;
use serde::{Deserialize, Serialize};
use tokio_postgres::NoTls;
use crate::rubase::getself::GetSelf;
#[derive(Debug,Default,Serialize,Deserialize,Clone)]
pub struct Database {
pub gorm: rudto::Gorm,
pub datasource: rudto::DataSource,
}
impl BaseEntitySingle for Database {}
impl GetSelf for Database {}
impl Database {
pub fn new() -> Self {
let config = rucfg::find_bean_ruconfig().unwrap().read();
Database {
gorm: config.gorm,
datasource: config.datasource,
}
}
pub fn conn(&self) -> Result<Client, postgres::Error> {
let client = Client::connect(
self.datasource.buildUrl().to_string().as_str(),
NoTls, )?;
Ok(client)
}
}