neptunium_http/endpoints/guild/
channels.rs1use bon::Builder;
2use neptunium_model::{
3 channel::PermissionOverwrite,
4 id::{Id, marker::ChannelMarker},
5};
6use serde::Serialize;
7
8mod create_guild_channel;
9mod list_guild_channels;
10mod update_channel_positions;
11
12pub use create_guild_channel::*;
13pub use list_guild_channels::*;
14pub use update_channel_positions::*;
15
16#[derive(Builder, Serialize, Clone, Debug, Default)]
19pub struct ChannelRequestBase {
20 #[builder(into)]
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub topic: Option<String>,
23 #[builder(into)]
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub url: Option<String>,
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub parent_id: Option<Id<ChannelMarker>>,
28 #[serde(skip_serializing_if = "Option::is_none")]
30 pub bitrate: Option<u32>,
31 #[serde(skip_serializing_if = "Option::is_none")]
33 pub user_limit: Option<u32>,
34 #[serde(skip_serializing_if = "Option::is_none")]
35 pub permission_overwrites: Option<Vec<PermissionOverwrite>>,
36}