"""
=========================================
CV6 AI Trading OS
Signal Router
=========================================
"""

from fastapi import APIRouter

from app.signal.signal_models import (
    SignalRequest,
    SignalResponse
)

from app.signal.signal_manager import SignalManager

router = APIRouter(
    prefix="/signal",
    tags=["Signal"]
)

manager = SignalManager()


@router.post(
    "/generate",
    response_model=SignalResponse
)
def generate_signal(
    request: SignalRequest
):

    result = manager.generate_signal(
        ema=request.ema,
        rsi=request.rsi,
        macd=request.macd
    )

    return result