-- Database Schema for Telegram Accounting Bot with Dynamic Settings

CREATE TABLE IF NOT EXISTS `settings` (
    `setting_key` VARCHAR(100) PRIMARY KEY,
    `setting_value` TEXT DEFAULT NULL,
    `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `deposits` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `group_id` VARCHAR(100) NOT NULL,
    `site_name` VARCHAR(100) NOT NULL,
    `user_id` VARCHAR(100) DEFAULT NULL,
    `mobile` VARCHAR(50) DEFAULT NULL,
    `amount` DECIMAL(12, 2) NOT NULL,
    `method` VARCHAR(50) DEFAULT 'UPI',
    `utr` VARCHAR(100) DEFAULT NULL,
    `order_id` VARCHAR(100) DEFAULT NULL,
    `approved_by` VARCHAR(100) DEFAULT NULL,
    `type` ENUM('AUTO', 'MANUAL') DEFAULT 'AUTO',
    `notes` TEXT DEFAULT NULL,
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX (`group_id`),
    INDEX (`site_name`),
    INDEX (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `ad_expenses` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `group_id` VARCHAR(100) NOT NULL,
    `site_name` VARCHAR(100) NOT NULL,
    `amount` DECIMAL(12, 2) NOT NULL,
    `platform_notes` VARCHAR(255) DEFAULT 'Ad Expense',
    `added_by` VARCHAR(100) DEFAULT NULL,
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    INDEX (`group_id`),
    INDEX (`site_name`),
    INDEX (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `site_mappings` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `group_id` VARCHAR(100) UNIQUE NOT NULL,
    `site_name` VARCHAR(100) NOT NULL,
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
