lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

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 }