merge backend branch into dev (#454)

This commit is contained in:
Flori 2023-12-15 00:22:46 +01:00 committed by GitHub
commit abd25b2040
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 4 deletions

View File

@ -1,13 +1,15 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::types::{ExplicitContentFilterLevel, MessageNotificationLevel};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct GuildDefaults { pub struct GuildDefaults {
pub max_presences: u64, pub max_presences: u64,
pub max_video_channel_users: u16, pub max_video_channel_users: u16,
pub afk_timeout: u16, pub afk_timeout: u16,
pub default_message_notifications: u8, pub default_message_notifications: MessageNotificationLevel,
pub explicit_content_filter: u8, pub explicit_content_filter: ExplicitContentFilterLevel,
} }
impl Default for GuildDefaults { impl Default for GuildDefaults {
@ -16,8 +18,8 @@ impl Default for GuildDefaults {
max_presences: 250_000, max_presences: 250_000,
max_video_channel_users: 200, max_video_channel_users: 200,
afk_timeout: 300, afk_timeout: 300,
default_message_notifications: 1, default_message_notifications: MessageNotificationLevel::OnlyMentions,
explicit_content_filter: 0, explicit_content_filter: ExplicitContentFilterLevel::Disabled,
} }
} }
} }

View File

@ -346,6 +346,7 @@ pub struct VoiceRegion {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#message-notification-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#message-notification-level>
@ -356,6 +357,7 @@ pub enum MessageNotificationLevel {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#explicit-content-filter-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#explicit-content-filter-level>
@ -367,6 +369,7 @@ pub enum ExplicitContentFilterLevel {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level>
@ -380,6 +383,7 @@ pub enum VerificationLevel {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level>
@ -390,6 +394,7 @@ pub enum MFALevel {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level>
@ -402,6 +407,7 @@ pub enum NSFWLevel {
} }
#[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)] #[derive(Serialize_repr, Deserialize_repr, Debug, Default, Clone, Eq, PartialEq, Hash, Copy)]
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
#[repr(u8)] #[repr(u8)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")] #[serde(rename_all = "SCREAMING_SNAKE_CASE")]
/// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level> /// See <https://discord-userdoccers.vercel.app/resources/guild#verification-level>

View File

@ -29,6 +29,7 @@ pub struct GuildCreate {
pub json: String, pub json: String,
} }
#[cfg(feature = "client")]
impl UpdateMessage<Guild> for GuildCreate { impl UpdateMessage<Guild> for GuildCreate {
fn id(&self) -> Option<Snowflake> { fn id(&self) -> Option<Snowflake> {
match &self.d { match &self.d {
@ -89,6 +90,7 @@ pub struct GuildUpdate {
impl WebSocketEvent for GuildUpdate {} impl WebSocketEvent for GuildUpdate {}
#[cfg(feature = "client")]
impl UpdateMessage<Guild> for GuildUpdate { impl UpdateMessage<Guild> for GuildUpdate {
fn id(&self) -> Option<Snowflake> { fn id(&self) -> Option<Snowflake> {
Some(self.guild.id) Some(self.guild.id)
@ -107,6 +109,7 @@ pub struct GuildDelete {
pub json: String, pub json: String,
} }
#[cfg(feature = "client")]
impl UpdateMessage<Guild> for GuildDelete { impl UpdateMessage<Guild> for GuildDelete {
fn id(&self) -> Option<Snowflake> { fn id(&self) -> Option<Snowflake> {
Some(self.guild.id) Some(self.guild.id)