"""期权模块 SQLite 表。"""
from __future__ import annotations

import sqlite3


def init_options_tables(conn: sqlite3.Connection) -> None:
    conn.execute(
        """
        CREATE TABLE IF NOT EXISTS options_trades (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            inst_id TEXT NOT NULL,
            underlying TEXT NOT NULL,
            opt_type TEXT NOT NULL,
            strike REAL,
            exp_time TEXT,
            sheets INTEGER NOT NULL,
            eth_amount REAL NOT NULL,
            open_quote REAL,
            premium_paid REAL,
            status TEXT DEFAULT 'open',
            close_quote REAL,
            premium_received REAL,
            realized_pnl REAL,
            profit_alert_sent INTEGER DEFAULT 0,
            signal_note TEXT,
            exchange_ord_id TEXT,
            close_ord_id TEXT,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            closed_at TIMESTAMP
        )
        """
    )
    conn.execute(
        """
        CREATE TABLE IF NOT EXISTS options_convert_log (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            from_ccy TEXT,
            to_ccy TEXT,
            rfq_sz REAL,
            received_sz REAL,
            quote_id TEXT,
            status TEXT,
            message TEXT,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
        """
    )
    conn.execute(
        """
        CREATE TABLE IF NOT EXISTS options_transfer_log (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            ccy TEXT,
            amount REAL,
            from_account TEXT,
            to_account TEXT,
            status TEXT,
            message TEXT,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        )
        """
    )
