diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-09-13 00:26:03 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-09-13 02:42:27 -0400 |
| commit | 067e3da1900d052a416c56e1c047640aa23441ae (patch) | |
| tree | 8baad4240d2532216f2530f5c974479e557c675a /src/app.rs | |
| parent | 5d76d0712e07040d9aeeebccb189d75636a07c7a (diff) | |
Transmit messages via `/:chan/send` and `/:chan/events`.
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) } } |
