Skip to content

Commit b5f0fa1

Browse files
committed
add creator parameter to issue list search filter
1 parent 76ccd23 commit b5f0fa1

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

src/github_issue.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ pub(super) struct Issue<'issue> {
6262
body: Option<&'issue str>,
6363
labels: Option<Vec<String>>,
6464
assignees: Option<Vec<String>>,
65+
// list
66+
creator: Option<&'issue str>,
6567
// read and update
6668
number: Option<u64>,
6769
// update
@@ -85,6 +87,7 @@ impl<'issue> Issue<'issue> {
8587
body: Option<&'issue str>,
8688
labels: Option<Vec<String>>,
8789
assignees: Option<Vec<String>>,
90+
creator: Option<&'issue str>,
8891
number: Option<u64>,
8992
lock: Option<bool>,
9093
state: Option<&'issue str>,
@@ -99,6 +102,7 @@ impl<'issue> Issue<'issue> {
99102
body,
100103
labels,
101104
assignees,
105+
creator,
102106
number,
103107
lock,
104108
state,
@@ -117,7 +121,7 @@ impl<'issue> Issue<'issue> {
117121
// instantiate client and issues
118122
let client = match &self.pat {
119123
Some(pat) => octocrab::Octocrab::builder()
120-
.personal_token(pat.to_string())
124+
.personal_token(*pat)
121125
.build()
122126
.unwrap_or_else(|_| {
123127
log::warn!("could not authenticate client with Personal Access Token");
@@ -233,6 +237,9 @@ impl<'issue> Issue<'issue> {
233237
// build the issue pages
234238
let mut issue_page = issues.list();
235239
// ... with optional parameters
240+
if let Some(creator) = &self.creator {
241+
issue_page = issue_page.creator(*creator);
242+
}
236243
if let Some(state) = self.state {
237244
// convert str state to params state
238245
let params_state = str_to_params_state(state)?;

src/github_issue/tests.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ fn test_issue_new() {
4848
None,
4949
None,
5050
None,
51+
None,
5152
Some(100),
5253
None,
5354
None,
@@ -61,6 +62,7 @@ fn test_issue_new() {
6162
body: None,
6263
labels: None,
6364
assignees: None,
65+
creator: None,
6466
number: Some(100),
6567
lock: None,
6668
state: None,
@@ -83,6 +85,7 @@ fn test_issue_new() {
8385
None,
8486
None,
8587
None,
88+
None,
8689
None
8790
),
8891
Issue {
@@ -93,6 +96,7 @@ fn test_issue_new() {
9396
body: Some("my body"),
9497
labels: Some(vec![String::from("label")]),
9598
assignees: Some(vec![String::from("assignee")]),
99+
creator: None,
96100
number: None,
97101
lock: None,
98102
state: None,
@@ -115,6 +119,7 @@ fn test_issue_main_read() {
115119
None,
116120
None,
117121
None,
122+
None,
118123
Some(100),
119124
None,
120125
None,
@@ -145,6 +150,7 @@ fn test_issue_main_list() {
145150
Some(vec![String::from("pdpinch")]),
146151
None,
147152
None,
153+
None,
148154
Some("closed"),
149155
Some(3),
150156
);
@@ -175,6 +181,7 @@ fn test_errors() {
175181
None,
176182
None,
177183
None,
184+
None,
178185
);
179186
let gh_issue_four = Issue::new(
180187
None,
@@ -188,6 +195,7 @@ fn test_errors() {
188195
None,
189196
None,
190197
None,
198+
None,
191199
);
192200
// validate title required for create error
193201
let issue = gh_issue.main(Action::Create).await;

0 commit comments

Comments
 (0)