use serde::{Deserialize, Serialize};
#[cfg(feature = "ws")]
use crate::model::{UserBase, WorldDisplayDetails};
#[cfg(feature = "ws")]
#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct InviteRequest {
pub id: crate::id::Invite,
pub sender: crate::model::UserBase,
pub receiver_id: crate::id::User,
}
#[cfg(feature = "ws")]
#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Invite {
pub id: crate::id::Invite,
pub user: UserBase,
pub world: WorldDisplayDetails,
pub instance_id: crate::id::Instance,
pub receiver_id: crate::id::User,
pub instance_name: String,
}
#[cfg(feature = "ws")]
#[serde_with::serde_as]
#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Invites(
#[cfg_attr(
not(feature = "debug"),
serde_as(as = "serde_with::VecSkipError<_>")
)]
pub Vec<Invite>,
);
#[cfg(feature = "ws")]
#[serde_with::serde_as]
#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct InviteRequests(
#[cfg_attr(
not(feature = "debug"),
serde_as(as = "serde_with::VecSkipError<_>")
)]
pub Vec<InviteRequest>,
);