"""Pydantic models for request/response"""
from pydantic import BaseModel
from typing import Optional, Dict, Any
from datetime import datetime


class LoginRequest(BaseModel):
    username: str
    password: str


class SignalResponse(BaseModel):
    asset: str
    platform: str
    direction: str  # CALL or PUT
    timeframe: str
    strength: float
    indicators: Dict[str, Any]
    timestamp: datetime


class BotStatus(BaseModel):
    quotex_connected: bool
    signal_engine_running: bool
    active_timeframes: list
    timestamp: str


class TradeRequest(BaseModel):
    asset: str
    direction: str
    amount: float
    duration: int


class UserCreate(BaseModel):
    username: str
    password: str
    role: Optional[str] = "user"
