mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-10-30 19:52:03 +01:00
Replace native interface with external packet capture and rename receiver to observer
Remove the meshcore_interface component in favor of external meshcore-packet-capture for data ingestion. Rename receiver_node_id to observer_node_id across all models, schemas, handlers, and API routes. Add Alembic migration for the column/table renames. Fix frontend JS property name mismatch that prevented the Receiver column from displaying observer data.
This commit is contained in:
1 parent
c7655b5242
commit
58499c420b
61 files changed
+577
-6106
No files matched your search
@@ -0,0 +1,123 @@
|
||||
"""Rename receiver_node_id to observer_node_id and event_receivers to event_observers
|
||||
|
||||
Revision ID: a1b2c3d4e5f6
|
||||
Revises: 4e2e787a1660
|
||||
Create Date: 2026-04-12
|
||||
|
||||
Note: The unique constraint on event_observers retains its original name
|
||||
(uq_event_receivers_hash_node) since SQLite does not support renaming
|
||||
constraints without fully recreating the table with explicit DDL. The
|
||||
constraint correctly references the renamed column (observer_node_id)
|
||||
and the ORM uses column-based conflict resolution, so this has no
|
||||
functional impact.
|
||||
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
|
||||
revision = "a1b2c3d4e5f6"
|
||||
down_revision = "4e2e787a1660"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.rename_table("event_receivers", "event_observers")
|
||||
|
||||
op.drop_index("ix_event_receivers_event_hash", table_name="event_observers")
|
||||
op.drop_index("ix_event_receivers_receiver_node_id", table_name="event_observers")
|
||||
op.drop_index("ix_event_receivers_type_hash", table_name="event_observers")
|
||||
|
||||
with op.batch_alter_table("event_observers", recreate="always") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
batch_op.alter_column("received_at", new_column_name="observed_at")
|
||||
|
||||
op.create_index("ix_event_observers_event_hash", "event_observers", ["event_hash"])
|
||||
op.create_index(
|
||||
"ix_event_observers_observer_node_id", "event_observers", ["observer_node_id"]
|
||||
)
|
||||
op.create_index(
|
||||
"ix_event_observers_type_hash", "event_observers", ["event_type", "event_hash"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_advertisements_receiver_node_id", table_name="advertisements")
|
||||
with op.batch_alter_table("advertisements") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
op.create_index(
|
||||
"ix_advertisements_observer_node_id", "advertisements", ["observer_node_id"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_messages_receiver_node_id", table_name="messages")
|
||||
with op.batch_alter_table("messages") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
op.create_index("ix_messages_observer_node_id", "messages", ["observer_node_id"])
|
||||
|
||||
op.drop_index("ix_trace_paths_receiver_node_id", table_name="trace_paths")
|
||||
with op.batch_alter_table("trace_paths") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
op.create_index(
|
||||
"ix_trace_paths_observer_node_id", "trace_paths", ["observer_node_id"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_telemetry_receiver_node_id", table_name="telemetry")
|
||||
with op.batch_alter_table("telemetry") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
op.create_index("ix_telemetry_observer_node_id", "telemetry", ["observer_node_id"])
|
||||
|
||||
op.drop_index("ix_events_log_receiver_node_id", table_name="events_log")
|
||||
with op.batch_alter_table("events_log") as batch_op:
|
||||
batch_op.alter_column("receiver_node_id", new_column_name="observer_node_id")
|
||||
op.create_index(
|
||||
"ix_events_log_observer_node_id", "events_log", ["observer_node_id"]
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.drop_index("ix_events_log_observer_node_id", table_name="events_log")
|
||||
with op.batch_alter_table("events_log") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
op.create_index(
|
||||
"ix_events_log_receiver_node_id", "events_log", ["receiver_node_id"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_telemetry_observer_node_id", table_name="telemetry")
|
||||
with op.batch_alter_table("telemetry") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
op.create_index("ix_telemetry_receiver_node_id", "telemetry", ["receiver_node_id"])
|
||||
|
||||
op.drop_index("ix_trace_paths_observer_node_id", table_name="trace_paths")
|
||||
with op.batch_alter_table("trace_paths") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
op.create_index(
|
||||
"ix_trace_paths_receiver_node_id", "trace_paths", ["receiver_node_id"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_messages_observer_node_id", table_name="messages")
|
||||
with op.batch_alter_table("messages") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
op.create_index("ix_messages_receiver_node_id", "messages", ["receiver_node_id"])
|
||||
|
||||
op.drop_index("ix_advertisements_observer_node_id", table_name="advertisements")
|
||||
with op.batch_alter_table("advertisements") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
op.create_index(
|
||||
"ix_advertisements_receiver_node_id", "advertisements", ["receiver_node_id"]
|
||||
)
|
||||
|
||||
op.drop_index("ix_event_observers_event_hash", table_name="event_observers")
|
||||
op.drop_index("ix_event_observers_observer_node_id", table_name="event_observers")
|
||||
op.drop_index("ix_event_observers_type_hash", table_name="event_observers")
|
||||
|
||||
with op.batch_alter_table("event_observers", recreate="always") as batch_op:
|
||||
batch_op.alter_column("observer_node_id", new_column_name="receiver_node_id")
|
||||
batch_op.alter_column("observed_at", new_column_name="received_at")
|
||||
|
||||
op.create_index("ix_event_receivers_event_hash", "event_observers", ["event_hash"])
|
||||
op.create_index(
|
||||
"ix_event_receivers_receiver_node_id", "event_observers", ["receiver_node_id"]
|
||||
)
|
||||
op.create_index(
|
||||
"ix_event_receivers_type_hash", "event_observers", ["event_type", "event_hash"]
|
||||
)
|
||||
|
||||
op.rename_table("event_observers", "event_receivers")
|
||||
Reference in new issue
Block a user