Skip to content

Commit 6d78041

Browse files
authored
Merge pull request #2 from davassi/db
Adding sqlite
2 parents d7e8ef0 + a8a3d73 commit 6d78041

5 files changed

Lines changed: 616 additions & 1 deletion

File tree

hypertrade.db

44 KB
Binary file not shown.

hypertrade/config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ class Settings(BaseSettings):
7272
telegram_bot_token: Optional[str] = None
7373
telegram_chat_id: Optional[str] = None
7474

75+
# Database persistence
76+
db_path: str = "./hypertrade.db"
77+
db_enabled: bool = True
78+
7579
# ── Validators ────────────────────────────────────────────────────────────
7680
@field_validator("master_addr")
7781
@classmethod

hypertrade/daemon.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
from .middleware.content_limit import ContentLengthLimitMiddleware
1818
from .middleware.rate_limit import RateLimitMiddleware
1919
from .routes.health import router as health_router
20-
from .routes.webhooks import router as webhooks_router
20+
from .routes.webhooks import router as webhooks_router, history_router
2121
from .notify import send_telegram_message
2222
from .exception_handlers import register_exception_handlers
23+
from .database import OrderDatabase
2324

2425
log = logging.getLogger("uvicorn.error")
2526

@@ -121,6 +122,19 @@ def _telegram_notify(text: str, _token=token, _chat_id=chat_id):
121122
else:
122123
app.state.telegram_notify = None
123124

125+
# Initialize database if enabled
126+
if getattr(settings, "db_enabled", True):
127+
try:
128+
db = OrderDatabase(settings.db_path)
129+
app.state.db = db
130+
log.info("Order database initialized at: %s", settings.db_path)
131+
except Exception as e:
132+
log.error("Failed to initialize database: %s", e)
133+
raise
134+
else:
135+
app.state.db = None
136+
log.info("Database persistence disabled")
137+
124138
# Finalize logging with configured level and add middleware
125139
app.add_middleware(LoggingMiddleware)
126140
app.add_middleware(
@@ -163,6 +177,7 @@ def _telegram_notify(text: str, _token=token, _chat_id=chat_id):
163177
# Setting the Routers up
164178
app.include_router(health_router)
165179
app.include_router(webhooks_router)
180+
app.include_router(history_router)
166181

167182
# Log endpoints after routes are registered
168183
log_endpoints(app)

0 commit comments

Comments
 (0)