summaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-07-24 22:32:27 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-07-24 22:32:27 -0400
commitb63380b251d04dd92f06aa5bbc22a72ca3e4bf8e (patch)
tree3956ec457131ce049fd91f2f53309bc0620fffe2 /src/app.rs
parent2e42057694851b82574e0a406ded429fb95a07fa (diff)
wip: 83B78D40-D7CB-4419-9FE7-E7D858909443
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/app.rs b/src/app.rs
index 133ee04..73d4621 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -1,14 +1,15 @@
-use sqlx::sqlite::SqlitePool;
-
use crate::{
boot::app::Boot,
conversation::app::Conversations,
event::{self, app::Events},
invite::app::Invites,
message::app::Messages,
+ push::app::Push,
setup::app::Setup,
token::{self, app::Tokens},
};
+use sqlx::sqlite::SqlitePool;
+use web_push::PartialVapidSignatureBuilder;
#[cfg(test)]
use crate::user::app::Users;
@@ -18,16 +19,24 @@ pub struct App {
db: SqlitePool,
events: event::Broadcaster,
token_events: token::Broadcaster,
+ vapid_public_key: String,
+ vapid_signer: PartialVapidSignatureBuilder,
}
impl App {
- pub fn from(db: SqlitePool) -> Self {
+ pub fn from(
+ db: SqlitePool,
+ vapid_public_key: String,
+ vapid_signer: PartialVapidSignatureBuilder,
+ ) -> Self {
let events = event::Broadcaster::default();
let token_events = token::Broadcaster::default();
Self {
db,
events,
token_events,
+ vapid_public_key,
+ vapid_signer,
}
}
}
@@ -58,6 +67,10 @@ impl App {
Messages::new(&self.db, &self.events)
}
+ pub fn push(&self) -> Push {
+ Push::new(&self.db, &self.vapid_public_key, &self.vapid_signer)
+ }
+
pub const fn setup(&self) -> Setup {
Setup::new(&self.db, &self.events)
}