-- 数据中台：API 对接配置（方案 §4.3.2）
-- 供 entity_type=API 的 mdp_entity 引用。

SET NAMES utf8mb4;

CREATE TABLE IF NOT EXISTS mdp_api_config (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    tenant_id BIGINT NOT NULL,
    api_code VARCHAR(50) NOT NULL,
    api_name VARCHAR(100),
    source_system VARCHAR(20),
    method ENUM('GET','POST') NOT NULL DEFAULT 'GET',
    url_template VARCHAR(500) NOT NULL,
    headers_json JSON,
    body_template TEXT,
    auth_type ENUM('NONE','TOKEN','OAUTH2','APIKEY') DEFAULT 'NONE',
    auth_config JSON,
    token_expire_at DATETIME,
    token_cache TEXT,
    pagination_type ENUM('PAGE_NUM','CURSOR','TIME_WINDOW','NONE') DEFAULT 'PAGE_NUM',
    page_size INT DEFAULT 100,
    max_pages INT DEFAULT 100,
    cursor_path VARCHAR(200),
    total_path VARCHAR(200),
    rate_limit_rps DECIMAL(5,1) DEFAULT 10.0,
    timeout_seconds INT DEFAULT 30,
    retry_count INT DEFAULT 3,
    retry_interval_seconds INT DEFAULT 5,
    is_enabled TINYINT DEFAULT 1,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME,
    UNIQUE KEY uk_api (tenant_id, api_code)
) COMMENT='API 对接配置';
