#![cfg(feature = "projects_api")]
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FieldCreateMetadata {
#[serde(rename = "allowedValues", skip_serializing_if = "Option::is_none")]
pub allowed_values: Option<Vec<serde_json::Value>>,
#[serde(rename = "autoCompleteUrl", skip_serializing_if = "Option::is_none")]
pub auto_complete_url: Option<String>,
#[serde(rename = "configuration", skip_serializing_if = "Option::is_none")]
pub configuration: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(
rename = "defaultValue",
default,
with = "::serde_with::rust::double_option",
skip_serializing_if = "Option::is_none"
)]
pub default_value: Option<Option<serde_json::Value>>,
#[serde(rename = "fieldId")]
pub field_id: String,
#[serde(rename = "hasDefaultValue", skip_serializing_if = "Option::is_none")]
pub has_default_value: Option<bool>,
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "operations")]
pub operations: Vec<String>,
#[serde(rename = "required")]
pub required: bool,
#[serde(rename = "schema")]
pub schema: Box<models::JsonTypeBean>,
}
impl FieldCreateMetadata {
pub fn new(
field_id: String,
key: String,
name: String,
operations: Vec<String>,
required: bool,
schema: models::JsonTypeBean,
) -> FieldCreateMetadata {
FieldCreateMetadata {
allowed_values: None,
auto_complete_url: None,
configuration: None,
default_value: None,
field_id,
has_default_value: None,
key,
name,
operations,
required,
schema: Box::new(schema),
}
}
}