box_open_sdk/models/schemas/
shield_information_barrier_segment_restrictions.rs1use crate::serde_helpers::double_option;
4
5use super::*;
6
7#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
8pub struct ShieldInformationBarrierSegmentRestriction {
9 #[serde(default, skip_serializing_if = "Option::is_none")]
10 pub r#type: Option<ShieldInformationBarrierSegmentRestrictionType>,
11 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub id: Option<String>,
13 pub shield_information_barrier_segment:
14 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegment,
15 pub restricted_segment: ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegment,
16 #[serde(default, skip_serializing_if = "Option::is_none")]
17 pub shield_information_barrier: Option<ShieldInformationBarrierBase>,
18 #[serde(default, skip_serializing_if = "Option::is_none")]
19 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
20 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub created_by: Option<UserBase>,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub updated_by: Option<UserBase>,
26}
27
28#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
29pub struct ShieldInformationBarrierSegmentRestrictions {
30 #[serde(default, skip_serializing_if = "Option::is_none")]
31 pub limit: Option<i64>,
32 #[serde(
33 default,
34 skip_serializing_if = "Option::is_none",
35 deserialize_with = "double_option"
36 )]
37 pub next_marker: Option<Option<String>>,
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub entries: Option<Vec<ShieldInformationBarrierSegmentRestriction>>,
40}
41
42#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
43#[serde(transparent)]
44pub struct ShieldInformationBarrierSegmentRestrictionType(pub String);
45
46impl ShieldInformationBarrierSegmentRestrictionType {
47 pub const SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION: &'static str =
48 "shield_information_barrier_segment_restriction";
49}
50
51#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
52pub struct CreateShieldInformationBarrierSegmentRestrictionRequest {
53 pub r#type: ShieldInformationBarrierSegmentRestrictionType,
54 #[serde(default, skip_serializing_if = "Option::is_none")]
55 pub shield_information_barrier: Option<ShieldInformationBarrierBase>,
56 pub shield_information_barrier_segment:
57 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegment,
58 pub restricted_segment: ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegment,
59}