Merge pull request #31 from presenton/user_presentation_fixes

fix(fastapi):filter presentation based on number of slides
This commit is contained in:
Saurav Niraula 2025-05-19 03:15:25 +05:45 committed by GitHub
commit 1639f7c505
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,7 +1,7 @@
from sqlmodel import select
from sqlmodel import select, exists
from api.models import LogMetadata
from api.services.logging import LoggingService
from api.sql_models import PresentationSqlModel
from api.sql_models import PresentationSqlModel, SlideSqlModel
from api.services.database import get_sql_session
@ -10,16 +10,16 @@ class GetPresentationsHandler:
async def get(self, logging_service: LoggingService, log_metadata: LogMetadata):
with get_sql_session() as sql_session:
presentations = sql_session.exec(select(PresentationSqlModel)).all()
for each in presentations:
each.data = None
each.summary = None
if not each.thumbnail:
presentations.remove(each)
# Get presentations that have at least one slide
presentations = sql_session.exec(
select(PresentationSqlModel).where(
exists().where(
SlideSqlModel.presentation == PresentationSqlModel.id
)
)
).all()
presentations.sort(key=lambda x: x.created_at, reverse=True)
logging_service.logger.info(
logging_service.message(