Skip to content

Commit 0f22105

Browse files
committed
fix: added reset streams endpoint
1 parent cd7b185 commit 0f22105

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/program/managers/event_manager.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,10 @@ def _process_future(self, future, service):
6969
"""
7070

7171
if future.cancelled():
72-
logger.debug(f"Future for {future} was cancelled.")
72+
if hasattr(future, "event") and future.event:
73+
logger.debug(f"Future for {future.event.log_message} was cancelled.")
74+
else:
75+
logger.debug(f"Future for {future} was cancelled.")
7376
return # Skip processing if the future was cancelled
7477

7578
try:

src/routers/secure/items.py

+25
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,31 @@ async def unblacklist_stream(_: Request, item_id: str, stream_id: int, db: Sessi
455455
"message": f"Unblacklisted stream {stream_id} for item {item_id}",
456456
}
457457

458+
@router.post(
459+
"/{item_id}/streams/reset",
460+
summary="Reset Media Item Streams",
461+
description="Reset all streams for a media item",
462+
operation_id="reset_item_streams",
463+
)
464+
async def reset_item_streams(_: Request, item_id: str, db: Session = Depends(get_db)):
465+
item: MediaItem = (
466+
db.execute(
467+
select(MediaItem)
468+
.where(MediaItem.id == item_id)
469+
)
470+
.unique()
471+
.scalar_one_or_none()
472+
)
473+
474+
if not item:
475+
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Item not found")
476+
477+
db_functions.clear_streams(item)
478+
479+
return {
480+
"message": f"Successfully reset streams for item {item_id}",
481+
}
482+
458483
class PauseResponse(BaseModel):
459484
message: str
460485
ids: list[str]

0 commit comments

Comments
 (0)