ya_client_model/market/
event.rs1use chrono::{DateTime, Utc};
10use serde::{Deserialize, Serialize};
11
12use crate::market::{Agreement, PropertyQuery, Proposal, Reason};
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15#[serde(tag = "eventType")]
16pub enum ProviderEvent {
17 #[serde(rename = "ProposalEvent")]
18 ProposalEvent {
19 #[serde(rename = "eventDate")]
20 event_date: DateTime<Utc>,
21 #[serde(rename = "proposal")]
22 proposal: Proposal,
23 },
24 #[serde(rename = "ProposalRejectedEvent")]
25 ProposalRejectedEvent {
26 #[serde(rename = "eventDate")]
27 event_date: DateTime<Utc>,
28 #[serde(rename = "proposalId")]
29 proposal_id: String,
30 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
31 reason: Option<Reason>,
32 },
33 #[serde(rename = "AgreementEvent")]
34 AgreementEvent {
35 #[serde(rename = "eventDate")]
36 event_date: DateTime<Utc>,
37 #[serde(rename = "agreement")]
38 agreement: Agreement,
39 },
40 #[serde(rename = "PropertyQueryEvent")]
41 PropertyQueryEvent {
42 #[serde(rename = "eventDate")]
43 event_date: DateTime<Utc>,
44 #[serde(rename = "propertyQuery")]
45 property_query: PropertyQuery,
46 },
47}
48
49#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
50#[serde(tag = "eventType")]
51pub enum RequestorEvent {
52 #[serde(rename = "ProposalEvent")]
53 ProposalEvent {
54 #[serde(rename = "eventDate")]
55 event_date: DateTime<Utc>,
56 #[serde(rename = "proposal")]
57 proposal: Proposal,
58 },
59 #[serde(rename = "ProposalRejectedEvent")]
60 ProposalRejectedEvent {
61 #[serde(rename = "eventDate")]
62 event_date: DateTime<Utc>,
63 #[serde(rename = "proposalId")]
64 proposal_id: String,
65 #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
66 reason: Option<Reason>,
67 },
68 #[serde(rename = "PropertyQueryEvent")]
69 PropertyQueryEvent {
70 #[serde(rename = "eventDate")]
71 event_date: DateTime<Utc>,
72 #[serde(rename = "propertyQuery")]
73 property_query: PropertyQuery,
74 },
75}