@@ -242,22 +242,46 @@ public function cancelPipeline($project_id, $pipeline_id)
242242
243243 /**
244244 * @param int $project_id
245- * @param string $username_query
245+ * @param array $parameters (
246+ *
247+ * @var string $query The query you want to search members for.
248+ * @var string $page The page you want to take members from. (default: 1)
249+ * @var string $per_page The count of members per page. (default: 20)
250+ * )
251+ *
252+ * @throws MissingOptionsException If a required option is not provided
253+ *
246254 * @return mixed
247255 */
248- public function members ($ project_id , $ username_query = null )
256+ public function members ($ project_id , $ parameters = [] )
249257 {
250- $ params = array ();
251- if (!empty ($ username_query )) {
252- $ params ['query ' ] = $ username_query ;
258+ if (!is_array ($ parameters )) {
259+ @trigger_error ("Deprecated: String parameter of the members() function is deprecated. " , E_USER_NOTICE );
260+ $ username_query = $ parameters ;
261+ $ parameters = array ();
262+ if (!empty ($ username_query )) {
263+ $ parameters ['query ' ] = $ username_query ;
264+ }
253265 }
254266
255267 $ resolver = $ this ->createOptionsResolver ();
268+
269+ $ resolver ->setDefaults (array (
270+ 'page ' => 1 ,
271+ 'per_page ' => 20 ,
272+ ));
273+
256274 $ resolver ->setDefined ('query ' )
257275 ->setAllowedTypes ('query ' , 'string ' )
258276 ;
277+ $ resolver ->setDefined ('page ' )
278+ ->setAllowedTypes ('page ' , 'int ' )
279+ ;
280+ $ resolver ->setDefined ('per_page ' )
281+ ->setAllowedTypes ('per_page ' , 'int ' )
282+ ;
259283
260- return $ this ->get ($ this ->getProjectPath ($ project_id , 'members ' ), $ resolver ->resolve ($ params ));
284+ return $ this ->get ($ this ->getProjectPath ($ project_id , 'members ' ), $ resolver ->resolve ($ parameters ));
261285 }
262286
263287 /**
0 commit comments