add: channels, messages
This commit is contained in:
parent
67492cf73f
commit
7774124bd0
40 changed files with 2238 additions and 115 deletions
|
@ -6,9 +6,12 @@ pub mod reports;
|
|||
pub mod requests;
|
||||
pub mod util;
|
||||
|
||||
#[cfg(feature = "redis")]
|
||||
pub mod channels;
|
||||
|
||||
use axum::{
|
||||
routing::{any, delete, get, post},
|
||||
Router,
|
||||
routing::{delete, get, post},
|
||||
};
|
||||
use serde::Deserialize;
|
||||
use tetratto_core::model::{
|
||||
|
@ -266,6 +269,32 @@ pub fn routes() -> Router {
|
|||
"/auth/user/connections/last_fm/api_proxy",
|
||||
post(auth::connections::last_fm::proxy_request),
|
||||
)
|
||||
// channels
|
||||
.route("/channels", post(channels::channels::create_request))
|
||||
.route(
|
||||
"/channels/group",
|
||||
post(channels::channels::create_group_request),
|
||||
)
|
||||
.route(
|
||||
"/channels/{id}/title",
|
||||
post(channels::channels::update_title_request),
|
||||
)
|
||||
.route(
|
||||
"/channels/{id}/move",
|
||||
post(channels::channels::update_position_request),
|
||||
)
|
||||
.route("/channels/{id}", delete(channels::channels::delete_request))
|
||||
.route(
|
||||
"/channels/{id}/kick",
|
||||
post(channels::channels::kick_member_request),
|
||||
)
|
||||
// messages
|
||||
.route(
|
||||
"/channels/{id}/ws",
|
||||
any(channels::messages::subscription_handler),
|
||||
)
|
||||
.route("/messages", post(channels::messages::create_request))
|
||||
.route("/messages/{id}", delete(channels::messages::delete_request))
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
|
@ -419,3 +448,36 @@ pub struct CreateQuestion {
|
|||
#[serde(default)]
|
||||
pub community: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct CreateChannel {
|
||||
pub title: String,
|
||||
pub community: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct CreateGroupChannel {
|
||||
pub title: String,
|
||||
pub members: Vec<String>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct UpdateChannelTitle {
|
||||
pub title: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct UpdateChannelPosition {
|
||||
pub position: i32,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct CreateMessage {
|
||||
pub content: String,
|
||||
pub channel: String,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct KickMember {
|
||||
pub member: String,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue