1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

use r2d2_postgres::{postgres::NoTls, PostgresConnectionManager};
use r2d2_postgres::r2d2::{Pool, PooledConnection};

pub struct Connection {
    pool: Pool<PostgresConnectionManager<NoTls>>
}

impl Connection {
    pub fn new(connection_string: &str) -> Self {
        let manager = PostgresConnectionManager::new(
            connection_string.parse().unwrap(),
            NoTls,
        );
        let pool = Pool::new(manager).unwrap();
        Self {
            pool
        }
    }
    pub fn conn(&self) -> PooledConnection<PostgresConnectionManager<NoTls>> {
        self.pool.get().unwrap()
    }
}