Files
server/src/plugin/types.rs
T
2025-12-21 15:09:44 +01:00

46 lines
948 B
Rust

use serde::{Deserialize, Serialize};
use crate::types::{
data::Message,
message::{ClientMessage, WsMessage},
};
#[derive(Debug, Serialize, Deserialize)]
pub struct PluginJson {
pub id: String,
pub version: String,
pub supported_versions: Vec<String>,
pub file: String,
pub args: Vec<String>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct PluginHandshake {
pub id: String,
}
#[derive(Debug, Clone, Serialize)]
#[serde(tag = "type", content = "params", rename_all = "snake_case")]
pub enum LoaderMessage {
Request {
user_id: String,
msg: WsMessage<ClientMessage>,
},
MessageSent {
user_id: String,
msg: Message,
},
Shutdown,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type", content = "params", rename_all = "snake_case")]
pub enum PluginMessage {
SendMessage {
channel_id: String,
contents: String,
},
}