use headless_common::convert_case::Casing;
#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize, FieldName)]
pub struct ObjectDefinition {
#[serde(
rename = "accountEntryRestricted",
skip_serializing_if = "Option::is_none"
)]
pub account_entry_restricted: Option<bool>,
#[serde(
rename = "accountEntryRestrictedObjectFieldName",
skip_serializing_if = "Option::is_none"
)]
pub account_entry_restricted_object_field_name: Option<String>,
#[serde(rename = "actions", skip_serializing_if = "Option::is_none")]
pub actions:
Option<::std::collections::HashMap<String, ::std::collections::HashMap<String, String>>>,
#[serde(rename = "active", skip_serializing_if = "Option::is_none")]
pub active: Option<bool>,
#[serde(rename = "dateCreated", skip_serializing_if = "Option::is_none")]
pub date_created: Option<String>,
#[serde(rename = "dateModified", skip_serializing_if = "Option::is_none")]
pub date_modified: Option<String>,
#[serde(rename = "defaultLanguageId", skip_serializing_if = "Option::is_none")]
pub default_language_id: Option<String>,
#[serde(
rename = "enableCategorization",
skip_serializing_if = "Option::is_none"
)]
pub enable_categorization: Option<bool>,
#[serde(rename = "enableComments", skip_serializing_if = "Option::is_none")]
pub enable_comments: Option<bool>,
#[serde(
rename = "enableObjectEntryHistory",
skip_serializing_if = "Option::is_none"
)]
pub enable_object_entry_history: Option<bool>,
#[serde(
rename = "externalReferenceCode",
skip_serializing_if = "Option::is_none"
)]
pub external_reference_code: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "label", skip_serializing_if = "Option::is_none")]
pub label: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "objectActions", skip_serializing_if = "Option::is_none")]
pub object_actions: Option<Vec<crate::models::ObjectAction>>,
#[serde(rename = "objectFields", skip_serializing_if = "Option::is_none")]
pub object_fields: Option<Vec<crate::models::ObjectField>>,
#[serde(rename = "objectLayouts", skip_serializing_if = "Option::is_none")]
pub object_layouts: Option<Vec<crate::models::ObjectLayout>>,
#[serde(
rename = "objectRelationships",
skip_serializing_if = "Option::is_none"
)]
pub object_relationships: Option<Vec<crate::models::ObjectRelationship>>,
#[serde(rename = "objectViews", skip_serializing_if = "Option::is_none")]
pub object_views: Option<Vec<crate::models::ObjectView>>,
#[serde(rename = "panelAppOrder", skip_serializing_if = "Option::is_none")]
pub panel_app_order: Option<String>,
#[serde(rename = "panelCategoryKey", skip_serializing_if = "Option::is_none")]
pub panel_category_key: Option<String>,
#[serde(rename = "parameterRequired", skip_serializing_if = "Option::is_none")]
pub parameter_required: Option<bool>,
#[serde(rename = "pluralLabel", skip_serializing_if = "Option::is_none")]
pub plural_label: Option<::std::collections::HashMap<String, String>>,
#[serde(rename = "portlet", skip_serializing_if = "Option::is_none")]
pub portlet: Option<bool>,
#[serde(rename = "restContextPath", skip_serializing_if = "Option::is_none")]
pub rest_context_path: Option<String>,
#[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
pub scope: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Box<crate::models::Status>>,
#[serde(rename = "storageType", skip_serializing_if = "Option::is_none")]
pub storage_type: Option<String>,
#[serde(rename = "system", skip_serializing_if = "Option::is_none")]
pub system: Option<bool>,
#[serde(
rename = "titleObjectFieldName",
skip_serializing_if = "Option::is_none"
)]
pub title_object_field_name: Option<String>,
#[serde(rename = "x-class-name", skip_serializing_if = "Option::is_none")]
pub x_class_name: Option<String>,
}
impl Display for ObjectDefinitionFieldName {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.name().to_case(Case::Camel))
}
}
use std::fmt::Display;
use headless_common::{convert_case::Case, field_types::FieldName};
pub use ObjectDefinitionFieldName as ObjectDefinitionField;
impl ObjectDefinition {
pub fn new() -> ObjectDefinition {
ObjectDefinition {
account_entry_restricted: None,
account_entry_restricted_object_field_name: None,
actions: None,
active: None,
date_created: None,
date_modified: None,
default_language_id: None,
enable_categorization: None,
enable_comments: None,
enable_object_entry_history: None,
external_reference_code: None,
id: None,
label: None,
name: None,
object_actions: None,
object_fields: None,
object_layouts: None,
object_relationships: None,
object_views: None,
panel_app_order: None,
panel_category_key: None,
parameter_required: None,
plural_label: None,
portlet: None,
rest_context_path: None,
scope: None,
status: None,
storage_type: None,
system: None,
title_object_field_name: None,
x_class_name: None,
}
}
}