diff --git a/server/api/routes/ping.py b/server/api/routes/ping.py index 94bdb2cc5dd22dbad81bab54a7d9ec2d39230a68..960f839c92f5a5be6d50cbe55f4ffb71bac07321 100644 --- a/server/api/routes/ping.py +++ b/server/api/routes/ping.py @@ -1,9 +1,13 @@ from fastapi import APIRouter from fastapi.responses import PlainTextResponse +from sqlalchemy import select, func as F +from nacsos_data.db.schemas.projects import Project + from server.pipelines import tasks from server.util.logging import get_logger from server.util.security import InsufficientPermissions +from server.data import db_engine logger = get_logger('nacsos.api.route.ping') router = APIRouter() @@ -57,6 +61,15 @@ async def perm(): raise InsufficientPermissions('You do not have permission to edit this data import.') +@router.get('/database') +async def db_test(): + async with db_engine.engine.connect() as session: + rslt = (await session.execute(select(F.count(Project.project_id)))).scalar() + logger.debug(f'There are {rslt:,} projects on the platform') + await session.close() + return rslt + + @router.post('/{name}', response_class=PlainTextResponse) async def _ping(name: str) -> str: return f'Hello {name}'