34 lines
1.5 KiB
SQL
34 lines
1.5 KiB
SQL
-- UDP integrations: each row is one inbound or outbound UDP socket the
|
|
-- user wants HamLog to maintain. Direction is split so a single record
|
|
-- can describe either side without nullable destination_ip oddities.
|
|
--
|
|
-- service_type drives the parser/emitter chosen at runtime:
|
|
-- inbound:
|
|
-- 'wsjt' - WSJT-X / JTDX / MSHV binary protocol (status + logged QSO)
|
|
-- 'adif' - text ADIF payload (JTAlert, GridTracker)
|
|
-- 'n1mm' - N1MM Logger+ XML (contests)
|
|
-- 'remote_call' - plain text callsign, fills the entry field
|
|
-- outbound:
|
|
-- 'db_updated' - emits the just-logged QSO as ADIF
|
|
--
|
|
-- Multicast is the only way to share a port with another listener; when
|
|
-- the flag is set the manager joins the group instead of binding the
|
|
-- unicast socket.
|
|
|
|
CREATE TABLE integrations_udp (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
direction TEXT NOT NULL CHECK(direction IN ('inbound','outbound')),
|
|
name TEXT NOT NULL,
|
|
port INTEGER NOT NULL,
|
|
service_type TEXT NOT NULL,
|
|
multicast INTEGER NOT NULL DEFAULT 0,
|
|
multicast_group TEXT NOT NULL DEFAULT '',
|
|
destination_ip TEXT NOT NULL DEFAULT '',
|
|
enabled INTEGER NOT NULL DEFAULT 1,
|
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
|
|
updated_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now'))
|
|
);
|
|
|
|
CREATE INDEX idx_integrations_udp_dir ON integrations_udp(direction, enabled, sort_order);
|