use serde::{Deserialize, Serialize};
use uuid::Uuid;
use chrono::{DateTime, Utc};
use rust_decimal::Decimal;
use crate::domain::entity::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct BoothCategoryId(pub Uuid);
impl BoothCategoryId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for BoothCategoryId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<BoothCategoryId> for Uuid {
fn from(id: BoothCategoryId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategoryDto {
pub id: BoothCategoryId,
pub name: String,
pub description: Option<String>,
pub product_id: Option<Uuid>,
pub price: Option<Decimal>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategorySummary {
pub id: BoothCategoryId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothCategoryRef {
pub id: BoothCategoryId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct BoothId(pub Uuid);
impl BoothId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for BoothId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<BoothId> for Uuid {
fn from(id: BoothId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothDto {
pub id: BoothId,
pub event_id: Uuid,
pub booth_category_id: Uuid,
pub name: String,
pub state: EventBoothState,
pub partner_id: Option<Uuid>,
pub contact_name: Option<String>,
pub contact_email: Option<String>,
pub contact_phone: Option<String>,
pub sale_order_line_id: Option<Uuid>,
pub is_paid: bool,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothSummary {
pub id: BoothId,
pub name: String,
pub contact_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothRef {
pub id: BoothId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct TypeBoothId(pub Uuid);
impl TypeBoothId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for TypeBoothId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<TypeBoothId> for Uuid {
fn from(id: TypeBoothId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothDto {
pub id: TypeBoothId,
pub event_type_id: Uuid,
pub booth_category_id: Uuid,
pub name: String,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothSummary {
pub id: TypeBoothId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeBoothRef {
pub id: TypeBoothId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct BoothBookingId(pub Uuid);
impl BoothBookingId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for BoothBookingId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<BoothBookingId> for Uuid {
fn from(id: BoothBookingId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingDto {
pub id: BoothBookingId,
pub event_booth_id: Uuid,
pub sale_order_line_id: Option<Uuid>,
pub status: EventBoothBookingStatus,
pub partner_id: Option<Uuid>,
pub contact_name: Option<String>,
pub contact_email: Option<String>,
pub contact_phone: Option<String>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingSummary {
pub id: BoothBookingId,
pub status: EventBoothBookingStatus,
pub contact_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BoothBookingRef {
pub id: BoothBookingId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct EventId(pub Uuid);
impl EventId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for EventId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<EventId> for Uuid {
fn from(id: EventId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventDto {
pub id: EventId,
pub name: String,
pub event_type_id: Option<Uuid>,
pub stage_id: Uuid,
pub kanban_state: EventKanbanState,
pub date_begin: DateTime<Utc>,
pub date_end: DateTime<Utc>,
pub date_tz: String,
pub is_multi_slots: bool,
pub event_slot_count: i32,
pub seats_limited: bool,
pub seats_max: i32,
pub address_id: Option<Uuid>,
pub organizer_id: Option<Uuid>,
pub user_id: Option<Uuid>,
pub event_url: Option<String>,
pub badge_format: EventBadgeFormat,
pub is_published: bool,
pub date_publish: Option<DateTime<Utc>>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventSummary {
pub id: EventId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventRef {
pub id: EventId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct EventTypeId(pub Uuid);
impl EventTypeId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for EventTypeId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<EventTypeId> for Uuid {
fn from(id: EventTypeId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeDto {
pub id: EventTypeId,
pub name: String,
pub description: Option<String>,
pub seats_limited: bool,
pub seats_max: i32,
pub default_date_tz: String,
pub is_multi_slots: bool,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeSummary {
pub id: EventTypeId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EventTypeRef {
pub id: EventTypeId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct LeadProvenanceId(pub Uuid);
impl LeadProvenanceId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for LeadProvenanceId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<LeadProvenanceId> for Uuid {
fn from(id: LeadProvenanceId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceDto {
pub id: LeadProvenanceId,
pub rule_id: Uuid,
pub event_id: Uuid,
pub lead_id: Option<Uuid>,
pub group_key: String,
pub grouping: EventLeadGrouping,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceSummary {
pub id: LeadProvenanceId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRef {
pub id: LeadProvenanceId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationId(pub Uuid);
impl LeadProvenanceRegistrationId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for LeadProvenanceRegistrationId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<LeadProvenanceRegistrationId> for Uuid {
fn from(id: LeadProvenanceRegistrationId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationDto {
pub id: LeadProvenanceRegistrationId,
pub provenance_id: Uuid,
pub registration_id: Uuid,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationSummary {
pub id: LeadProvenanceRegistrationId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadProvenanceRegistrationRef {
pub id: LeadProvenanceRegistrationId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct LeadRequestId(pub Uuid);
impl LeadRequestId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for LeadRequestId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<LeadRequestId> for Uuid {
fn from(id: LeadRequestId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestDto {
pub id: LeadRequestId,
pub event_id: Uuid,
pub done: bool,
pub error_detail: Option<String>,
pub claimed_at: Option<DateTime<Utc>>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestSummary {
pub id: LeadRequestId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRequestRef {
pub id: LeadRequestId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct LeadRuleId(pub Uuid);
impl LeadRuleId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for LeadRuleId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<LeadRuleId> for Uuid {
fn from(id: LeadRuleId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleDto {
pub id: LeadRuleId,
pub name: String,
pub event_id: Option<Uuid>,
pub basis: EventLeadBasis,
pub on_create: bool,
pub on_confirm: bool,
pub on_done: bool,
pub active: bool,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleSummary {
pub id: LeadRuleId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRuleRef {
pub id: LeadRuleId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct LeadRulePredicateId(pub Uuid);
impl LeadRulePredicateId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for LeadRulePredicateId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<LeadRulePredicateId> for Uuid {
fn from(id: LeadRulePredicateId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateDto {
pub id: LeadRulePredicateId,
pub rule_id: Uuid,
pub axis: EventLeadPredicateAxis,
pub question_id: Option<Uuid>,
pub value_ids: serde_json::Value,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateSummary {
pub id: LeadRulePredicateId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LeadRulePredicateRef {
pub id: LeadRulePredicateId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct MailId(pub Uuid);
impl MailId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for MailId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<MailId> for Uuid {
fn from(id: MailId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailDto {
pub id: MailId,
pub event_id: Uuid,
pub interval_nbr: i32,
pub interval_unit: EventIntervalUnit,
pub interval_kind: EventIntervalKind,
pub notification_channel: EventNotificationChannel,
pub scheduled_date: Option<DateTime<Utc>>,
pub mail_done: bool,
pub last_registration_id: Option<Uuid>,
pub template_ref: Option<Uuid>,
pub template_kind: Option<String>,
pub error_datetime: Option<DateTime<Utc>>,
pub error_kind: Option<EventMailErrorKind>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSummary {
pub id: MailId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRef {
pub id: MailId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct MailRegistrationId(pub Uuid);
impl MailRegistrationId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for MailRegistrationId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<MailRegistrationId> for Uuid {
fn from(id: MailRegistrationId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationDto {
pub id: MailRegistrationId,
pub scheduler_id: Uuid,
pub registration_id: Uuid,
pub scheduled_date: Option<DateTime<Utc>>,
pub mail_sent: bool,
pub outcome: Option<String>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationSummary {
pub id: MailRegistrationId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailRegistrationRef {
pub id: MailRegistrationId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct MailSlotId(pub Uuid);
impl MailSlotId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for MailSlotId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<MailSlotId> for Uuid {
fn from(id: MailSlotId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotDto {
pub id: MailSlotId,
pub scheduler_id: Uuid,
pub slot_id: Uuid,
pub scheduled_date: Option<DateTime<Utc>>,
pub mail_done: bool,
pub last_registration_id: Option<Uuid>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotSummary {
pub id: MailSlotId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MailSlotRef {
pub id: MailSlotId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct QuestionId(pub Uuid);
impl QuestionId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for QuestionId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<QuestionId> for Uuid {
fn from(id: QuestionId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionDto {
pub id: QuestionId,
pub question: String,
pub question_kind: EventQuestionKind,
pub is_default: bool,
pub is_reusable: bool,
pub once_per_order: bool,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionSummary {
pub id: QuestionId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionRef {
pub id: QuestionId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct QuestionAnswerId(pub Uuid);
impl QuestionAnswerId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for QuestionAnswerId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<QuestionAnswerId> for Uuid {
fn from(id: QuestionAnswerId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerDto {
pub id: QuestionAnswerId,
pub question_id: Uuid,
pub name: String,
pub sequence: i32,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerSummary {
pub id: QuestionAnswerId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QuestionAnswerRef {
pub id: QuestionAnswerId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct RegistrationQuestionId(pub Uuid);
impl RegistrationQuestionId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for RegistrationQuestionId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<RegistrationQuestionId> for Uuid {
fn from(id: RegistrationQuestionId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionDto {
pub id: RegistrationQuestionId,
pub event_id: Option<Uuid>,
pub event_type_id: Option<Uuid>,
pub question_id: Uuid,
pub sequence: i32,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionSummary {
pub id: RegistrationQuestionId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationQuestionRef {
pub id: RegistrationQuestionId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct RegistrationId(pub Uuid);
impl RegistrationId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for RegistrationId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<RegistrationId> for Uuid {
fn from(id: RegistrationId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationDto {
pub id: RegistrationId,
pub event_id: Uuid,
pub event_slot_id: Option<Uuid>,
pub event_ticket_id: Option<Uuid>,
pub name: String,
pub email: String,
pub phone: Option<String>,
pub company_name: Option<String>,
pub partner_id: Option<Uuid>,
pub state: EventRegistrationState,
pub date_closed: Option<DateTime<Utc>>,
pub sale_order_id: Option<Uuid>,
pub sale_order_state: Option<EventSaleOrderState>,
pub sale_status: Option<EventSaleStatus>,
pub active: bool,
pub barcode: String,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationSummary {
pub id: RegistrationId,
pub name: String,
pub email: String,
pub company_name: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationRef {
pub id: RegistrationId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct RegistrationAnswerId(pub Uuid);
impl RegistrationAnswerId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for RegistrationAnswerId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<RegistrationAnswerId> for Uuid {
fn from(id: RegistrationAnswerId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerDto {
pub id: RegistrationAnswerId,
pub registration_id: Uuid,
pub question_id: Uuid,
pub value_text: Option<String>,
pub value_answer_id: Option<Uuid>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerSummary {
pub id: RegistrationAnswerId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegistrationAnswerRef {
pub id: RegistrationAnswerId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct SlotId(pub Uuid);
impl SlotId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for SlotId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<SlotId> for Uuid {
fn from(id: SlotId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotDto {
pub id: SlotId,
pub event_id: Uuid,
pub name: String,
pub date_begin: DateTime<Utc>,
pub date_end: Option<DateTime<Utc>>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotSummary {
pub id: SlotId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SlotRef {
pub id: SlotId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct StageId(pub Uuid);
impl StageId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for StageId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<StageId> for Uuid {
fn from(id: StageId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageDto {
pub id: StageId,
pub name: String,
pub sequence: i32,
pub fold: bool,
pub pipe_end: bool,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageSummary {
pub id: StageId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StageRef {
pub id: StageId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct TagCategoryId(pub Uuid);
impl TagCategoryId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for TagCategoryId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<TagCategoryId> for Uuid {
fn from(id: TagCategoryId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategoryDto {
pub id: TagCategoryId,
pub name: String,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategorySummary {
pub id: TagCategoryId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagCategoryRef {
pub id: TagCategoryId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct TagId(pub Uuid);
impl TagId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for TagId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<TagId> for Uuid {
fn from(id: TagId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagDto {
pub id: TagId,
pub name: String,
pub category_id: Option<Uuid>,
pub color: Option<String>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagSummary {
pub id: TagId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TagRef {
pub id: TagId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct TicketId(pub Uuid);
impl TicketId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for TicketId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<TicketId> for Uuid {
fn from(id: TicketId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketDto {
pub id: TicketId,
pub event_id: Uuid,
pub name: String,
pub seats_max: i32,
pub seats_max_per_order: i32,
pub start_sale_datetime: Option<DateTime<Utc>>,
pub end_sale_datetime: Option<DateTime<Utc>>,
pub product_id: Option<Uuid>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketSummary {
pub id: TicketId,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TicketRef {
pub id: TicketId,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct TypeMailId(pub Uuid);
impl TypeMailId {
pub fn new(id: Uuid) -> Self {
Self(id)
}
pub fn into_inner(self) -> Uuid {
self.0
}
}
impl From<Uuid> for TypeMailId {
fn from(id: Uuid) -> Self {
Self(id)
}
}
impl From<TypeMailId> for Uuid {
fn from(id: TypeMailId) -> Self {
id.0
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailDto {
pub id: TypeMailId,
pub event_type_id: Uuid,
pub interval_nbr: i32,
pub interval_unit: EventIntervalUnit,
pub interval_kind: EventIntervalKind,
pub notification_channel: EventNotificationChannel,
pub template_ref: Option<Uuid>,
pub template_kind: Option<String>,
pub metadata: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailSummary {
pub id: TypeMailId,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TypeMailRef {
pub id: TypeMailId,
}