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

-- Group-ன் அடிப்படை தகவல்
CREATE TABLE IF NOT EXISTS groups_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    group_name VARCHAR(100) NOT NULL,
    group_pic VARCHAR(255) DEFAULT NULL,
    created_by INT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Group-ல் யார் யார் Members என்பது
CREATE TABLE IF NOT EXISTS group_members (
    id INT AUTO_INCREMENT PRIMARY KEY,
    group_id INT NOT NULL,
    user_id INT NOT NULL,
    role ENUM('admin','member') DEFAULT 'member',
    joined_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    UNIQUE KEY unique_member (group_id, user_id),
    FOREIGN KEY (group_id) REFERENCES groups_table(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- conversations table-ஐ Group Chat-க்கும் ஏத்த மாதிரி மாற்றுதல்
ALTER TABLE conversations
    ADD COLUMN chat_type ENUM('private','group') NOT NULL DEFAULT 'private' AFTER id,
    ADD COLUMN group_id INT NULL AFTER chat_type,
    MODIFY user1_id INT NULL,
    MODIFY user2_id INT NULL,
    ADD FOREIGN KEY (group_id) REFERENCES groups_table(id) ON DELETE CASCADE;
