-- phpMyAdmin এ import করুন (আগের টেবিল থাকলে সমস্যা নেই, IF NOT EXISTS দেওয়া আছে)

CREATE TABLE IF NOT EXISTS bot_config (
    id INT PRIMARY KEY DEFAULT 1,
    prefix VARCHAR(10) DEFAULT 'T',
    sub_expire_at DATETIME NULL,
    api_key_100 VARCHAR(255) DEFAULT '',
    api_key_200 VARCHAR(255) DEFAULT '',
    like100_enabled TINYINT(1) DEFAULT 1,
    like200_enabled TINYINT(1) DEFAULT 1,
    like100_off_msg VARCHAR(255) DEFAULT '100 Like system is temporarily disabled.',
    like200_off_msg VARCHAR(255) DEFAULT '200 Like system is temporarily disabled.'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT IGNORE INTO bot_config (id, prefix) VALUES (1, 'T');

CREATE TABLE IF NOT EXISTS users (
    user_id BIGINT PRIMARY KEY,
    name VARCHAR(255) DEFAULT '',
    balance DOUBLE DEFAULT 0,
    signed_in TINYINT(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- `groups` MySQL 8 এ reserved word, তাই backtick লাগবেই
CREATE TABLE IF NOT EXISTS `groups` (
    chat_id BIGINT PRIMARY KEY,
    name VARCHAR(255) DEFAULT '',
    allowed TINYINT(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS auto_likes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    chat_id BIGINT,
    uid VARCHAR(64),
    region VARCHAR(10) DEFAULT 'BD',
    auto_api_type VARCHAR(10),
    time VARCHAR(10) DEFAULT '07:00',
    total_days INT DEFAULT 0,
    days_left INT DEFAULT 0,
    last_day_key VARCHAR(20) DEFAULT '',
    requested_by BIGINT,
    requested_by_name VARCHAR(255),
    success_count INT DEFAULT 0,
    failed_count INT DEFAULT 0,
    last_run_at VARCHAR(30) DEFAULT '',
    created_at VARCHAR(30) DEFAULT '',
    expires_at VARCHAR(30) DEFAULT '',
    limit_units_per_day INT DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ===== AUTO PAYMENT (নতুন) =====
CREATE TABLE IF NOT EXISTS settings (
    k VARCHAR(50) PRIMARY KEY,
    v VARCHAR(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT IGNORE INTO settings (k, v) VALUES ('tk_per_limit', '1');

CREATE TABLE IF NOT EXISTS pay_numbers (
    method VARCHAR(10) PRIMARY KEY,
    number VARCHAR(20) NOT NULL,
    sub_type VARCHAR(10) NOT NULL DEFAULT 'Personal'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS devices (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(191) NOT NULL UNIQUE,
    device_key VARCHAR(64) NOT NULL,
    device_id VARCHAR(100) NULL,
    expires_at DATETIME NULL,
    status TINYINT(1) NOT NULL DEFAULT 1,
    created_at DATETIME NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS method_balances (
    method VARCHAR(10) PRIMARY KEY,
    balance DECIMAL(14,2) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS sms_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    method VARCHAR(10) NOT NULL,
    sender VARCHAR(50) NOT NULL,
    message TEXT NOT NULL,
    trx_id VARCHAR(30) NULL UNIQUE,
    amount DECIMAL(12,2) NULL,
    from_number VARCHAR(20) NULL,
    balance_after DECIMAL(14,2) NULL,
    sub_type VARCHAR(10) NULL,
    status VARCHAR(10) NOT NULL DEFAULT 'UNUSED',
    reason VARCHAR(255) NULL,
    used_by BIGINT NULL,
    used_at DATETIME NULL,
    received_at DATETIME NOT NULL,
    KEY idx_status (status),
    KEY idx_received (received_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
