provenant/output_schema/
party.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4pub struct OutputParty {
5 #[serde(skip_serializing_if = "Option::is_none")]
6 pub r#type: Option<String>,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub role: Option<String>,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub name: Option<String>,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub email: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub url: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub organization: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub organization_url: Option<String>,
19 #[serde(skip_serializing_if = "Option::is_none")]
20 pub timezone: Option<String>,
21}
22
23impl From<&crate::models::Party> for OutputParty {
24 fn from(value: &crate::models::Party) -> Self {
25 Self {
26 r#type: value.r#type.clone(),
27 role: value.role.clone(),
28 name: value.name.clone(),
29 email: value.email.clone(),
30 url: value.url.clone(),
31 organization: value.organization.clone(),
32 organization_url: value.organization_url.clone(),
33 timezone: value.timezone.clone(),
34 }
35 }
36}
37
38impl TryFrom<&OutputParty> for crate::models::Party {
39 type Error = String;
40 fn try_from(value: &OutputParty) -> Result<Self, Self::Error> {
41 Ok(Self {
42 r#type: value.r#type.clone(),
43 role: value.role.clone(),
44 name: value.name.clone(),
45 email: value.email.clone(),
46 url: value.url.clone(),
47 organization: value.organization.clone(),
48 organization_url: value.organization_url.clone(),
49 timezone: value.timezone.clone(),
50 })
51 }
52}