-- تطوير ربط API للعيادات

-- تحديث جدول clinic_api_keys
ALTER TABLE clinic_api_keys 
ADD COLUMN IF NOT EXISTS ip_whitelist TEXT NULL COMMENT 'قائمة IPs المسموحة (مفصولة بفواصل)',
ADD COLUMN IF NOT EXISTS rate_limit_per_hour INT NULL DEFAULT 100 COMMENT 'حد الطلبات في الساعة',
ADD COLUMN IF NOT EXISTS webhook_url VARCHAR(255) NULL COMMENT 'رابط webhook لإرسال النتائج تلقائياً',
ADD COLUMN IF NOT EXISTS webhook_secret VARCHAR(64) NULL COMMENT 'سر webhook للتوقيع',
ADD COLUMN IF NOT EXISTS notes TEXT NULL COMMENT 'ملاحظات',
ADD COLUMN IF NOT EXISTS last_used_at DATETIME NULL COMMENT 'آخر استخدام',
ADD COLUMN IF NOT EXISTS request_count INT NOT NULL DEFAULT 0 COMMENT 'عدد الطلبات',
ADD COLUMN IF NOT EXISTS updated_at TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP;

-- جدول سجل طلبات API
CREATE TABLE IF NOT EXISTS clinic_api_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    api_key_id INT NOT NULL,
    clinic_name VARCHAR(150) NOT NULL,
    request_method VARCHAR(10) NOT NULL,
    request_url VARCHAR(500) NULL,
    request_params TEXT NULL,
    response_status INT NULL,
    response_data TEXT NULL,
    ip_address VARCHAR(50) NULL,
    user_agent VARCHAR(255) NULL,
    execution_time_ms INT NULL,
    error_message TEXT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (api_key_id) REFERENCES clinic_api_keys(id) ON DELETE CASCADE,
    INDEX idx_api_key_id (api_key_id),
    INDEX idx_created_at (created_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
