use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct FieldDefinition {
#[serde(default)]
pub resource: Option<String>,
pub id: String,
pub name: String,
#[serde(rename = "type")]
pub kind: String,
#[serde(default)]
pub regex: Option<String>,
#[serde(default)]
pub is_pre_defined: Option<bool>,
#[serde(default)]
pub is_active: bool,
#[serde(default)]
pub is_required: Option<bool>,
#[serde(default)]
pub is_standard: Option<bool>,
#[serde(default)]
pub is_read_only: Option<bool>,
#[serde(default)]
pub is_visible: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct FieldType {
#[serde(rename = "type")]
pub kind: String,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct FieldValidationResult {
#[serde(default, rename = "type")]
pub kind: Option<String>,
#[serde(default)]
pub field_id: Option<String>,
pub success: bool,
#[serde(default)]
pub error_message: String,
}