osdm_sys/models/
address.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct Address {
18 #[serde(rename = "objectType")]
20 pub object_type: String,
21 #[serde(rename = "id")]
23 pub id: String,
24 #[serde(rename = "alternativeIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub alternative_ids: Option<Option<Vec<String>>>,
27 #[serde(rename = "geoPosition", skip_serializing_if = "Option::is_none")]
28 pub geo_position: Option<Box<models::GeoPosition>>,
29 #[serde(rename = "ref", skip_serializing_if = "Option::is_none")]
30 pub r#ref: Option<Box<models::PlaceRef>>,
31 #[serde(rename = "_links", skip_serializing_if = "Option::is_none")]
33 pub _links: Option<Vec<models::Link>>,
34 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub name: Option<Option<String>>,
37 #[serde(rename = "code", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub code: Option<Option<String>>,
40 #[serde(rename = "countryName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
42 pub country_name: Option<Option<String>>,
43 #[serde(rename = "countryCode", skip_serializing_if = "Option::is_none")]
45 pub country_code: Option<String>,
46 #[serde(rename = "postCode", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
48 pub post_code: Option<Option<String>>,
49 #[serde(rename = "city", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub city: Option<Option<String>>,
52 #[serde(rename = "topographicPlaceName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
54 pub topographic_place_name: Option<Option<String>>,
55 #[serde(rename = "street", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
57 pub street: Option<Option<String>>,
58 #[serde(rename = "houseNumber", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
60 pub house_number: Option<Option<String>>,
61}
62
63impl Address {
64 pub fn new(object_type: String, id: String) -> Address {
66 Address {
67 object_type,
68 id,
69 alternative_ids: None,
70 geo_position: None,
71 r#ref: None,
72 _links: None,
73 name: None,
74 code: None,
75 country_name: None,
76 country_code: None,
77 post_code: None,
78 city: None,
79 topographic_place_name: None,
80 street: None,
81 house_number: None,
82 }
83 }
84}
85