move voice states to global

This commit is contained in:
Zomatree
2024-04-09 22:36:48 +01:00
parent ad0dcad497
commit ae87bc0b67
6 changed files with 62 additions and 60 deletions

View File

@@ -2,10 +2,7 @@ use authifier::AuthifierEvent;
use serde::{Deserialize, Serialize};
use revolt_models::v0::{
AppendMessage, Channel, Emoji, FieldsChannel, FieldsMember, FieldsRole, FieldsServer,
FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message, PartialChannel, PartialMember,
PartialMessage, PartialRole, PartialServer, PartialUser, PartialWebhook, Report, Server, User,
UserSettings, Webhook
AppendMessage, Channel, ChannelVoiceState, Emoji, FieldsChannel, FieldsMember, FieldsRole, FieldsServer, FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message, PartialChannel, PartialMember, PartialMessage, PartialRole, PartialServer, PartialUser, PartialWebhook, Report, Server, User, UserSettings, UserVoiceState, Webhook
};
use revolt_result::Error;
@@ -39,25 +36,6 @@ pub enum ErrorEvent {
APIError(Error),
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct UserVoiceState {
pub id: String
// TODO - muted, etc
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ChannelVoiceState {
pub id: String,
pub participants: Vec<UserVoiceState>
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct ReadyServer {
#[serde(flatten)]
pub server: Server,
pub voice_states: Vec<ChannelVoiceState>
}
/// Protocol Events
#[derive(Serialize, Deserialize, Debug, Clone)]
#[serde(tag = "type")]
@@ -70,10 +48,11 @@ pub enum EventV1 {
/// Basic data to cache
Ready {
users: Vec<User>,
servers: Vec<ReadyServer>,
servers: Vec<Server>,
channels: Vec<Channel>,
members: Vec<Member>,
emojis: Vec<Emoji>,
voice_states: Vec<ChannelVoiceState>
},
/// Ping response
@@ -248,7 +227,7 @@ pub enum EventV1 {
/// Voice events
VoiceChannelJoin {
id: String,
user: String,
state: UserVoiceState,
},
VoiceChannelLeave {
id: String,