use tokio::sync::Mutex;
pub use crate::config::ConfigClient;
use crate::client_builder::ClientBuilder;
use mssql_client::{Client, Config, Ready};
use anyhow::{Ok, Result};
pub struct ClientSql{
client:Mutex<Client<Ready>>,
}
impl ClientSql {
pub async fn new<'a>(cfg: &ConfigClient<'a>)->Result<Self>{
let connect =format!("Server={};User Id={};Password={};TrustServerCertificate=true", cfg.host, cfg.user, cfg.password);
let config= Config::from_connection_string(&connect)?;
let client=Client::connect(config).await?;
Ok(Self{client: Mutex::new(client),})
}
pub fn builder<'a>() -> ClientBuilder<'a> {
ClientBuilder::new()
}
}