polyphony_types/entities/
webhook.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    entities::{Application, Channel, Guild, User},
5    utils::Snowflake,
6};
7
8/// See https://docs.spacebar.chat/routes/#cmp--schemas-webhook
9#[derive(Serialize, Deserialize, Debug, Default, Clone)]
10pub struct Webhook {
11    #[serde(rename = "type")]
12    pub webhook_type: i32,
13    pub name: String,
14    pub avatar: String,
15    pub token: String,
16    pub guild_id: Snowflake,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub guild: Option<Guild>,
19    pub channel_id: Snowflake,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub channel: Option<Channel>,
22    pub application_id: Snowflake,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub application: Option<Application>,
25    pub user_id: Snowflake,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub user: Option<User>,
28    pub source_guild_id: Snowflake,
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub source_guild: Option<Guild>,
31    pub id: Snowflake,
32}