|
| 1 | +from app import __version__ |
1 | 2 | """API route definitions for NX AI.""" |
2 | 3 |
|
3 | 4 | import os |
4 | 5 | import time |
5 | 6 |
|
6 | 7 | import psycopg2 |
7 | 8 | from dotenv import load_dotenv |
8 | | -from fastapi import APIRouter, Depends |
9 | | -from pydantic import BaseModel |
10 | 9 |
|
11 | | -from app import __version__ |
| 10 | +from fastapi import APIRouter, Depends |
12 | 11 |
|
13 | | -load_dotenv() |
| 12 | +from app.api.db import get_db_connection |
| 13 | +from app.api.schemas import EchoRequest, EchoResponse |
14 | 14 |
|
15 | 15 | router = APIRouter() |
16 | 16 |
|
| 17 | +from app.api.root import router as root_router |
| 18 | +from app.api.health import router as health_router |
| 19 | +from app.api.echo import router as echo_router |
17 | 20 |
|
18 | | -def get_db_connection(): # type: ignore[return] |
19 | | - """Create and yield a PostgreSQL connection for use as a FastAPI dependency.""" |
20 | | - conn = psycopg2.connect( |
21 | | - host=os.getenv('DB_HOST'), |
22 | | - port=os.getenv('DB_PORT', '5432'), |
23 | | - dbname=os.getenv('DB_NAME'), |
24 | | - user=os.getenv('DB_USER'), |
25 | | - password=os.getenv('DB_PASSWORD'), |
26 | | - ) |
27 | | - try: |
28 | | - yield conn |
29 | | - finally: |
30 | | - conn.close() |
31 | | - |
32 | | - |
33 | | -class EchoRequest(BaseModel): |
34 | | - """Request body for the echo endpoint.""" |
35 | | - |
36 | | - message: str |
| 21 | +router.include_router(root_router) |
| 22 | +router.include_router(health_router) |
| 23 | +router.include_router(echo_router) |
37 | 24 |
|
38 | 25 |
|
39 | | -class EchoResponse(BaseModel): |
40 | | - """Response body for the echo endpoint.""" |
41 | 26 |
|
42 | | - echo: str |
43 | 27 |
|
44 | 28 |
|
45 | 29 | @router.get("/") |
|
0 commit comments