use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use crate::channel::{AttachmentApiType, ChannelApiType, MessageApiType};
use crate::entities::{GuildMemberApiType, RoleApiType, UserApiType};
#[derive(Serialize, Deserialize, Debug, Clone, Default)]
pub struct ResolvedDataApiType {
#[serde(skip_serializing_if = "Option::is_none")]
pub users: Option<HashMap<String, UserApiType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub members: Option<HashMap<String, GuildMemberApiType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub roles: Option<HashMap<String, RoleApiType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub channels: Option<HashMap<String, ChannelApiType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub messages: Option<HashMap<String, MessageApiType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub attachments: Option<HashMap<String, AttachmentApiType>>,
}