Merge pull request #31 from presenton/user_presentation_fixes
fix(fastapi):filter presentation based on number of slides
This commit is contained in:
commit
1639f7c505
1 changed files with 10 additions and 10 deletions
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue