30 lines
712 B
Python
30 lines
712 B
Python
|
|
"""Health check endpoint."""
|
||
|
|
|
||
|
|
from fastapi import APIRouter, Depends
|
||
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||
|
|
from sqlalchemy import text
|
||
|
|
|
||
|
|
from app.db.session import get_async_session
|
||
|
|
|
||
|
|
router = APIRouter()
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/health")
|
||
|
|
async def health_check(session: AsyncSession = Depends(get_async_session)):
|
||
|
|
"""
|
||
|
|
Health check endpoint.
|
||
|
|
Returns application status and database connectivity.
|
||
|
|
"""
|
||
|
|
try:
|
||
|
|
# Test database connection
|
||
|
|
await session.execute(text("SELECT 1"))
|
||
|
|
db_status = "connected"
|
||
|
|
except Exception as e:
|
||
|
|
db_status = f"error: {str(e)}"
|
||
|
|
|
||
|
|
return {
|
||
|
|
"status": "ok",
|
||
|
|
"app": "Rentman Clone",
|
||
|
|
"database": db_status,
|
||
|
|
}
|