@@ -21,36 +21,17 @@ class Issues extends AbstractApi
21
21
*/
22
22
public function all ($ project_id = null , array $ parameters = [])
23
23
{
24
- $ resolver = $ this ->createOptionsResolver ();
25
-
26
- $ resolver ->setDefined ('state ' )
27
- ->setAllowedValues ('state ' , ['opened ' , 'closed ' ])
28
- ;
29
- $ resolver ->setDefined ('labels ' );
30
- $ resolver ->setDefined ('milestone ' );
31
- $ resolver ->setDefined ('iids ' )
32
- ->setAllowedTypes ('iids ' , 'array ' )
33
- ->setAllowedValues ('iids ' , function (array $ value ) {
34
- return count ($ value ) == count (array_filter ($ value , 'is_int ' ));
35
- })
36
- ;
37
- $ resolver ->setDefined ('scope ' )
38
- ->setAllowedValues ('scope ' , ['created-by-me ' , 'assigned-to-me ' , 'all ' ])
39
- ;
40
- $ resolver ->setDefined ('order_by ' )
41
- ->setAllowedValues ('order_by ' , ['created_at ' , 'updated_at ' ])
42
- ;
43
- $ resolver ->setDefined ('sort ' )
44
- ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
45
- ;
46
- $ resolver ->setDefined ('search ' );
47
- $ resolver ->setDefined ('assignee_id ' )
48
- ->setAllowedTypes ('assignee_id ' , 'integer ' )
49
- ;
50
-
51
24
$ path = $ project_id === null ? 'issues ' : $ this ->getProjectPath ($ project_id , 'issues ' );
52
25
53
- return $ this ->get ($ path , $ resolver ->resolve ($ parameters ));
26
+ return $ this ->get ($ path , $ this ->createOptionsResolver ()->resolve ($ parameters ));
27
+ }
28
+
29
+ public function group ($ group_id , array $ parameters = [])
30
+ {
31
+ return $ this ->get (
32
+ $ this ->getGroupPath ($ group_id , 'issues ' ),
33
+ $ this ->createOptionsResolver ()->resolve ($ parameters )
34
+ );
54
35
}
55
36
56
37
/**
@@ -328,4 +309,39 @@ public function closedByMergeRequests($project_id, $issue_iid)
328
309
{
329
310
return $ this ->get ($ this ->getProjectPath ($ project_id , 'issues/ ' .$ this ->encodePath ($ issue_iid )).'/closed_by ' );
330
311
}
312
+
313
+ /**
314
+ * {@inheritDoc}
315
+ */
316
+ protected function createOptionsResolver ()
317
+ {
318
+ $ resolver = parent ::createOptionsResolver ();
319
+
320
+ $ resolver ->setDefined ('state ' )
321
+ ->setAllowedValues ('state ' , ['opened ' , 'closed ' ])
322
+ ;
323
+ $ resolver ->setDefined ('labels ' );
324
+ $ resolver ->setDefined ('milestone ' );
325
+ $ resolver ->setDefined ('iids ' )
326
+ ->setAllowedTypes ('iids ' , 'array ' )
327
+ ->setAllowedValues ('iids ' , function (array $ value ) {
328
+ return count ($ value ) == count (array_filter ($ value , 'is_int ' ));
329
+ })
330
+ ;
331
+ $ resolver ->setDefined ('scope ' )
332
+ ->setAllowedValues ('scope ' , ['created-by-me ' , 'assigned-to-me ' , 'all ' ])
333
+ ;
334
+ $ resolver ->setDefined ('order_by ' )
335
+ ->setAllowedValues ('order_by ' , ['created_at ' , 'updated_at ' ])
336
+ ;
337
+ $ resolver ->setDefined ('sort ' )
338
+ ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
339
+ ;
340
+ $ resolver ->setDefined ('search ' );
341
+ $ resolver ->setDefined ('assignee_id ' )
342
+ ->setAllowedTypes ('assignee_id ' , 'integer ' )
343
+ ;
344
+
345
+ return $ resolver ;
346
+ }
331
347
}
0 commit comments