use hdi::prelude::*;
pub fn validate_create_link_document_to_statevectors(
    _action: CreateLink,
    base_address: AnyLinkableHash,
    target_address: AnyLinkableHash,
    _tag: LinkTag,
) -> ExternResult<ValidateCallbackResult> {
    let action_hash = ActionHash::try_from(base_address).map_err(|e| wasm_error!(e))?;
    let record = must_get_valid_record(action_hash)?;
    let _document: crate::Document = record
        .entry()
        .to_app_option()
        .map_err(|e| wasm_error!(e))?
        .ok_or(
            wasm_error!(
                WasmErrorInner::Guest(String::from("Linked action must reference an entry"))
            ),
        )?;
    let entry_hash = EntryHash::try_from(target_address).map_err(|e| wasm_error!(e))?;
    let entry = must_get_entry(entry_hash)?.content;
    let _statevector = crate::Statevector::try_from(entry)?;
    Ok(ValidateCallbackResult::Valid)
}
pub fn validate_delete_link_document_to_statevectors(
    _action: DeleteLink,
    _original_action: CreateLink,
    _base: AnyLinkableHash,
    _target: AnyLinkableHash,
    _tag: LinkTag,
) -> ExternResult<ValidateCallbackResult> {
    Ok(
        ValidateCallbackResult::Invalid(
            String::from("DocumentToStatevectors links cannot be deleted"),
        ),
    )
}