polyphony_types/entities/
role.rs

1use serde::{Deserialize, Serialize};
2
3use crate::utils::Snowflake;
4
5#[derive(Serialize, Deserialize, Debug, Default, Clone)]
6/// See https://discord.com/developers/docs/topics/permissions#role-object
7pub struct RoleObject {
8    pub id: Snowflake,
9    pub name: String,
10    pub color: f64,
11    pub hoist: bool,
12    pub icon: Option<String>,
13    pub unicode_emoji: Option<String>,
14    pub position: u16,
15    pub permissions: String,
16    pub managed: bool,
17    pub mentionable: bool,
18    // to:do add role tags https://discord.com/developers/docs/topics/permissions#role-object-role-tags-structure
19    //pub tags: Option<RoleTags>
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23pub struct RoleSubscriptionData {
24    pub role_subscription_listing_id: Snowflake,
25    pub tier_name: String,
26    pub total_months_subscribed: u32,
27    pub is_renewal: bool,
28}