diff --git a/cache/in-memory/src/event/interaction.rs b/cache/in-memory/src/event/interaction.rs index 55d330a6664..acb96428bcb 100644 --- a/cache/in-memory/src/event/interaction.rs +++ b/cache/in-memory/src/event/interaction.rs @@ -103,7 +103,9 @@ mod tests { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -166,7 +168,9 @@ mod tests { tags: None, }]), users: Vec::from([User { + accent_color: None, avatar: Some("different avatar".into()), + banner: None, bot: false, discriminator: "5678".into(), email: None, @@ -194,7 +198,9 @@ mod tests { premium_since: None, roles: Vec::new(), user: Some(User { + accent_color: None, avatar: Some("avatar string".into()), + banner: None, bot: false, discriminator: "1234".into(), email: None, diff --git a/cache/in-memory/src/event/message.rs b/cache/in-memory/src/event/message.rs index 706ce4b075a..9c785fa1086 100644 --- a/cache/in-memory/src/event/message.rs +++ b/cache/in-memory/src/event/message.rs @@ -136,7 +136,9 @@ mod tests { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, diff --git a/cache/in-memory/src/event/voice_state.rs b/cache/in-memory/src/event/voice_state.rs index e0957127e4e..44f66d2397c 100644 --- a/cache/in-memory/src/event/voice_state.rs +++ b/cache/in-memory/src/event/voice_state.rs @@ -293,7 +293,9 @@ mod tests { premium_since: None, roles: Vec::new(), user: User { + accent_color: None, avatar: Some("".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, diff --git a/cache/in-memory/src/model/member.rs b/cache/in-memory/src/model/member.rs index 7f7b714e47c..4dc2841ca97 100644 --- a/cache/in-memory/src/model/member.rs +++ b/cache/in-memory/src/model/member.rs @@ -128,7 +128,9 @@ mod tests { fn user() -> User { User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, diff --git a/cache/in-memory/src/test.rs b/cache/in-memory/src/test.rs index 5b2bf22b94f..c380e76e4c4 100644 --- a/cache/in-memory/src/test.rs +++ b/cache/in-memory/src/test.rs @@ -20,7 +20,9 @@ pub fn cache_with_message_and_reactions() -> InMemoryCache { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -87,7 +89,9 @@ pub fn cache_with_message_and_reactions() -> InMemoryCache { premium_since: None, roles: Vec::new(), user: User { + accent_color: None, avatar: Some("".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -119,7 +123,9 @@ pub fn cache_with_message_and_reactions() -> InMemoryCache { premium_since: None, roles: Vec::new(), user: User { + accent_color: None, avatar: Some("".to_owned()), + banner: None, bot: false, discriminator: "0002".to_owned(), email: None, @@ -149,7 +155,9 @@ pub fn cache_with_message_and_reactions() -> InMemoryCache { pub fn current_user(id: u64) -> CurrentUser { CurrentUser { + accent_color: Some(16711680), avatar: None, + banner: None, bot: true, discriminator: "9876".to_owned(), email: None, @@ -251,7 +259,9 @@ pub fn voice_state( pub fn user(id: UserId) -> User { User { + accent_color: None, avatar: None, + banner: Some("06c16474723fe537c283b8efa61a30c8".to_owned()), bot: false, discriminator: "0001".to_owned(), email: None, diff --git a/model/src/application/interaction/application_command/data/resolved.rs b/model/src/application/interaction/application_command/data/resolved.rs index 27fc8f2a692..8a8d60918ba 100644 --- a/model/src/application/interaction/application_command/data/resolved.rs +++ b/model/src/application/interaction/application_command/data/resolved.rs @@ -286,7 +286,9 @@ mod tests { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -349,7 +351,9 @@ mod tests { tags: None, }]), users: Vec::from([User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: Some("address@example.com".to_owned()), @@ -418,11 +422,15 @@ mod tests { Token::Str("author"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -543,11 +551,15 @@ mod tests { Token::Str("300"), Token::Struct { name: "User", - len: 12, + len: 14, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/application/interaction/message_component/mod.rs b/model/src/application/interaction/message_component/mod.rs index e6a70a7d06f..08fe07d2713 100644 --- a/model/src/application/interaction/message_component/mod.rs +++ b/model/src/application/interaction/message_component/mod.rs @@ -112,7 +112,9 @@ mod tests { fn user(id: UserId) -> User { User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "4444".to_owned(), email: None, diff --git a/model/src/application/interaction/mod.rs b/model/src/application/interaction/mod.rs index d7fa324530f..13ee3a1d6bd 100644 --- a/model/src/application/interaction/mod.rs +++ b/model/src/application/interaction/mod.rs @@ -308,7 +308,9 @@ mod test { messages: Vec::new(), roles: Vec::new(), users: vec![User { + accent_color: None, avatar: Some("avatar string".into()), + banner: None, bot: false, discriminator: "1111".into(), email: None, @@ -336,7 +338,9 @@ mod test { premium_since: None, roles: Vec::new(), user: Some(User { + accent_color: None, avatar: Some("avatar string".into()), + banner: None, bot: false, discriminator: "1111".into(), email: None, @@ -404,11 +408,15 @@ mod test { Token::Str("600"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("avatar string"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -459,11 +467,15 @@ mod test { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("avatar string"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/channel/message/mod.rs b/model/src/channel/message/mod.rs index d1697357c4b..52c7d7c566c 100644 --- a/model/src/channel/message/mod.rs +++ b/model/src/channel/message/mod.rs @@ -108,7 +108,9 @@ mod tests { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -173,11 +175,15 @@ mod tests { Token::Str("author"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -286,7 +292,9 @@ mod tests { application_id: Some(ApplicationId(1)), attachments: Vec::new(), author: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -404,11 +412,15 @@ mod tests { Token::Str("author"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/channel/message/sticker/mod.rs b/model/src/channel/message/sticker/mod.rs index 4cf0ac325b3..3bb4d64baf0 100644 --- a/model/src/channel/message/sticker/mod.rs +++ b/model/src/channel/message/sticker/mod.rs @@ -136,7 +136,9 @@ mod tests { sort_value: Some(1), tags: "foo,bar,baz".into(), user: Some(User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: Some("address@example.com".to_owned()), @@ -189,11 +191,15 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 13, + len: 15, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/channel/reaction.rs b/model/src/channel/reaction.rs index e576dc60f6b..c144ebca72a 100644 --- a/model/src/channel/reaction.rs +++ b/model/src/channel/reaction.rs @@ -188,7 +188,9 @@ mod tests { premium_since: None, roles: vec![RoleId(5)], user: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -262,11 +264,15 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/channel/webhook/mod.rs b/model/src/channel/webhook/mod.rs index 7d974749a68..c5ffc4a8b6b 100644 --- a/model/src/channel/webhook/mod.rs +++ b/model/src/channel/webhook/mod.rs @@ -156,7 +156,9 @@ mod tests { token: Some("a token".to_owned()), url: Some("https://a-url".to_owned()), user: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -240,10 +242,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/gateway/payload/member_add.rs b/model/src/gateway/payload/member_add.rs index f7cdab910d1..4b45704bd59 100644 --- a/model/src/gateway/payload/member_add.rs +++ b/model/src/gateway/payload/member_add.rs @@ -42,7 +42,9 @@ mod tests { roles: vec![], user: User { id: UserId(2), + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0987".to_string(), name: "ab".to_string(), @@ -86,10 +88,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/gateway/payload/member_chunk.rs b/model/src/gateway/payload/member_chunk.rs index 981f0b4a319..7d3699afa7a 100644 --- a/model/src/gateway/payload/member_chunk.rs +++ b/model/src/gateway/payload/member_chunk.rs @@ -316,7 +316,9 @@ mod tests { roles: vec![RoleId(6), RoleId(7)], user: User { id: UserId(2), + accent_color: None, avatar: Some("dddddddddddddddddddddddddddddddd".to_owned()), + banner: None, bot: true, discriminator: "0001".to_owned(), name: "test".to_owned(), @@ -342,7 +344,9 @@ mod tests { roles: vec![RoleId(6)], user: User { id: UserId(3), + accent_color: None, avatar: Some("cccccccccccccccccccccccccccccccc".to_owned()), + banner: None, bot: true, discriminator: "0001".to_owned(), name: "test".to_owned(), @@ -368,7 +372,9 @@ mod tests { roles: vec![RoleId(6)], user: User { id: UserId(5), + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), name: "test".to_owned(), @@ -394,7 +400,9 @@ mod tests { roles: vec![RoleId(6)], user: User { id: UserId(6), + accent_color: None, avatar: Some("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), name: "test".to_owned(), diff --git a/model/src/gateway/payload/member_update.rs b/model/src/gateway/payload/member_update.rs index f8dc40b6bdf..c13fc49884a 100644 --- a/model/src/gateway/payload/member_update.rs +++ b/model/src/gateway/payload/member_update.rs @@ -37,6 +37,8 @@ mod tests { fn test_member_update() { let value = MemberUpdate { user: User { + accent_color: None, + banner: None, name: "Twilight Sparkle".to_string(), public_flags: None, id: 424_242.into(), @@ -92,11 +94,15 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("cool image"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/gateway/payload/ready.rs b/model/src/gateway/payload/ready.rs index 23dac163f2a..a2d4aae0e05 100644 --- a/model/src/gateway/payload/ready.rs +++ b/model/src/gateway/payload/ready.rs @@ -47,7 +47,9 @@ mod tests { session_id: "foo".to_owned(), shard: Some([4, 7]), user: CurrentUser { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "1212".to_owned(), email: None, @@ -117,10 +119,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "CurrentUser", - len: 6, + len: 8, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/gateway/payload/typing_start.rs b/model/src/gateway/payload/typing_start.rs index ad0797c4014..a085f47a87a 100644 --- a/model/src/gateway/payload/typing_start.rs +++ b/model/src/gateway/payload/typing_start.rs @@ -174,7 +174,9 @@ mod tests { roles: vec![RoleId(4)], user: User { id: UserId(3), + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), name: "test".to_owned(), @@ -239,11 +241,15 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/gateway/payload/voice_state_update.rs b/model/src/gateway/payload/voice_state_update.rs index e0d5cb5956b..0bceceed313 100644 --- a/model/src/gateway/payload/voice_state_update.rs +++ b/model/src/gateway/payload/voice_state_update.rs @@ -33,7 +33,9 @@ mod tests { roles: vec![RoleId(4)], user: User { id: UserId(1), + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0909".to_string(), name: "foo".to_string(), @@ -107,10 +109,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -163,7 +169,9 @@ mod tests { roles: vec![RoleId(123), RoleId(124)], user: User { id: UserId(1_234_123_123_123), + accent_color: None, avatar: Some("a21312321231236060dfe562c".to_string()), + banner: None, bot: false, discriminator: "4242".to_string(), name: "Twilight Sparkle".to_string(), @@ -242,11 +250,15 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("a21312321231236060dfe562c"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/guild/ban.rs b/model/src/guild/ban.rs index d067072b708..ed1771df445 100644 --- a/model/src/guild/ban.rs +++ b/model/src/guild/ban.rs @@ -18,7 +18,9 @@ mod tests { let ban = Ban { reason: Some("foo".to_owned()), user: User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -47,11 +49,15 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::None, Token::Str("discriminator"), Token::Str("0001"), Token::Str("id"), diff --git a/model/src/guild/emoji.rs b/model/src/guild/emoji.rs index 2ca305d44ea..653792d2ddc 100644 --- a/model/src/guild/emoji.rs +++ b/model/src/guild/emoji.rs @@ -43,7 +43,9 @@ mod tests { require_colons: true, roles: Vec::new(), user: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -83,10 +85,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -113,7 +119,9 @@ mod tests { require_colons: true, roles: vec![RoleId(1)], user: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -158,10 +166,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/guild/integration.rs b/model/src/guild/integration.rs index 94df02a0be5..334f148bf41 100644 --- a/model/src/guild/integration.rs +++ b/model/src/guild/integration.rs @@ -69,7 +69,9 @@ mod tests { synced_at: Some("timestamp".to_owned()), syncing: Some(false), user: Some(User { + accent_color: None, avatar: Some("hash".to_owned()), + banner: None, bot: true, discriminator: "1000".to_owned(), email: None, @@ -142,11 +144,15 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("hash"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(true), Token::Str("discriminator"), @@ -192,7 +198,9 @@ mod tests { synced_at: Some("timestamp".to_owned()), syncing: Some(false), user: Some(User { + accent_color: None, avatar: Some("hash".to_owned()), + banner: None, bot: true, discriminator: "1000".to_owned(), email: None, @@ -285,11 +293,15 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("hash"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(true), Token::Str("discriminator"), diff --git a/model/src/guild/integration_application.rs b/model/src/guild/integration_application.rs index 80f7a4407d6..4857eaf12fd 100644 --- a/model/src/guild/integration_application.rs +++ b/model/src/guild/integration_application.rs @@ -59,7 +59,9 @@ mod tests { fn test_integration_account_complete() { let value = IntegrationApplication { bot: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -91,10 +93,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/guild/member.rs b/model/src/guild/member.rs index 0d00acde9e4..6fc3c5e4be1 100644 --- a/model/src/guild/member.rs +++ b/model/src/guild/member.rs @@ -200,7 +200,9 @@ mod tests { premium_since: Some("timestamp".to_owned()), roles: Vec::new(), user: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -251,10 +253,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/invite/mod.rs b/model/src/invite/mod.rs index e7e9cdd72f0..1bf29cea837 100644 --- a/model/src/invite/mod.rs +++ b/model/src/invite/mod.rs @@ -174,7 +174,9 @@ mod tests { }), expires_at: Some("expires at timestamp".to_owned()), inviter: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -197,7 +199,9 @@ mod tests { premium_since: None, roles: Vec::new(), user: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -218,7 +222,9 @@ mod tests { }), target_type: Some(TargetType::Stream), target_user: Some(User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -345,10 +351,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -376,10 +386,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -406,10 +420,14 @@ mod tests { Token::Some, Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/oauth/current_application_info/mod.rs b/model/src/oauth/current_application_info/mod.rs index ca6c5325708..c0162a68e51 100644 --- a/model/src/oauth/current_application_info/mod.rs +++ b/model/src/oauth/current_application_info/mod.rs @@ -91,7 +91,9 @@ mod tests { id: ApplicationId(2), name: "cool application".to_owned(), owner: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -157,10 +159,14 @@ mod tests { Token::Str("owner"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/oauth/team/member.rs b/model/src/oauth/team/member.rs index 72845cca141..26af245d5a2 100644 --- a/model/src/oauth/team/member.rs +++ b/model/src/oauth/team/member.rs @@ -25,7 +25,9 @@ mod tests { permissions: vec!["*".to_owned()], team_id: TeamId(1), user: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -60,10 +62,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/template/mod.rs b/model/src/template/mod.rs index fc440683af0..6a1e109c2dc 100644 --- a/model/src/template/mod.rs +++ b/model/src/template/mod.rs @@ -52,7 +52,9 @@ mod tests { "code": "code", "created_at": "2021-04-07T14:55:37+00:00", "creator": { + "accent_color": null, "avatar": "avatar", + "banner": "06c16474723fe537c283b8efa61a30c8", "discriminator": "1111", "id": "100", "public_flags": 0, @@ -169,7 +171,9 @@ mod tests { code: "code".into(), created_at: "2021-04-07T14:55:37+00:00".into(), creator: User { + accent_color: None, avatar: Some("avatar".into()), + banner: Some("06c16474723fe537c283b8efa61a30c8".to_owned()), bot: false, email: None, discriminator: "1111".into(), @@ -325,11 +329,16 @@ mod tests { Token::Str("creator"), Token::Struct { name: "User", - len: 6, + len: 8, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("avatar"), + Token::Str("banner"), + Token::Some, + Token::Str("06c16474723fe537c283b8efa61a30c8"), Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/model/src/user/current_user.rs b/model/src/user/current_user.rs index 90b35df8f02..f9e5fbce38b 100644 --- a/model/src/user/current_user.rs +++ b/model/src/user/current_user.rs @@ -4,6 +4,10 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Default, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct CurrentUser { + /// Accent color of the user's banner. + /// + /// This is an integer representation of a hexadecimal color code. + pub accent_color: Option, /// User's avatar hash. /// /// To retrieve the url to the avatar, you can follow [Discord's documentation] on @@ -11,6 +15,8 @@ pub struct CurrentUser { /// /// [Discord's documentation]: https://discord.com/developers/docs/reference#image-formatting pub avatar: Option, + /// Hash of the user's banner image. + pub banner: Option, /// Whether the user belongs to an OAuth2 application. #[serde(default)] pub bot: bool, @@ -69,11 +75,16 @@ mod tests { vec![ Token::Struct { name: "CurrentUser", - len: 10, + len: 12, }, + Token::Str("accent_color"), + Token::Some, + Token::U64(16_711_680), Token::Str("avatar"), Token::Some, Token::Str("avatar hash"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(true), Token::Str("discriminator"), @@ -105,11 +116,16 @@ mod tests { vec![ Token::Struct { name: "CurrentUser", - len: 12, + len: 14, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("avatar hash"), + Token::Str("banner"), + Token::Some, + Token::Str("06c16474723fe537c283b8efa61a30c8"), Token::Str("bot"), Token::Bool(true), Token::Str("discriminator"), @@ -146,7 +162,9 @@ mod tests { #[test] fn test_current_user() { let value = CurrentUser { + accent_color: Some(16_711_680), avatar: Some("avatar hash".to_owned()), + banner: None, bot: true, discriminator: "9999".to_owned(), email: None, @@ -173,7 +191,9 @@ mod tests { #[test] fn test_current_user_complete() { let value = CurrentUser { + accent_color: None, avatar: Some("avatar hash".to_owned()), + banner: Some("06c16474723fe537c283b8efa61a30c8".to_owned()), bot: true, discriminator: "9999".to_owned(), email: Some("test@example.com".to_owned()), diff --git a/model/src/user/mod.rs b/model/src/user/mod.rs index 4947dc430da..d408988c8ce 100644 --- a/model/src/user/mod.rs +++ b/model/src/user/mod.rs @@ -51,7 +51,13 @@ pub(crate) mod discriminator { #[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct User { + /// Accent color of the user's banner. + /// + /// This is an integer representation of a hexadecimal color code. + pub accent_color: Option, pub avatar: Option, + /// Hash of the user's banner image. + pub banner: Option, #[serde(default)] pub bot: bool, /// Discriminator used to differentiate people with the same username. @@ -93,11 +99,16 @@ mod tests { vec![ Token::Struct { name: "User", - len: 12, + len: 14, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::Some, + Token::Str("06c16474723fe537c283b8efa61a30c8"), Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -136,11 +147,16 @@ mod tests { vec![ Token::Struct { name: "User", - len: 13, + len: 15, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::Some, Token::Str("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + Token::Str("banner"), + Token::Some, + Token::Str("06c16474723fe537c283b8efa61a30c8"), Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -181,7 +197,9 @@ mod tests { #[test] fn test_user() { let value = User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: Some("06c16474723fe537c283b8efa61a30c8".to_owned()), bot: false, discriminator: "0001".to_owned(), email: Some("address@example.com".to_owned()), @@ -209,7 +227,9 @@ mod tests { #[test] fn test_user_complete() { let value = User { + accent_color: None, avatar: Some("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".to_owned()), + banner: Some("06c16474723fe537c283b8efa61a30c8".to_owned()), bot: false, discriminator: "0001".to_owned(), email: Some("address@example.com".to_owned()), diff --git a/model/src/user/profile.rs b/model/src/user/profile.rs index e1b01aea28f..cd354ea47f8 100644 --- a/model/src/user/profile.rs +++ b/model/src/user/profile.rs @@ -6,7 +6,13 @@ use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Eq, Hash, PartialEq, Serialize)] pub struct UserProfile { + /// Accent color of the user's banner. + /// + /// This is an integer representation of a hexadecimal color code. + pub accent_color: Option, pub avatar: Option, + /// Hash of the user's banner image. + pub banner: Option, #[serde(default)] pub bot: bool, /// Discriminator used to differentiate people with the same username. @@ -44,11 +50,16 @@ mod tests { vec![ Token::Struct { name: "UserProfile", - len: 11, + len: 13, }, + Token::Str("accent_color"), + Token::Some, + Token::U64(16_579_836), Token::Str("avatar"), Token::Some, Token::Str("hash"), + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), @@ -83,7 +94,9 @@ mod tests { #[test] fn test_user_profile() { let value = UserProfile { + accent_color: Some(16_579_836), avatar: Some("hash".to_owned()), + banner: None, bot: false, discriminator: "0004".to_owned(), email: Some("email@example.com".to_owned()), diff --git a/model/src/voice/voice_state.rs b/model/src/voice/voice_state.rs index 40e1fdabb30..ea5967577a7 100644 --- a/model/src/voice/voice_state.rs +++ b/model/src/voice/voice_state.rs @@ -343,7 +343,9 @@ mod tests { premium_since: Some("timestamp".to_owned()), roles: Vec::new(), user: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -420,10 +422,14 @@ mod tests { Token::Str("user"), Token::Struct { name: "User", - len: 5, + len: 7, }, + Token::Str("accent_color"), + Token::None, Token::Str("avatar"), Token::None, + Token::Str("banner"), + Token::None, Token::Str("bot"), Token::Bool(false), Token::Str("discriminator"), diff --git a/standby/src/lib.rs b/standby/src/lib.rs index 0188da4ee07..5f15eb12b3f 100644 --- a/standby/src/lib.rs +++ b/standby/src/lib.rs @@ -947,7 +947,9 @@ mod tests { application_id: None, attachments: Vec::new(), author: User { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None, @@ -1071,7 +1073,9 @@ mod tests { session_id: String::new(), shard: Some([5, 7]), user: CurrentUser { + accent_color: None, avatar: None, + banner: None, bot: false, discriminator: "0001".to_owned(), email: None,