use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum StreamEvent {
#[serde(rename="crawl-created")]
CrawlCreated(Box<models::CrawlCreatedEvent>),
#[serde(rename="crawl-deleted")]
CrawlDeleted(Box<models::CrawlDeletedEvent>),
#[serde(rename="friend-added")]
FriendAdded(Box<models::FriendAddedEvent>),
#[serde(rename="friend-removed")]
FriendRemoved(Box<models::FriendRemovedEvent>),
#[serde(rename="friend-request-accepted")]
FriendRequestAccepted(Box<models::FriendRequestAcceptedEvent>),
#[serde(rename="friend-request-added")]
FriendRequestAdded(Box<models::FriendRequestAddedEvent>),
#[serde(rename="friend-request-rejected")]
FriendRequestRejected(Box<models::FriendRequestRejectedEvent>),
#[serde(rename="friend-request-removed")]
FriendRequestRemoved(Box<models::FriendRequestRemovedEvent>),
#[serde(rename="patch-note-created")]
PatchNoteCreated(Box<models::PatchNoteCreatedEvent>),
#[serde(rename="patch-note-deleted")]
PatchNoteDeleted(Box<models::PatchNoteDeletedEvent>),
#[serde(rename="punishment-created")]
PunishmentCreated(Box<models::PunishmentCreatedEvent>),
#[serde(rename="punishment-proof-created")]
PunishmentProofCreated(Box<models::PunishmentProofCreatedEvent>),
#[serde(rename="punishment-proof-deleted")]
PunishmentProofDeleted(Box<models::PunishmentProofDeletedEvent>),
#[serde(rename="punishment-proof-updated")]
PunishmentProofUpdated(Box<models::PunishmentProofUpdatedEvent>),
#[serde(rename="punishment-revoked")]
PunishmentRevoked(Box<models::PunishmentRevokedEvent>),
#[serde(rename="punishment-updated")]
PunishmentUpdated(Box<models::PunishmentUpdatedEvent>),
}
impl Default for StreamEvent {
fn default() -> Self {
Self::CrawlCreated(Default::default())
}
}