use serde::{Deserialize, Serialize};
use chrono::{DateTime, Utc};
use super::types::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategoryCreatedEvent {
pub id: BoothCategoryId,
pub data: BoothCategoryDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategoryUpdatedEvent {
pub id: BoothCategoryId,
pub data: BoothCategoryDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategoryDeletedEvent {
pub id: BoothCategoryId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCreatedEvent {
pub id: BoothId,
pub data: BoothDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothUpdatedEvent {
pub id: BoothId,
pub data: BoothDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothDeletedEvent {
pub id: BoothId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothCreatedEvent {
pub id: TypeBoothId,
pub data: TypeBoothDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothUpdatedEvent {
pub id: TypeBoothId,
pub data: TypeBoothDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothDeletedEvent {
pub id: TypeBoothId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingCreatedEvent {
pub id: BoothBookingId,
pub data: BoothBookingDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingUpdatedEvent {
pub id: BoothBookingId,
pub data: BoothBookingDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingDeletedEvent {
pub id: BoothBookingId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventCreatedEvent {
pub id: EventId,
pub data: EventDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventUpdatedEvent {
pub id: EventId,
pub data: EventDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventDeletedEvent {
pub id: EventId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeCreatedEvent {
pub id: EventTypeId,
pub data: EventTypeDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeUpdatedEvent {
pub id: EventTypeId,
pub data: EventTypeDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeDeletedEvent {
pub id: EventTypeId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceCreatedEvent {
pub id: LeadProvenanceId,
pub data: LeadProvenanceDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceUpdatedEvent {
pub id: LeadProvenanceId,
pub data: LeadProvenanceDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceDeletedEvent {
pub id: LeadProvenanceId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationCreatedEvent {
pub id: LeadProvenanceRegistrationId,
pub data: LeadProvenanceRegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationUpdatedEvent {
pub id: LeadProvenanceRegistrationId,
pub data: LeadProvenanceRegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationDeletedEvent {
pub id: LeadProvenanceRegistrationId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestCreatedEvent {
pub id: LeadRequestId,
pub data: LeadRequestDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestUpdatedEvent {
pub id: LeadRequestId,
pub data: LeadRequestDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestDeletedEvent {
pub id: LeadRequestId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleCreatedEvent {
pub id: LeadRuleId,
pub data: LeadRuleDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleUpdatedEvent {
pub id: LeadRuleId,
pub data: LeadRuleDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleDeletedEvent {
pub id: LeadRuleId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateCreatedEvent {
pub id: LeadRulePredicateId,
pub data: LeadRulePredicateDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateUpdatedEvent {
pub id: LeadRulePredicateId,
pub data: LeadRulePredicateDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateDeletedEvent {
pub id: LeadRulePredicateId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailCreatedEvent {
pub id: MailId,
pub data: MailDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailUpdatedEvent {
pub id: MailId,
pub data: MailDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailDeletedEvent {
pub id: MailId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationCreatedEvent {
pub id: MailRegistrationId,
pub data: MailRegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationUpdatedEvent {
pub id: MailRegistrationId,
pub data: MailRegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationDeletedEvent {
pub id: MailRegistrationId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotCreatedEvent {
pub id: MailSlotId,
pub data: MailSlotDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotUpdatedEvent {
pub id: MailSlotId,
pub data: MailSlotDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotDeletedEvent {
pub id: MailSlotId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionCreatedEvent {
pub id: QuestionId,
pub data: QuestionDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionUpdatedEvent {
pub id: QuestionId,
pub data: QuestionDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionDeletedEvent {
pub id: QuestionId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerCreatedEvent {
pub id: QuestionAnswerId,
pub data: QuestionAnswerDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerUpdatedEvent {
pub id: QuestionAnswerId,
pub data: QuestionAnswerDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerDeletedEvent {
pub id: QuestionAnswerId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionCreatedEvent {
pub id: RegistrationQuestionId,
pub data: RegistrationQuestionDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionUpdatedEvent {
pub id: RegistrationQuestionId,
pub data: RegistrationQuestionDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionDeletedEvent {
pub id: RegistrationQuestionId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationCreatedEvent {
pub id: RegistrationId,
pub data: RegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationUpdatedEvent {
pub id: RegistrationId,
pub data: RegistrationDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationDeletedEvent {
pub id: RegistrationId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerCreatedEvent {
pub id: RegistrationAnswerId,
pub data: RegistrationAnswerDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerUpdatedEvent {
pub id: RegistrationAnswerId,
pub data: RegistrationAnswerDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerDeletedEvent {
pub id: RegistrationAnswerId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotCreatedEvent {
pub id: SlotId,
pub data: SlotDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotUpdatedEvent {
pub id: SlotId,
pub data: SlotDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotDeletedEvent {
pub id: SlotId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageCreatedEvent {
pub id: StageId,
pub data: StageDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageUpdatedEvent {
pub id: StageId,
pub data: StageDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageDeletedEvent {
pub id: StageId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategoryCreatedEvent {
pub id: TagCategoryId,
pub data: TagCategoryDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategoryUpdatedEvent {
pub id: TagCategoryId,
pub data: TagCategoryDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategoryDeletedEvent {
pub id: TagCategoryId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCreatedEvent {
pub id: TagId,
pub data: TagDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagUpdatedEvent {
pub id: TagId,
pub data: TagDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagDeletedEvent {
pub id: TagId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketCreatedEvent {
pub id: TicketId,
pub data: TicketDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketUpdatedEvent {
pub id: TicketId,
pub data: TicketDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketDeletedEvent {
pub id: TicketId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailCreatedEvent {
pub id: TypeMailId,
pub data: TypeMailDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailUpdatedEvent {
pub id: TypeMailId,
pub data: TypeMailDto,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailDeletedEvent {
pub id: TypeMailId,
pub occurred_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum EventEvent {
BoothCategoryCreated(BoothCategoryCreatedEvent),
BoothCategoryUpdated(BoothCategoryUpdatedEvent),
BoothCategoryDeleted(BoothCategoryDeletedEvent),
BoothCreated(BoothCreatedEvent),
BoothUpdated(BoothUpdatedEvent),
BoothDeleted(BoothDeletedEvent),
TypeBoothCreated(TypeBoothCreatedEvent),
TypeBoothUpdated(TypeBoothUpdatedEvent),
TypeBoothDeleted(TypeBoothDeletedEvent),
BoothBookingCreated(BoothBookingCreatedEvent),
BoothBookingUpdated(BoothBookingUpdatedEvent),
BoothBookingDeleted(BoothBookingDeletedEvent),
EventCreated(EventCreatedEvent),
EventUpdated(EventUpdatedEvent),
EventDeleted(EventDeletedEvent),
EventTypeCreated(EventTypeCreatedEvent),
EventTypeUpdated(EventTypeUpdatedEvent),
EventTypeDeleted(EventTypeDeletedEvent),
LeadProvenanceCreated(LeadProvenanceCreatedEvent),
LeadProvenanceUpdated(LeadProvenanceUpdatedEvent),
LeadProvenanceDeleted(LeadProvenanceDeletedEvent),
LeadProvenanceRegistrationCreated(LeadProvenanceRegistrationCreatedEvent),
LeadProvenanceRegistrationUpdated(LeadProvenanceRegistrationUpdatedEvent),
LeadProvenanceRegistrationDeleted(LeadProvenanceRegistrationDeletedEvent),
LeadRequestCreated(LeadRequestCreatedEvent),
LeadRequestUpdated(LeadRequestUpdatedEvent),
LeadRequestDeleted(LeadRequestDeletedEvent),
LeadRuleCreated(LeadRuleCreatedEvent),
LeadRuleUpdated(LeadRuleUpdatedEvent),
LeadRuleDeleted(LeadRuleDeletedEvent),
LeadRulePredicateCreated(LeadRulePredicateCreatedEvent),
LeadRulePredicateUpdated(LeadRulePredicateUpdatedEvent),
LeadRulePredicateDeleted(LeadRulePredicateDeletedEvent),
MailCreated(MailCreatedEvent),
MailUpdated(MailUpdatedEvent),
MailDeleted(MailDeletedEvent),
MailRegistrationCreated(MailRegistrationCreatedEvent),
MailRegistrationUpdated(MailRegistrationUpdatedEvent),
MailRegistrationDeleted(MailRegistrationDeletedEvent),
MailSlotCreated(MailSlotCreatedEvent),
MailSlotUpdated(MailSlotUpdatedEvent),
MailSlotDeleted(MailSlotDeletedEvent),
QuestionCreated(QuestionCreatedEvent),
QuestionUpdated(QuestionUpdatedEvent),
QuestionDeleted(QuestionDeletedEvent),
QuestionAnswerCreated(QuestionAnswerCreatedEvent),
QuestionAnswerUpdated(QuestionAnswerUpdatedEvent),
QuestionAnswerDeleted(QuestionAnswerDeletedEvent),
RegistrationQuestionCreated(RegistrationQuestionCreatedEvent),
RegistrationQuestionUpdated(RegistrationQuestionUpdatedEvent),
RegistrationQuestionDeleted(RegistrationQuestionDeletedEvent),
RegistrationCreated(RegistrationCreatedEvent),
RegistrationUpdated(RegistrationUpdatedEvent),
RegistrationDeleted(RegistrationDeletedEvent),
RegistrationAnswerCreated(RegistrationAnswerCreatedEvent),
RegistrationAnswerUpdated(RegistrationAnswerUpdatedEvent),
RegistrationAnswerDeleted(RegistrationAnswerDeletedEvent),
SlotCreated(SlotCreatedEvent),
SlotUpdated(SlotUpdatedEvent),
SlotDeleted(SlotDeletedEvent),
StageCreated(StageCreatedEvent),
StageUpdated(StageUpdatedEvent),
StageDeleted(StageDeletedEvent),
TagCategoryCreated(TagCategoryCreatedEvent),
TagCategoryUpdated(TagCategoryUpdatedEvent),
TagCategoryDeleted(TagCategoryDeletedEvent),
TagCreated(TagCreatedEvent),
TagUpdated(TagUpdatedEvent),
TagDeleted(TagDeletedEvent),
TicketCreated(TicketCreatedEvent),
TicketUpdated(TicketUpdatedEvent),
TicketDeleted(TicketDeletedEvent),
TypeMailCreated(TypeMailCreatedEvent),
TypeMailUpdated(TypeMailUpdatedEvent),
TypeMailDeleted(TypeMailDeletedEvent),
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventEventMetadata {
pub module: &'static str,
pub version: &'static str,
}
impl Default for EventEventMetadata {
fn default() -> Self {
Self {
module: "event",
version: "1.0",
}
}
}