fix: populate empty vector if clear field is missing

fixes #367
This commit is contained in:
Paul Makles
2024-10-24 17:14:30 +01:00
parent 397b9878e1
commit 876068a37e

View File

@@ -2,7 +2,10 @@ use authifier::AuthifierEvent;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use revolt_models::v0::{ use revolt_models::v0::{
AppendMessage, Channel, ChannelUnread, Emoji, FieldsChannel, FieldsMember, FieldsMessage, FieldsRole, FieldsServer, FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message, PartialChannel, PartialMember, PartialMessage, PartialRole, PartialServer, PartialUser, PartialWebhook, RemovalIntention, Report, Server, User, UserSettings, Webhook AppendMessage, Channel, ChannelUnread, Emoji, FieldsChannel, FieldsMember, FieldsMessage,
FieldsRole, FieldsServer, FieldsUser, FieldsWebhook, Member, MemberCompositeKey, Message,
PartialChannel, PartialMember, PartialMessage, PartialRole, PartialServer, PartialUser,
PartialWebhook, RemovalIntention, Report, Server, User, UserSettings, Webhook,
}; };
use revolt_result::Error; use revolt_result::Error;
@@ -89,6 +92,7 @@ pub enum EventV1 {
id: String, id: String,
channel: String, channel: String,
data: PartialMessage, data: PartialMessage,
#[serde(default)]
clear: Vec<FieldsMessage>, clear: Vec<FieldsMessage>,
}, },
@@ -140,6 +144,7 @@ pub enum EventV1 {
ServerUpdate { ServerUpdate {
id: String, id: String,
data: PartialServer, data: PartialServer,
#[serde(default)]
clear: Vec<FieldsServer>, clear: Vec<FieldsServer>,
}, },
@@ -150,6 +155,7 @@ pub enum EventV1 {
ServerMemberUpdate { ServerMemberUpdate {
id: MemberCompositeKey, id: MemberCompositeKey,
data: PartialMember, data: PartialMember,
#[serde(default)]
clear: Vec<FieldsMember>, clear: Vec<FieldsMember>,
}, },
@@ -168,6 +174,7 @@ pub enum EventV1 {
id: String, id: String,
role_id: String, role_id: String,
data: PartialRole, data: PartialRole,
#[serde(default)]
clear: Vec<FieldsRole>, clear: Vec<FieldsRole>,
}, },
@@ -178,6 +185,7 @@ pub enum EventV1 {
UserUpdate { UserUpdate {
id: String, id: String,
data: PartialUser, data: PartialUser,
#[serde(default)]
clear: Vec<FieldsUser>, clear: Vec<FieldsUser>,
event_id: Option<String>, event_id: Option<String>,
}, },
@@ -212,6 +220,7 @@ pub enum EventV1 {
ChannelUpdate { ChannelUpdate {
id: String, id: String,
data: PartialChannel, data: PartialChannel,
#[serde(default)]
clear: Vec<FieldsChannel>, clear: Vec<FieldsChannel>,
}, },