use axum::extract::{Json, State}; use crate::{app::App, token::extract::Identity}; #[derive(serde::Deserialize)] pub struct Request { endpoint: String, msg: String, } pub async fn handler( State(app): State, identity: Identity, Json(request): Json, ) -> Result<(), crate::error::Internal> { let Request { endpoint, msg } = request; app.push().echo(&identity.user, &endpoint, &msg).await?; Ok(()) } pub async fn broadcast( State(app): State, Json(request): Json, ) -> Result<(), crate::error::Internal> { let Request { endpoint: _, msg } = request; app.push().broadcast(&msg).await?; Ok(()) }