// 数据来源：OpenSky FlightData API。按 ICAO24 和时间范围查询历史航班与起降机场。
// 链接：https://openskynetwork.github.io/opensky-api/rest.html
// 该来源不是全量 CSV；表作为 API 查询结果缓存，主键为 ICAO24 与时间范围。
// 官方更新要求：API 按请求提供数据并有调用限额，不执行全量定时下载。
// 本地告警策略：动态缓存不显示周期性过期告警。

#include "Resource_Utils.h"

std::unique_ptr<External_Resources> make_opensky_flightdata_api_resource() {
    return External_Database_Utils::make_schema_only_resource({
        "opensky_flightdata_api_cache",
        "OpenSky FlightData API 查询缓存，按 ICAO24 和时间范围保存历史航班起降机场结果。",
        0,
        R"sql(
            CREATE TABLE IF NOT EXISTS opensky_flightdata_api_cache (
              icao24 TEXT NOT NULL,
              begin_time TEXT NOT NULL,
              end_time TEXT NOT NULL,
              callsign TEXT,
              est_departure_airport TEXT,
              est_arrival_airport TEXT,
              first_seen TEXT,
              last_seen TEXT,
              raw_json TEXT,
              PRIMARY KEY (icao24, begin_time, end_time)
            );
        )sql",
        {"icao24", "begin_time", "end_time"}
    });
}
