Skip to content

Fields

Utilities for deriving available search fields from Solr/indexed metadata.

SolrFieldConfigError

Bases: RuntimeError

Kept for backward compatibility so callers can still catch it.

Source code in gso/services/solr/fields.py
class SolrFieldConfigError(RuntimeError):
    """Kept for backward compatibility so callers can still catch it."""

SolrFieldList dataclass

Normalized view of displayable fields per entity type.

Source code in gso/services/solr/fields.py
@dataclass(slots=True)
class SolrFieldList:
    """Normalized view of displayable fields per entity type."""

    subscriptions: list[str]
    workflows: list[str]
    tasks: list[str]

load_solr_field_list()

Load unique Solr field lists for subscriptions, workflows, and tasks.

Source code in gso/services/solr/fields.py
def load_solr_field_list() -> SolrFieldList:
    """Load unique Solr field lists for subscriptions, workflows, and tasks."""
    subs = _dedupe(
        _subscription_table_columns()
        + _subscription_schema_fields()
        + list(SUBSCRIPTION_QUERY_COLUMNS)
        + list(_MULTI_FIELDS)
    )

    workflows = subs  # workflows share subscription metadata for column selection
    tasks = _dedupe([*list(TASK_QUERY_COLUMNS), "step_state_json"])

    return SolrFieldList(
        subscriptions=subs,
        workflows=workflows,
        tasks=tasks,
    )