WebSock handler for DB Sync module.
Uses WebSock directly (not Phoenix.Socket/Channel) to avoid cross-OTP-app channel supervision issues.
Authentication Types
Supports two authentication methods:
Session-based (
:session) - Ephemeral sessions for manual transfers- Uses 8-character session codes
- Tied to sender's LiveView process
Connection-based (
:connection) - Permanent connections- Uses auth tokens stored in database
- Subject to access controls (allowed tables, limits, etc.)
Message Protocol
All messages are JSON arrays in Phoenix channel format:
[join_ref, ref, topic, event, payload]
Supported events:
phx_join- Join the transfer sessionrequest:capabilities- Get server capabilitiesrequest:tables- List available tablesrequest:schema- Get table schemarequest:count- Get record countrequest:records- Fetch records with pagination