"""
=========================================
CV6 AI Trading OS
Portfolio Router
=========================================
"""

from fastapi import APIRouter

from app.portfolio.portfolio_models import (
    PortfolioRequest,
    PortfolioResponse
)

from app.portfolio.portfolio_manager import PortfolioManager

router = APIRouter(
    prefix="/portfolio",
    tags=["Portfolio"]
)

manager = PortfolioManager()


@router.post(
    "/calculate",
    response_model=PortfolioResponse
)
def calculate_portfolio(
    request: PortfolioRequest
):

    result = manager.calculate(
        capital=request.capital,
        used_margin=request.used_margin,
        pnl=request.pnl,
        open_positions=request.open_positions
    )

    return result