Skip to main content

Module domain

Module domain 

Source
Expand description

Domain types for the OSINT case graph.

These types represent the target data model per ADR-014. They are pure value objects with no infrastructure dependencies.

Structs§

AmountEntry
A single financial amount entry with currency, optional label, and approximation flag.
Jurisdiction
Geographic jurisdiction: ISO 3166-1 country code with optional subdivision.
Money
Monetary amount with currency and human-readable display.
Source
A source of information (news article, official document, etc.).

Enums§

AssetStatus
Status of an asset.
AssetType
Type of asset.
CaseStatus
Status of a case.
CaseType
Type of case.
DocType
Type of document.
EntityLabel
Graph node label — determines which fields are valid on an entity.
EventType
Type of event.
OrgStatus
Status of an organization.
OrgType
Type of organization.
PersonStatus
Status of a person.
Role
Role a person holds (multiple allowed per person).
Severity
Event severity.

Constants§

AMOUNT_LABEL_KNOWN
Known amount label values (matches Elixir EnumField :amount_label).
MAX_AMOUNT_ENTRIES
Maximum number of amount entries per field.
MAX_COUNTRY_LEN
Maximum length of the country field (ISO 3166-1 alpha-2 = 2 chars).
MAX_CURRENCY_LEN
Maximum length of the currency field (ISO 4217 = 3 chars).
MAX_MONEY_DISPLAY_LEN
Maximum length of the display field.
MAX_SOURCE_DOMAIN_LEN
Maximum length of a source domain.
MAX_SOURCE_LANGUAGE_LEN
Maximum length of a source language code (ISO 639-1 = 2 chars).
MAX_SOURCE_TITLE_LEN
Maximum length of a source title.
MAX_SOURCE_URL_LEN
Maximum length of a source URL.
MAX_SUBDIVISION_LEN
Maximum length of the subdivision field.

Functions§

parse_custom
Parse a custom:Value string. Returns Some(value) if the prefix is present and the value is within length limits, None otherwise.