Add server-side work item search

This commit is contained in:
Georg Bauer
2026-07-31 21:03:01 +02:00
parent af392209e8
commit a3962449a2
9 changed files with 234 additions and 42 deletions

View File

@@ -84,6 +84,8 @@ pub struct IssueFilter {
pub milestone: String,
#[serde(default)]
pub labels: BTreeSet<String>,
#[serde(skip)]
pub search_text: String,
}
impl IssueFilter {
@@ -96,6 +98,8 @@ impl IssueFilter {
pub struct PullFilter {
#[serde(default)]
pub milestone: String,
#[serde(skip)]
pub search_text: String,
}
impl PullFilter {
@@ -185,8 +189,44 @@ mod tests {
assert!(
PullFilter {
milestone: "v1".into(),
..Default::default()
}
.is_active("open")
);
assert!(
IssueFilter {
search_text: "needle".into(),
..Default::default()
}
.is_active("open")
);
assert!(
PullFilter {
search_text: "needle".into(),
..Default::default()
}
.is_active("open")
);
}
#[test]
fn search_text_is_session_only() {
let issue = IssueFilter {
search_text: "needle".into(),
..Default::default()
};
let pull = PullFilter {
search_text: "needle".into(),
..Default::default()
};
assert!(!serde_json::to_string(&issue).unwrap().contains("needle"));
assert!(!serde_json::to_string(&pull).unwrap().contains("needle"));
assert_eq!(
serde_json::from_str::<IssueFilter>(r#"{"milestone":"v1"}"#)
.unwrap()
.search_text,
""
);
}
}