f4e5a9f8e0
- Fix Invalid Date display in Dashboard notifications - Fix timezone offset (8 hours) in Trading Records time display - Fix position closing failures due to commission discrepancies (fetch actual exchange position size for reduce_only orders) - Fix IBKR connection error 'no current event loop in thread' by ensuring asyncio event loop exists - Fix duplicate orders on same candle by extending signal deduplication to close signals - Add responsive design for Profile page (mobile-friendly) - Remove unused strategy_code module and database table - Fix LLM service to support multiple providers (OpenRouter, OpenAI, DeepSeek, Grok, Google) - Add auto-detection of configured LLM provider based on API key availability - Fix AI code generation to use unified LLMService with proper provider selection - Fix crypto symbol format handling (ETH/USDT no longer becomes ETH/USDT/USDT) - Fix Commission display showing '0E-8' in Trading Records - Fix P&L display for signal-only trades (show '--' for unrealized P&L) - Fix OAuth login not updating last_login_at for new users - Add migration script for notification_settings column - Update env.example with new LLM provider configurations - Remove ESLint rule that was not defined in config
42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
"""
|
|
API Routes Module
|
|
"""
|
|
from flask import Flask
|
|
|
|
|
|
def register_routes(app: Flask):
|
|
"""Register all API route blueprints"""
|
|
from app.routes.kline import kline_bp
|
|
from app.routes.analysis import analysis_bp
|
|
from app.routes.backtest import backtest_bp
|
|
from app.routes.health import health_bp
|
|
from app.routes.market import market_bp
|
|
from app.routes.strategy import strategy_bp
|
|
from app.routes.credentials import credentials_bp
|
|
from app.routes.auth import auth_bp
|
|
from app.routes.ai_chat import ai_chat_bp
|
|
from app.routes.indicator import indicator_bp
|
|
from app.routes.dashboard import dashboard_bp
|
|
from app.routes.settings import settings_bp
|
|
from app.routes.portfolio import portfolio_bp
|
|
from app.routes.ibkr import ibkr_bp
|
|
from app.routes.mt5 import mt5_bp
|
|
from app.routes.user import user_bp
|
|
|
|
app.register_blueprint(health_bp)
|
|
app.register_blueprint(auth_bp, url_prefix='/api/auth') # Auth routes
|
|
app.register_blueprint(user_bp, url_prefix='/api/users') # User management
|
|
app.register_blueprint(kline_bp, url_prefix='/api/indicator')
|
|
app.register_blueprint(analysis_bp, url_prefix='/api/analysis')
|
|
app.register_blueprint(backtest_bp, url_prefix='/api/indicator')
|
|
app.register_blueprint(market_bp, url_prefix='/api/market')
|
|
app.register_blueprint(ai_chat_bp, url_prefix='/api/ai')
|
|
app.register_blueprint(indicator_bp, url_prefix='/api/indicator')
|
|
app.register_blueprint(strategy_bp, url_prefix='/api')
|
|
app.register_blueprint(credentials_bp, url_prefix='/api/credentials')
|
|
app.register_blueprint(dashboard_bp, url_prefix='/api/dashboard')
|
|
app.register_blueprint(settings_bp, url_prefix='/api/settings')
|
|
app.register_blueprint(portfolio_bp, url_prefix='/api/portfolio')
|
|
app.register_blueprint(ibkr_bp, url_prefix='/api/ibkr')
|
|
app.register_blueprint(mt5_bp, url_prefix='/api/mt5')
|