|
17 | 17 | from .middleware.content_limit import ContentLengthLimitMiddleware |
18 | 18 | from .middleware.rate_limit import RateLimitMiddleware |
19 | 19 | 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 |
21 | 21 | from .notify import send_telegram_message |
22 | 22 | from .exception_handlers import register_exception_handlers |
| 23 | +from .database import OrderDatabase |
23 | 24 |
|
24 | 25 | log = logging.getLogger("uvicorn.error") |
25 | 26 |
|
@@ -121,6 +122,19 @@ def _telegram_notify(text: str, _token=token, _chat_id=chat_id): |
121 | 122 | else: |
122 | 123 | app.state.telegram_notify = None |
123 | 124 |
|
| 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 | + |
124 | 138 | # Finalize logging with configured level and add middleware |
125 | 139 | app.add_middleware(LoggingMiddleware) |
126 | 140 | app.add_middleware( |
@@ -163,6 +177,7 @@ def _telegram_notify(text: str, _token=token, _chat_id=chat_id): |
163 | 177 | # Setting the Routers up |
164 | 178 | app.include_router(health_router) |
165 | 179 | app.include_router(webhooks_router) |
| 180 | + app.include_router(history_router) |
166 | 181 |
|
167 | 182 | # Log endpoints after routes are registered |
168 | 183 | log_endpoints(app) |
|
0 commit comments