feat: Webhook system + CLI tool #2
20
app/main.py
20
app/main.py
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user