diff options
Diffstat (limited to 'src/app.rs')
| -rw-r--r-- | src/app.rs | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1,15 +1,23 @@ use sqlx::sqlite::SqlitePool; -use crate::{channel::app::Channels, index::app::Index, login::app::Logins}; +use crate::error::BoxedError; + +use crate::{ + channel::app::{Broadcaster, Channels}, + index::app::Index, + login::app::Logins, +}; #[derive(Clone)] pub struct App { db: SqlitePool, + broadcaster: Broadcaster, } impl App { - pub fn from(db: SqlitePool) -> Self { - Self { db } + pub async fn from(db: SqlitePool) -> Result<Self, BoxedError> { + let broadcaster = Broadcaster::from_database(&db).await?; + Ok(Self { db, broadcaster }) } } @@ -23,6 +31,6 @@ impl App { } pub fn channels(&self) -> Channels { - Channels::new(&self.db) + Channels::new(&self.db, &self.broadcaster) } } |
