Skip to main content

box_open_sdk/models/schemas/
shield_information_barrier_segment_restrictions.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use 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}