Merge pull request #1 from kozabrada123/prototype/component-and-composites
Re-add derives to structs where possible
This commit is contained in:
commit
1bdcc198da
|
@ -96,7 +96,7 @@ impl Application {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord.com/developers/docs/resources/application#install-params-object>
|
/// See <https://discord.com/developers/docs/resources/application#install-params-object>
|
||||||
pub struct InstallParams {
|
pub struct InstallParams {
|
||||||
|
@ -157,7 +157,7 @@ pub struct ApplicationCommandOption {
|
||||||
pub options: Arc<Mutex<Vec<ApplicationCommandOption>>>,
|
pub options: Arc<Mutex<Vec<ApplicationCommandOption>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct ApplicationCommandOptionChoice {
|
pub struct ApplicationCommandOptionChoice {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub value: Value,
|
pub value: Value,
|
||||||
|
@ -209,7 +209,7 @@ pub struct GuildApplicationCommandPermissions {
|
||||||
pub permissions: Vec<Arc<Mutex<ApplicationCommandPermission>>>,
|
pub permissions: Vec<Arc<Mutex<ApplicationCommandPermission>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Default, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
/// See <https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure>
|
/// See <https://discord.com/developers/docs/interactions/application-commands#application-command-permissions-object-application-command-permissions-structure>
|
||||||
pub struct ApplicationCommandPermission {
|
pub struct ApplicationCommandPermission {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
|
|
|
@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::utils::Snowflake;
|
use crate::types::utils::Snowflake;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord.com/developers/docs/resources/channel#attachment-object>
|
/// See <https://discord.com/developers/docs/resources/channel#attachment-object>
|
||||||
|
|
|
@ -122,7 +122,7 @@ pub struct Tag {
|
||||||
pub emoji_name: Option<String>,
|
pub emoji_name: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize, Deserialize, Clone)]
|
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd)]
|
||||||
pub struct PermissionOverwrite {
|
pub struct PermissionOverwrite {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
#[serde(rename = "type")]
|
#[serde(rename = "type")]
|
||||||
|
@ -136,7 +136,7 @@ pub struct PermissionOverwrite {
|
||||||
pub deny: String,
|
pub deny: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone)]
|
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord-userdoccers.vercel.app/resources/channel#thread-metadata-object>
|
/// See <https://discord-userdoccers.vercel.app/resources/channel#thread-metadata-object>
|
||||||
pub struct ThreadMetadata {
|
pub struct ThreadMetadata {
|
||||||
|
@ -159,7 +159,7 @@ pub struct ThreadMember {
|
||||||
pub member: Option<Arc<Mutex<GuildMember>>>,
|
pub member: Option<Arc<Mutex<GuildMember>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone)]
|
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
|
||||||
/// Specifies the emoji to use as the default way to react to a [ChannelType::GuildForum] or [ChannelType::GuildMedia] channel post.
|
/// Specifies the emoji to use as the default way to react to a [ChannelType::GuildForum] or [ChannelType::GuildMedia] channel post.
|
||||||
///
|
///
|
||||||
/// # Reference
|
/// # Reference
|
||||||
|
|
|
@ -93,7 +93,7 @@ pub struct Guild {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// See <https://docs.spacebar.chat/routes/#get-/guilds/-guild_id-/bans/-user->
|
/// See <https://docs.spacebar.chat/routes/#get-/guilds/-guild_id-/bans/-user->
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
pub struct GuildBan {
|
pub struct GuildBan {
|
||||||
pub user_id: Snowflake,
|
pub user_id: Snowflake,
|
||||||
|
@ -124,13 +124,13 @@ pub struct GuildInvite {
|
||||||
pub vanity_url: Option<bool>,
|
pub vanity_url: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
|
||||||
pub struct UnavailableGuild {
|
pub struct UnavailableGuild {
|
||||||
id: Snowflake,
|
id: Snowflake,
|
||||||
unavailable: bool,
|
unavailable: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq)]
|
||||||
pub struct GuildCreateResponse {
|
pub struct GuildCreateResponse {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ pub struct InviteGuild {
|
||||||
|
|
||||||
/// See <https://discord-userdoccers.vercel.app/resources/guild#nsfw-level> for an explanation on what
|
/// See <https://discord-userdoccers.vercel.app/resources/guild#nsfw-level> for an explanation on what
|
||||||
/// the levels mean.
|
/// the levels mean.
|
||||||
#[derive(Debug, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
|
||||||
pub enum NSFWLevel {
|
pub enum NSFWLevel {
|
||||||
Default = 0,
|
Default = 0,
|
||||||
|
|
|
@ -67,7 +67,7 @@ pub struct Message {
|
||||||
pub role_subscription_data: Option<RoleSubscriptionData>,
|
pub role_subscription_data: Option<RoleSubscriptionData>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord-userdoccers.vercel.app/resources/message#message-reference-object>
|
/// See <https://discord-userdoccers.vercel.app/resources/message#message-reference-object>
|
||||||
pub struct MessageReference {
|
pub struct MessageReference {
|
||||||
|
@ -87,7 +87,7 @@ pub struct MessageInteraction {
|
||||||
pub member: Option<GuildMember>,
|
pub member: Option<GuildMember>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct AllowedMention {
|
pub struct AllowedMention {
|
||||||
parse: Vec<AllowedMentionType>,
|
parse: Vec<AllowedMentionType>,
|
||||||
roles: Vec<Snowflake>,
|
roles: Vec<Snowflake>,
|
||||||
|
@ -95,7 +95,7 @@ pub struct AllowedMention {
|
||||||
replied_user: bool,
|
replied_user: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Copy, Serialize, Deserialize)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub enum AllowedMentionType {
|
pub enum AllowedMentionType {
|
||||||
Roles,
|
Roles,
|
||||||
|
@ -103,7 +103,7 @@ pub enum AllowedMentionType {
|
||||||
Everyone,
|
Everyone,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct ChannelMention {
|
pub struct ChannelMention {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
pub guild_id: Snowflake,
|
pub guild_id: Snowflake,
|
||||||
|
@ -130,14 +130,14 @@ pub struct Embed {
|
||||||
fields: Option<Vec<EmbedField>>,
|
fields: Option<Vec<EmbedField>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedFooter {
|
pub struct EmbedFooter {
|
||||||
text: String,
|
text: String,
|
||||||
icon_url: Option<String>,
|
icon_url: Option<String>,
|
||||||
proxy_icon_url: Option<String>,
|
proxy_icon_url: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedImage {
|
pub struct EmbedImage {
|
||||||
url: String,
|
url: String,
|
||||||
proxy_url: String,
|
proxy_url: String,
|
||||||
|
@ -145,7 +145,7 @@ pub struct EmbedImage {
|
||||||
width: Option<i32>,
|
width: Option<i32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedThumbnail {
|
pub struct EmbedThumbnail {
|
||||||
url: String,
|
url: String,
|
||||||
proxy_url: Option<String>,
|
proxy_url: Option<String>,
|
||||||
|
@ -153,7 +153,7 @@ pub struct EmbedThumbnail {
|
||||||
width: Option<i32>,
|
width: Option<i32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
struct EmbedVideo {
|
struct EmbedVideo {
|
||||||
url: Option<String>,
|
url: Option<String>,
|
||||||
proxy_url: Option<String>,
|
proxy_url: Option<String>,
|
||||||
|
@ -161,13 +161,13 @@ struct EmbedVideo {
|
||||||
width: Option<i32>,
|
width: Option<i32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedProvider {
|
pub struct EmbedProvider {
|
||||||
name: Option<String>,
|
name: Option<String>,
|
||||||
url: Option<String>,
|
url: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedAuthor {
|
pub struct EmbedAuthor {
|
||||||
name: String,
|
name: String,
|
||||||
url: Option<String>,
|
url: Option<String>,
|
||||||
|
@ -175,7 +175,7 @@ pub struct EmbedAuthor {
|
||||||
proxy_icon_url: Option<String>,
|
proxy_icon_url: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
pub struct EmbedField {
|
pub struct EmbedField {
|
||||||
name: String,
|
name: String,
|
||||||
value: String,
|
value: String,
|
||||||
|
@ -192,7 +192,7 @@ pub struct Reaction {
|
||||||
pub emoji: Emoji,
|
pub emoji: Emoji,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Copy, Serialize, Deserialize)]
|
||||||
pub enum Component {
|
pub enum Component {
|
||||||
ActionRow = 1,
|
ActionRow = 1,
|
||||||
Button = 2,
|
Button = 2,
|
||||||
|
@ -204,7 +204,7 @@ pub enum Component {
|
||||||
ChannelSelect = 8,
|
ChannelSelect = 8,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, PartialEq, Clone, Serialize, Deserialize)]
|
||||||
/// # Reference
|
/// # Reference
|
||||||
/// See <https://discord-userdoccers.vercel.app/resources/message#message-activity-object>
|
/// See <https://discord-userdoccers.vercel.app/resources/message#message-activity-object>
|
||||||
pub struct MessageActivity {
|
pub struct MessageActivity {
|
||||||
|
|
|
@ -26,7 +26,7 @@ pub struct RoleObject {
|
||||||
pub tags: Option<RoleTags>,
|
pub tags: Option<RoleTags>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct RoleSubscriptionData {
|
pub struct RoleSubscriptionData {
|
||||||
pub role_subscription_listing_id: Snowflake,
|
pub role_subscription_listing_id: Snowflake,
|
||||||
pub tier_name: String,
|
pub tier_name: String,
|
||||||
|
|
|
@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::utils::Snowflake;
|
use crate::types::utils::Snowflake;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
pub struct SecurityKey {
|
pub struct SecurityKey {
|
||||||
pub id: String,
|
pub id: String,
|
||||||
|
|
|
@ -28,7 +28,7 @@ pub struct Sticker {
|
||||||
pub sort_value: Option<u8>,
|
pub sort_value: Option<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
/// A partial sticker object.
|
/// A partial sticker object.
|
||||||
///
|
///
|
||||||
/// Represents the smallest amount of data required to render a sticker.
|
/// Represents the smallest amount of data required to render a sticker.
|
||||||
|
|
|
@ -3,7 +3,7 @@ use chrono::{DateTime, Utc};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_aux::prelude::deserialize_option_number_from_string;
|
use serde_aux::prelude::deserialize_option_number_from_string;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
||||||
pub struct UserData {
|
pub struct UserData {
|
||||||
pub valid_tokens_since: DateTime<Utc>,
|
pub valid_tokens_since: DateTime<Utc>,
|
||||||
|
@ -15,7 +15,7 @@ impl User {
|
||||||
PublicUser::from(self)
|
PublicUser::from(self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#[derive(Serialize, Deserialize, Debug, Default, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
|
@ -50,7 +50,7 @@ pub struct User {
|
||||||
pub disabled: Option<bool>,
|
pub disabled: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
pub struct PublicUser {
|
pub struct PublicUser {
|
||||||
pub id: Snowflake,
|
pub id: Snowflake,
|
||||||
pub username: Option<String>,
|
pub username: Option<String>,
|
||||||
|
|
|
@ -3,7 +3,7 @@ use std::sync::{Arc, Mutex};
|
||||||
use chrono::{serde::ts_milliseconds_option, Utc};
|
use chrono::{serde::ts_milliseconds_option, Utc};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
pub enum UserStatus {
|
pub enum UserStatus {
|
||||||
|
@ -21,7 +21,7 @@ impl std::fmt::Display for UserStatus {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::Type))]
|
||||||
#[serde(rename_all = "lowercase")]
|
#[serde(rename_all = "lowercase")]
|
||||||
pub enum UserTheme {
|
pub enum UserTheme {
|
||||||
|
@ -119,7 +119,7 @@ impl Default for UserSettings {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
#[cfg_attr(feature = "sqlx", derive(sqlx::FromRow))]
|
||||||
pub struct CustomStatus {
|
pub struct CustomStatus {
|
||||||
pub emoji_id: Option<String>,
|
pub emoji_id: Option<String>,
|
||||||
|
@ -129,7 +129,7 @@ pub struct CustomStatus {
|
||||||
pub text: Option<String>,
|
pub text: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
|
||||||
pub struct FriendSourceFlags {
|
pub struct FriendSourceFlags {
|
||||||
pub all: bool,
|
pub all: bool,
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
use crate::types::{entities::PermissionOverwrite, Snowflake};
|
use crate::types::{entities::PermissionOverwrite, Snowflake};
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Default)]
|
#[derive(Debug, Deserialize, Serialize, Default, PartialEq, PartialOrd)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub struct ChannelCreateSchema {
|
pub struct ChannelCreateSchema {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
|
@ -27,7 +27,7 @@ pub struct ChannelCreateSchema {
|
||||||
pub video_quality_mode: Option<i32>,
|
pub video_quality_mode: Option<i32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone, Default)]
|
#[derive(Debug, Deserialize, Serialize, Clone, Default, PartialEq, PartialOrd)]
|
||||||
#[serde(rename_all = "snake_case")]
|
#[serde(rename_all = "snake_case")]
|
||||||
pub struct ChannelModifySchema {
|
pub struct ChannelModifySchema {
|
||||||
pub name: Option<String>,
|
pub name: Option<String>,
|
||||||
|
|
Loading…
Reference in New Issue