app.storage.postgres.convert

Conversions between database rows and storage-port value types.

Rows are read with Core select() over the mapped tables, so every function here takes a RowMapping keyed by column name and returns a port value type.

Public API: record_values(), erratum_json(), stored_erratum(), stored_record(), erratum_row(), search_item(), registration(), revision(), decision_event(), intake_run().

app.storage.postgres.convert.record_values(record, kind)

Build the record column values for an insert.

Parameters:
Return type:

dict[str, Any]

Returns:

Column name -> value, JSON columns as plain structures.

app.storage.postgres.convert.erratum_json(erratum)

Build the record.erratum JSON value.

Parameters:

erratum (StoredErratum | None) – Stored content, or None for a decision.

Return type:

dict[str, Any] | None

Returns:

The JSON object (type as its value, date as YYYY-MM-DD), or None (SQL NULL).

app.storage.postgres.convert.stored_erratum(raw)

Rebuild erratum content from record.erratum.

Parameters:

raw (Mapping[str, Any] | None) – Stored JSON object, or None.

Return type:

StoredErratum | None

Returns:

The content, or None.

app.storage.postgres.convert.stored_record(row)

Convert a full record row.

Parameters:

row (RowMapping) – Row with every record column.

Return type:

StoredRecord

Returns:

The stored record.

app.storage.postgres.convert.erratum_row(row)

Convert a reverse-lookup erratum row.

Parameters:

row (RowMapping) – Row with the ErratumRow columns.

Return type:

ErratumRow

Returns:

The erratum row.

app.storage.postgres.convert.search_item(row)

Convert a search result row.

Parameters:

row (RowMapping) – Row with the search columns and approval_state.

Return type:

SearchItem

Returns:

The search item.

app.storage.postgres.convert.registration(row)

Convert a source_registration row.

Parameters:

row (RowMapping) – The row.

Return type:

Registration

Returns:

The registration.

app.storage.postgres.convert.revision(row)

Convert a revision row.

Parameters:

row (RowMapping) – The row.

Return type:

Revision

Returns:

The snapshot.

app.storage.postgres.convert.decision_event(row)

Convert a decision_event row.

Parameters:

row (RowMapping) – The row.

Return type:

DecisionEvent

Returns:

The event.

app.storage.postgres.convert.intake_run(row)

Convert an intake_run row.

Parameters:

row (RowMapping) – The row.

Return type:

IntakeRun

Returns:

The run.