diff --git a/src/types/entities/channel.rs b/src/types/entities/channel.rs index a0c96ed..ad776d8 100644 --- a/src/types/entities/channel.rs +++ b/src/types/entities/channel.rs @@ -125,7 +125,9 @@ pub struct Tag { pub emoji_name: Option, } -#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Updateable)] +#[derive( + Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Updateable, Composite, +)] pub struct PermissionOverwrite { pub id: Snowflake, #[serde(rename = "type")] diff --git a/src/types/entities/emoji.rs b/src/types/entities/emoji.rs index 8f73091..308c41b 100644 --- a/src/types/entities/emoji.rs +++ b/src/types/entities/emoji.rs @@ -1,13 +1,13 @@ use std::sync::{Arc, RwLock}; -use chorus_macros::Updateable; +use chorus_macros::{Composite, Updateable}; use serde::{Deserialize, Serialize}; -use crate::gateway::Updateable; +use crate::gateway::{GatewayHandle, Updateable}; use crate::types::entities::User; -use crate::types::Snowflake; +use crate::types::{Composite, Snowflake}; -#[derive(Debug, Clone, Deserialize, Serialize, Default, Updateable)] +#[derive(Debug, Clone, Deserialize, Serialize, Default, Updateable, Composite)] #[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))] /// # Reference /// See diff --git a/src/types/entities/role.rs b/src/types/entities/role.rs index 7ca9597..9fac835 100644 --- a/src/types/entities/role.rs +++ b/src/types/entities/role.rs @@ -1,12 +1,12 @@ use bitflags::bitflags; -use chorus_macros::Updateable; +use chorus_macros::{Composite, Updateable}; use serde::{Deserialize, Serialize}; use serde_aux::prelude::{deserialize_option_number_from_string, deserialize_string_from_number}; -use crate::gateway::Updateable; -use crate::types::utils::Snowflake; +use crate::gateway::{GatewayHandle, Updateable}; +use crate::types::{utils::Snowflake, Composite}; -#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Updateable)] +#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Updateable, Composite)] #[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))] /// See pub struct RoleObject { diff --git a/src/types/entities/user.rs b/src/types/entities/user.rs index 9382ccb..56329b2 100644 --- a/src/types/entities/user.rs +++ b/src/types/entities/user.rs @@ -1,10 +1,10 @@ -use chorus_macros::Updateable; +use chorus_macros::{Composite, Updateable}; use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use serde_aux::prelude::deserialize_option_number_from_string; -use crate::gateway::Updateable; -use crate::types::utils::Snowflake; +use crate::gateway::{GatewayHandle, Updateable}; +use crate::types::{utils::Snowflake, Composite}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)] #[cfg_attr(feature = "sqlx", derive(sqlx::Type))] @@ -18,7 +18,7 @@ impl User { PublicUser::from(self) } } -#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, Updateable)] +#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, Updateable, Composite)] #[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))] pub struct User { pub id: Snowflake, diff --git a/src/types/entities/voice_state.rs b/src/types/entities/voice_state.rs index 9988162..e74aa7d 100644 --- a/src/types/entities/voice_state.rs +++ b/src/types/entities/voice_state.rs @@ -1,17 +1,18 @@ use std::sync::{Arc, RwLock}; -use chorus_macros::Updateable; +use chorus_macros::{Composite, Updateable}; use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; -use crate::gateway::Updateable; +use crate::gateway::{GatewayHandle, Updateable}; use crate::types::{ entities::{Guild, GuildMember}, utils::Snowflake, + Composite, }; /// See -#[derive(Serialize, Deserialize, Debug, Default, Clone, Updateable)] +#[derive(Serialize, Deserialize, Debug, Default, Clone, Updateable, Composite)] #[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))] pub struct VoiceState { pub guild_id: Option, diff --git a/src/types/entities/webhook.rs b/src/types/entities/webhook.rs index f6710bd..dd88ca1 100644 --- a/src/types/entities/webhook.rs +++ b/src/types/entities/webhook.rs @@ -1,16 +1,17 @@ use std::sync::{Arc, RwLock}; -use chorus_macros::Updateable; +use chorus_macros::{Composite, Updateable}; use serde::{Deserialize, Serialize}; -use crate::gateway::Updateable; +use crate::gateway::{GatewayHandle, Updateable}; use crate::types::{ entities::{Guild, User}, utils::Snowflake, + Composite, }; /// See -#[derive(Serialize, Deserialize, Debug, Default, Clone, Updateable)] +#[derive(Serialize, Deserialize, Debug, Default, Clone, Updateable, Composite)] #[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))] pub struct Webhook { pub id: Snowflake,