diff --git a/src/types/entities/guild.rs b/src/types/entities/guild.rs index f3f03f7..d10fa5e 100644 --- a/src/types/entities/guild.rs +++ b/src/types/entities/guild.rs @@ -33,7 +33,7 @@ pub struct Guild { #[cfg_attr(feature = "sqlx", sqlx(skip))] pub emojis: Vec, #[cfg_attr(feature = "sqlx", sqlx(skip))] - pub features: Vec, + pub features: String, // TODO: Make this a 'simple-array' pub application_id: Option, pub system_channel_id: Option, pub system_channel_flags: Option, diff --git a/src/types/entities/role.rs b/src/types/entities/role.rs index f427dc9..8553998 100644 --- a/src/types/entities/role.rs +++ b/src/types/entities/role.rs @@ -16,8 +16,10 @@ pub struct RoleObject { pub permissions: String, pub managed: bool, pub mentionable: bool, - // to:do add role tags https://discord.com/developers/docs/topics/permissions#role-object-role-tags-structure - //pub tags: Option + #[cfg(feature = "sqlx")] + pub tags: Option>, + #[cfg(not(feature = "sqlx"))] + pub tags: Option, } #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] @@ -27,3 +29,13 @@ pub struct RoleSubscriptionData { pub total_months_subscribed: u32, pub is_renewal: bool, } + +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] +pub struct RoleTags { + pub bot_id: Option, + pub integration_id: Option, + pub premium_subscriber: Option, + pub subscription_listing_id: Option, + pub available_for_purchase: Option, + pub guild_connections: Option, +} diff --git a/src/types/errors.rs b/src/types/errors.rs index c4b5992..a66b192 100644 --- a/src/types/errors.rs +++ b/src/types/errors.rs @@ -44,7 +44,7 @@ pub struct IntermittentError { #[derive(Serialize, Deserialize, Debug, Default)] pub struct ErrorField { #[serde(default)] - pub _errors: Vec, + pub _errors: Vec, } #[derive(Serialize, Deserialize, Debug)] diff --git a/src/types/mod.rs b/src/types/mod.rs index 8554011..7ad0ada 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -1,6 +1,7 @@ pub use config::*; pub use entities::*; -pub use errors::*; + +//pub use errors::*; pub use events::*; pub use interfaces::*; pub use schema::*;