initiativelib/jsonb/
form.rsuse serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::enums::form_field_type::FormFieldType;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Form {
pub id: Uuid,
pub name: String,
pub fields: Vec<FormField>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct FormField {
pub id: Uuid,
pub caption: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
pub field_type: FormFieldType,
#[serde(skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<String>>,
pub mandatory: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
}