1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
mod config; mod db; mod message; mod reader; mod subscriber; mod writer; pub use db::{db_client, run_migrations}; pub use message::Message; pub use subscriber::Handlers; use crate::reader::Reader; use crate::subscriber::Subscriber; use crate::writer::Writer; use tokio_postgres::Client; pub struct MessageDb<'a> { pub reader: Reader<'a>, pub subscriber: Subscriber<'a>, pub writer: Writer<'a>, } impl<'a> MessageDb<'a> { pub fn new(client: &'a Client) -> Self { let reader = Reader::new(&client); let writer = Writer::new(&client); let subscriber = Subscriber::new(reader, writer); Self { reader: reader, writer: writer, subscriber: subscriber, } } }