teo_runtime/config/
connector.rs1use std::sync::Arc;
2use serde::Serialize;
3use crate::database::database::Database;
4
5#[derive(Debug, Clone)]
6pub struct Connector {
7 pub(crate) inner: Arc<Inner>,
8}
9
10#[derive(Debug, Serialize)]
11struct Inner {
12 provider: Database,
13 url: String,
14}
15
16impl Connector {
17 pub fn new(provider: Database, url: String) -> Self {
18 Self {
19 inner: Arc::new(Inner {
20 provider,
21 url,
22 })
23 }
24 }
25
26 pub fn provider(&self) -> Database {
27 self.inner.provider
28 }
29
30 pub fn url(&self) -> &str {
31 &self.inner.url
32 }
33}
34
35impl Serialize for Connector {
36 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error> where S: serde::Serializer {
37 self.inner.serialize(serializer)
38 }
39}