twilight_model/guild/
vanity_url.rs

1use serde::{Deserialize, Serialize};
2
3/// Information about a guild's vanity URL setting.
4#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
5pub struct VanityUrl {
6    /// Code of the vanity URL.
7    ///
8    /// For example, in an invite of `discord.gg/applejack`, the code is
9    /// `applejack`.
10    pub code: String,
11    /// Number of times the vanity URL has been used.
12    pub uses: u64,
13}
14
15#[cfg(test)]
16mod tests {
17    use super::VanityUrl;
18    use serde_test::Token;
19
20    #[test]
21    fn vanity_url() {
22        let url = VanityUrl {
23            code: "a".to_owned(),
24            uses: 12,
25        };
26        serde_test::assert_tokens(
27            &url,
28            &[
29                Token::Struct {
30                    name: "VanityUrl",
31                    len: 2,
32                },
33                Token::String("code"),
34                Token::String("a"),
35                Token::String("uses"),
36                Token::U64(12),
37                Token::StructEnd,
38            ],
39        );
40    }
41}