Add server-side work item search
This commit is contained in:
@@ -4,8 +4,8 @@ use gotcha_gitea::{
|
||||
|
||||
use crate::{
|
||||
domain::{
|
||||
HistoryCommit, HomeData, IssueDetails, IssueDraft, IssueEditorData, MilestoneDetails,
|
||||
MilestoneDraft, Page, PullDetails, RepositoryData, Server,
|
||||
HistoryCommit, HomeData, IssueDetails, IssueDraft, IssueEditorData, IssueFilter,
|
||||
MilestoneDetails, MilestoneDraft, Page, PullDetails, RepositoryData, Server,
|
||||
},
|
||||
presentation::compact_date,
|
||||
};
|
||||
@@ -46,8 +46,7 @@ pub async fn load_issues(
|
||||
owner: &str,
|
||||
repository: &str,
|
||||
status: &str,
|
||||
labels: &[String],
|
||||
milestone: &str,
|
||||
filter: &IssueFilter,
|
||||
page: i32,
|
||||
) -> Result<Page<models::Issue>, String> {
|
||||
client(server)?
|
||||
@@ -55,8 +54,10 @@ pub async fn load_issues(
|
||||
&scope(owner, repository)?,
|
||||
&IssueQuery {
|
||||
state: status.into(),
|
||||
labels: (!labels.is_empty()).then(|| labels.join(",")),
|
||||
milestones: (!milestone.is_empty()).then(|| milestone.into()),
|
||||
labels: (!filter.labels.is_empty())
|
||||
.then(|| filter.labels.iter().cloned().collect::<Vec<_>>().join(",")),
|
||||
milestones: (!filter.milestone.is_empty()).then(|| filter.milestone.clone()),
|
||||
keyword: (!filter.search_text.is_empty()).then(|| filter.search_text.clone()),
|
||||
page,
|
||||
limit: PAGE_SIZE,
|
||||
..Default::default()
|
||||
@@ -150,12 +151,14 @@ pub async fn load_pulls(
|
||||
server: &Server,
|
||||
status: &str,
|
||||
milestone: &str,
|
||||
search_text: &str,
|
||||
page: i32,
|
||||
) -> Result<Page<models::Issue>, String> {
|
||||
client(server)?
|
||||
.search_pulls(
|
||||
status,
|
||||
(!milestone.is_empty()).then_some(milestone),
|
||||
(!search_text.is_empty()).then_some(search_text),
|
||||
page,
|
||||
PAGE_SIZE,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user