#[non_exhaustive]pub enum RequiredField {
TenantId,
DocId,
ReceivedAt,
OriginalSource,
}Expand description
Metadata identifiers that can be enforced via MetadataPolicy.
This enum defines the metadata fields that can be marked as required.
It is marked #[non_exhaustive] to allow future additions without
breaking existing code.
§Required Fields
TenantId: Tenant identifier for multi-tenant isolationDocId: Document identifier (caller must provide, no derivation)ReceivedAt: Timestamp when content was receivedOriginalSource: Human-readable source reference
§Examples
use ingest::{MetadataPolicy, RequiredField};
let policy = MetadataPolicy {
required_fields: vec![
RequiredField::TenantId,
RequiredField::DocId,
],
..Default::default()
};Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
TenantId
Require the tenant_id field to be present in metadata.
When required, callers must explicitly provide a non-empty tenant ID.
The default_tenant_id fallback is not used.
DocId
Require the doc_id field to be present in metadata.
When required, callers must explicitly provide a document ID. No UUIDv5 derivation is performed.
ReceivedAt
Require the received_at timestamp to be present in metadata.
When required, callers must provide a timestamp. The default (current time) is not applied.
OriginalSource
Require the original_source field to be present in metadata.
When required, callers must provide a source reference.
Trait Implementations§
Source§impl Clone for RequiredField
impl Clone for RequiredField
Source§fn clone(&self) -> RequiredField
fn clone(&self) -> RequiredField
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more