From b930ca11557db6b07e274fabd1f5b426daac7ca3 Mon Sep 17 00:00:00 2001 From: markov Date: Thu, 26 Feb 2026 15:14:17 +0100 Subject: [PATCH] Fix #10: list_tasks API now accepts project_slug query param (used by Picogent) --- src/tracker/api/tasks.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tracker/api/tasks.py b/src/tracker/api/tasks.py index c023e63..fdcd3b9 100644 --- a/src/tracker/api/tasks.py +++ b/src/tracker/api/tasks.py @@ -193,6 +193,7 @@ async def _resolve_member(db: AsyncSession, member_id: str) -> Member: @router.get("/tasks", response_model=list[TaskOut]) async def list_tasks( project_id: Optional[str] = Query(None), + project_slug: Optional[str] = Query(None), status: Optional[str] = Query(None), assignee_id: Optional[str] = Query(None), label: Optional[str] = Query(None), @@ -206,6 +207,11 @@ async def list_tasks( ) if project_id: q = q.where(Task.project_id == uuid.UUID(project_id)) + elif project_slug: + result = await db.execute(select(Project).where(Project.slug == project_slug)) + project = result.scalar_one_or_none() + if project: + q = q.where(Task.project_id == project.id) if status: q = q.where(Task.status == status) if assignee_id: