c4e6aab7b2
- backend/ — FastAPI + JWT + 모든 REST 엔드포인트 - frontend/ — Next.js 14 + Tailwind + 7페이지 (대시보드/트레이드/거래소/자동매매/설정/내정보/로그인) - core_logic.py — 신호계산/알림 로직 분리 (기존 app_streamlit.py 에서 추출) - users_db.py + bcrypt 인증, exchange_keys.py + Fernet 암호화 - trades_db.py — 진입/청산 lifecycle 추적, signal_events raw 로그 - settings_db.py — 모든 운영 파라미터 DB 영속 저장 (RSI/거래량/펀딩비 임계값 포함) - docker-compose: frontend / backend / postgres + Traefik 라우팅 - assets/logo.svg — JUNGGOMOA 그라디언트 로고 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
732 B
Python
31 lines
732 B
Python
from fastapi import APIRouter, Depends
|
|
from pydantic import BaseModel
|
|
from typing import Dict, Any
|
|
|
|
import settings_db
|
|
import alert_state
|
|
from ..auth import require_user
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("")
|
|
def get_all(_: dict = Depends(require_user)):
|
|
safe = settings_db.all_settings()
|
|
return safe
|
|
|
|
|
|
class UpdateIn(BaseModel):
|
|
values: Dict[str, Any]
|
|
|
|
|
|
@router.put("")
|
|
def update_settings(body: UpdateIn, _: dict = Depends(require_user)):
|
|
for k, v in body.values.items():
|
|
settings_db.set_value(k, v)
|
|
# alert symbol 동기화
|
|
sym = settings_db.get("alert_symbol", "BTCUSDT")
|
|
with alert_state.alert_lock:
|
|
alert_state.alert_symbol = sym
|
|
return {"ok": True, "saved": len(body.values)}
|