resource_area.rs (1309B)
1 #![forbid(unsafe_code)] 2 3 use crate::farm::change_set::GcsLocation; 4 5 #[cfg(not(feature = "std"))] 6 use alloc::{string::String, vec::Vec}; 7 8 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 9 #[cfg_attr(all(test, feature = "std"), dto(export))] 10 #[cfg_attr( 11 any(feature = "serde", test), 12 derive(serde::Serialize, serde::Deserialize) 13 )] 14 #[derive(Clone, Debug)] 15 pub struct ResourceArea { 16 pub d_tag: String, 17 pub name: String, 18 pub about: Option<String>, 19 pub location: ResourceAreaLocation, 20 pub tags: Option<Vec<String>>, 21 } 22 23 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 24 #[cfg_attr(all(test, feature = "std"), dto(export))] 25 #[cfg_attr( 26 any(feature = "serde", test), 27 derive(serde::Serialize, serde::Deserialize) 28 )] 29 #[derive(Clone, Debug)] 30 pub struct ResourceAreaRef { 31 pub pubkey: String, 32 pub d_tag: String, 33 } 34 35 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 36 #[cfg_attr(all(test, feature = "std"), dto(export))] 37 #[cfg_attr( 38 any(feature = "serde", test), 39 derive(serde::Serialize, serde::Deserialize) 40 )] 41 #[derive(Clone, Debug)] 42 pub struct ResourceAreaLocation { 43 pub primary: Option<String>, 44 pub city: Option<String>, 45 pub region: Option<String>, 46 pub country: Option<String>, 47 pub gcs: GcsLocation, 48 }