Add feature locks to Channel
This commit is contained in:
parent
bb7b7a57e3
commit
986caf1110
|
@ -1,3 +1,4 @@
|
||||||
|
use chrono::Utc;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_repr::{Deserialize_repr, Serialize_repr};
|
use serde_repr::{Deserialize_repr, Serialize_repr};
|
||||||
|
|
||||||
|
@ -7,12 +8,17 @@ use crate::types::{
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
|
#[derive(Default, Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
|
||||||
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
pub struct Channel {
|
pub struct Channel {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
|
pub created_at: chrono::DateTime<Utc>,
|
||||||
#[serde(rename = "type")]
|
#[serde(rename = "type")]
|
||||||
pub channel_type: ChannelType,
|
pub channel_type: ChannelType,
|
||||||
pub guild_id: Option<Snowflake>,
|
pub guild_id: Option<Snowflake>,
|
||||||
pub position: Option<i32>,
|
pub position: Option<i32>,
|
||||||
|
#[cfg(feature = "sqlx")]
|
||||||
|
pub permission_overwrites: Option<sqlx::types::Json<Vec<PermissionOverwrite>>>,
|
||||||
|
#[cfg(not(feature = "sqlx"))]
|
||||||
pub permission_overwrites: Option<Vec<PermissionOverwrite>>,
|
pub permission_overwrites: Option<Vec<PermissionOverwrite>>,
|
||||||
pub name: Option<String>,
|
pub name: Option<String>,
|
||||||
pub topic: Option<String>,
|
pub topic: Option<String>,
|
||||||
|
@ -21,6 +27,7 @@ pub struct Channel {
|
||||||
pub bitrate: Option<i32>,
|
pub bitrate: Option<i32>,
|
||||||
pub user_limit: Option<i32>,
|
pub user_limit: Option<i32>,
|
||||||
pub rate_limit_per_user: Option<i32>,
|
pub rate_limit_per_user: Option<i32>,
|
||||||
|
#[cfg_attr(feature = "sqlx", sqlx(skip))]
|
||||||
pub recipients: Option<Vec<User>>,
|
pub recipients: Option<Vec<User>>,
|
||||||
pub icon: Option<String>,
|
pub icon: Option<String>,
|
||||||
pub owner_id: Option<String>,
|
pub owner_id: Option<String>,
|
||||||
|
@ -31,14 +38,25 @@ pub struct Channel {
|
||||||
pub video_quality_mode: Option<i32>,
|
pub video_quality_mode: Option<i32>,
|
||||||
pub message_count: Option<i32>,
|
pub message_count: Option<i32>,
|
||||||
pub member_count: Option<i32>,
|
pub member_count: Option<i32>,
|
||||||
|
#[cfg_attr(feature = "sqlx", sqlx(skip))]
|
||||||
pub thread_metadata: Option<ThreadMetadata>,
|
pub thread_metadata: Option<ThreadMetadata>,
|
||||||
|
#[cfg_attr(feature = "sqlx", sqlx(skip))]
|
||||||
pub member: Option<ThreadMember>,
|
pub member: Option<ThreadMember>,
|
||||||
pub default_auto_archive_duration: Option<i32>,
|
pub default_auto_archive_duration: Option<i32>,
|
||||||
pub permissions: Option<String>,
|
pub permissions: Option<String>,
|
||||||
pub flags: Option<i32>,
|
pub flags: Option<i32>,
|
||||||
pub total_message_sent: Option<i32>,
|
pub total_message_sent: Option<i32>,
|
||||||
|
#[cfg(feature = "sqlx")]
|
||||||
|
pub available_tags: Option<sqlx::types::Json<Vec<Tag>>>,
|
||||||
|
#[cfg(not(feature = "sqlx"))]
|
||||||
pub available_tags: Option<Vec<Tag>>,
|
pub available_tags: Option<Vec<Tag>>,
|
||||||
|
#[cfg(feature = "sqlx")]
|
||||||
|
pub applied_tags: Option<sqlx::types::Json<Vec<String>>>,
|
||||||
|
#[cfg(not(feature = "sqlx"))]
|
||||||
pub applied_tags: Option<Vec<String>>,
|
pub applied_tags: Option<Vec<String>>,
|
||||||
|
#[cfg(feature = "sqlx")]
|
||||||
|
pub default_reaction_emoji: Option<sqlx::types::Json<DefaultReaction>>,
|
||||||
|
#[cfg(not(feature = "sqlx"))]
|
||||||
pub default_reaction_emoji: Option<DefaultReaction>,
|
pub default_reaction_emoji: Option<DefaultReaction>,
|
||||||
pub default_thread_rate_limit_per_user: Option<i32>,
|
pub default_thread_rate_limit_per_user: Option<i32>,
|
||||||
pub default_sort_order: Option<i32>,
|
pub default_sort_order: Option<i32>,
|
||||||
|
@ -89,6 +107,7 @@ pub struct DefaultReaction {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, Clone, Copy, Debug, Serialize_repr, Deserialize_repr, PartialEq, Eq)]
|
#[derive(Default, Clone, Copy, Debug, Serialize_repr, Deserialize_repr, PartialEq, Eq)]
|
||||||
|
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
||||||
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
||||||
#[repr(i32)]
|
#[repr(i32)]
|
||||||
pub enum ChannelType {
|
pub enum ChannelType {
|
||||||
|
|
Loading…
Reference in New Issue