-- ==========================================================
-- Mak Chat - Voice/Video Call Schema
-- ஏற்கனவே இருக்கும் Database-லேயே இதை Import செய்யவும்
-- ==========================================================

-- Call Records (யார் யாருக்கு Call பண்ணாங்க, Status என்ன)
CREATE TABLE IF NOT EXISTS calls (
    id INT AUTO_INCREMENT PRIMARY KEY,
    conversation_id INT NOT NULL,
    caller_id INT NOT NULL,
    callee_id INT NOT NULL,
    call_type ENUM('audio','video') DEFAULT 'audio',
    status ENUM('ringing','accepted','rejected','ended','missed') DEFAULT 'ringing',
    started_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    ended_at DATETIME NULL,
    FOREIGN KEY (caller_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (callee_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- WebRTC Signaling Data (Offer/Answer/ICE Candidates Exchange பண்ண)
CREATE TABLE IF NOT EXISTS call_signals (
    id INT AUTO_INCREMENT PRIMARY KEY,
    call_id INT NOT NULL,
    sender_id INT NOT NULL,
    signal_type ENUM('offer','answer','candidate','hangup') NOT NULL,
    signal_data TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (call_id) REFERENCES calls(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE INDEX idx_call_signal ON call_signals (call_id, id);
