use super::definition::FormTypeId;
use super::field::FormFieldValue;
use super::validation::validate_text;
use crate::{Error, LockboxPath, Result};
#[derive(Debug, Clone)]
pub struct FormRecord {
pub path: LockboxPath,
pub name: String,
pub type_id: FormTypeId,
pub definition_alias: String,
pub definition_revision: u32,
pub values: Vec<FormFieldValue>,
}
impl FormRecord {
pub(crate) fn validated_name(value: &str) -> Result<String> {
validate_text(value, "form record name")?;
if value.trim().is_empty() {
return Err(Error::InvalidInput(
"form record name cannot be empty".to_string(),
));
}
Ok(value.to_string())
}
}