summaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/app.rs b/src/app.rs
index 4195fdc..f349fd4 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -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)
}
}