feat: issue search API (keyword in title/description)

This commit is contained in:
Zhi
2026-02-22 04:21:01 +00:00
parent 9ad1e940e4
commit d4666260a7

View File

@@ -439,3 +439,23 @@ def transition_issue(issue_id: int, new_status: str, bg: BackgroundTasks, db: Se
}, issue.project_id, db)
return issue
# ============ Search API ============
@app.get("/search/issues", response_model=List[schemas.IssueResponse])
def search_issues(
q: str,
project_id: int = None,
skip: int = 0,
limit: int = 50,
db: Session = Depends(get_db)
):
"""Search issues by title or description keyword."""
query = db.query(models.Issue).filter(
(models.Issue.title.contains(q)) | (models.Issue.description.contains(q))
)
if project_id:
query = query.filter(models.Issue.project_id == project_id)
return query.offset(skip).limit(limit).all()