cooplan_mongodb/
connection_manager.rs1use mongodb::Client;
2use mongodb::error::Error;
3
4use crate::config::mongodb_config::MongoDbConfig;
5
6pub struct MongoDbConnectionManager {
7 client: Client,
8}
9
10impl MongoDbConnectionManager {
12 pub fn try_new(mongodb_config: MongoDbConfig) -> Result<MongoDbConnectionManager, Error> {
13 let client = match Client::with_options(mongodb_config.client_options()) {
14 Ok(client) => client,
15 Err(error) => {
16 return Err(error);
17 }
18 };
19
20 Ok(MongoDbConnectionManager { client })
21 }
22
23 pub fn client(&self) -> &Client {
24 &self.client
25 }
26}