diff --git a/src/api/guilds/guilds.rs b/src/api/guilds/guilds.rs index 5bbbd23..0e0ee1a 100644 --- a/src/api/guilds/guilds.rs +++ b/src/api/guilds/guilds.rs @@ -5,7 +5,7 @@ use crate::api::schemas; use crate::api::types; use crate::errors::InstanceServerError; -impl<'a> types::Guild { +impl types::Guild { /// Creates a new guild with the given parameters. /// /// # Arguments @@ -113,4 +113,16 @@ impl<'a> types::Guild { None } } + + pub async fn create_channel() {} +} + +impl types::Channel { + pub async fn create( + token: &str, + url_api: &str, + guild_id: &str, + schema: schemas::ChannelCreateSchema, + ) { + } } diff --git a/src/api/schemas.rs b/src/api/schemas.rs index e84abdf..fb1a14f 100644 --- a/src/api/schemas.rs +++ b/src/api/schemas.rs @@ -314,6 +314,31 @@ pub struct UserModifySchema { pub discriminator: Option, } +#[derive(Debug, Deserialize, Serialize)] +#[serde(rename_all = "snake_case")] +// TODO: Implement in polyphony/types +pub struct ChannelCreateSchema { + pub name: String, + #[serde(rename = "type")] + pub channel_type: Option, + pub topic: Option, + pub icon: Option, + pub bitrate: Option, + pub user_limit: Option, + pub rate_limit_per_user: Option, + pub position: Option, + pub permission_overwrites: Option>, + pub parent_id: Option, + pub id: Option, + pub nsfw: Option, + pub rtc_region: Option, + pub default_auto_archive_duration: Option, + pub default_reaction_emoji: Option, + pub flags: Option, + pub default_thread_rate_limit_per_user: Option, + pub video_quality_mode: Option, +} + // I know that some of these tests are... really really basic and unneccessary, but sometimes, I // just feel like writing tests, so there you go :) -@bitfl0wer #[cfg(test)]