diff --git a/src/routers/secure/items.py b/src/routers/secure/items.py index af7015de..276338f9 100644 --- a/src/routers/secure/items.py +++ b/src/routers/secure/items.py @@ -517,7 +517,14 @@ async def get_all_paused( ): """Get all paused media items, optionally filtered by type""" # Use raw SQL to verify data - sql = "SELECT id, title, type, is_paused, paused_at FROM \"MediaItem\" WHERE is_paused = true" + query = select( + MediaItem.id, + MediaItem.title, + MediaItem.type, + MediaItem.is_paused, + MediaItem.paused_at + ).where(MediaItem.is_paused.is_(True)) + if type: valid_types = [t.value for t in MediaType] if type not in valid_types: @@ -525,10 +532,10 @@ async def get_all_paused( status_code=400, detail=f"Invalid type. Must be one of: {', '.join(valid_types)}" ) - sql += f" AND type = '{type}'" + query = query.where(MediaItem.type == type) - logger.debug(f"Executing SQL: {sql}") - result = db.execute(sql) + logger.debug(f"Executing query: {str(query)}") + result = db.execute(query) rows = result.fetchall() logger.debug(f"Raw SQL found {len(rows)} rows")