1use json::JsonValue;
2use crate::config::Config;
3use crate::connect::Connect;
4use crate::pools::Pools;
5
6mod config;
7pub mod connect;
8mod packet;
9mod format;
10pub mod pools;
11
12#[derive(Clone, Debug)]
13pub struct Pgsql {
14 pub config: Config,
16}
17
18impl Pgsql {
19 pub fn new(config: &JsonValue) -> Result<Self, String> {
21 Ok(Self { config:Config::new(config) })
22 }
23
24 pub fn connect(&mut self) -> Result<Connect, String> {
26 Connect::new(self.config.clone())
27 }
28 pub fn pools(&mut self) -> Result<Pools, String> {
30 Pools::new(self.config.clone(),20)
31 }
32}