chore(monorepo): delta, january, quark
This commit is contained in:
24
crates/delta/src/routes/push/unsubscribe.rs
Normal file
24
crates/delta/src/routes/push/unsubscribe.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
use revolt_quark::{EmptyResponse, Error, Result};
|
||||
|
||||
use rauth::{
|
||||
entities::{Model, Session},
|
||||
logic::Auth,
|
||||
};
|
||||
use rocket::State;
|
||||
|
||||
/// # Unsubscribe
|
||||
///
|
||||
/// Remove the Web Push subscription associated with the current session.
|
||||
#[openapi(tag = "Web Push")]
|
||||
#[post("/unsubscribe")]
|
||||
pub async fn req(auth: &State<Auth>, mut session: Session) -> Result<EmptyResponse> {
|
||||
session.subscription = None;
|
||||
session
|
||||
.save(&auth.db, None)
|
||||
.await
|
||||
.map(|_| EmptyResponse)
|
||||
.map_err(|_| Error::DatabaseError {
|
||||
operation: "save",
|
||||
with: "session",
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user