@@ -174,6 +174,88 @@ public function usersProjects(int $id, array $parameters = [])
174
174
return $ this ->get ('users/ ' .self ::encodePath ($ id ).'/projects ' , $ resolver ->resolve ($ parameters ));
175
175
}
176
176
177
+ /**
178
+ * @param int $id
179
+ * @param array $parameters {
180
+ *
181
+ * @var bool $archived limit by archived status
182
+ * @var string $visibility limit by visibility public, internal, or private
183
+ * @var string $order_by Return projects ordered by id, name, path, created_at, updated_at,
184
+ * or last_activity_at fields (default is created_at)
185
+ * @var string $sort Return projects sorted in asc or desc order (default is desc)
186
+ * @var string $search return list of projects matching the search criteria
187
+ * @var bool $simple return only the ID, URL, name, and path of each project
188
+ * @var bool $owned limit by projects owned by the current user
189
+ * @var bool $membership limit by projects that the current user is a member of
190
+ * @var bool $starred limit by projects starred by the current user
191
+ * @var bool $statistics include project statistics
192
+ * @var bool $with_issues_enabled limit by enabled issues feature
193
+ * @var bool $with_merge_requests_enabled limit by enabled merge requests feature
194
+ * @var int $min_access_level Limit by current user minimal access level
195
+ * @var bool $with_custom_attributes Include custom attributes in response (administrator only)
196
+ * }
197
+ *
198
+ * @return mixed
199
+ */
200
+ public function usersStarredProjects (int $ id , array $ parameters = [])
201
+ {
202
+ $ resolver = $ this ->createOptionsResolver ();
203
+ $ booleanNormalizer = function (Options $ resolver , $ value ): string {
204
+ return $ value ? 'true ' : 'false ' ;
205
+ };
206
+ $ resolver ->setDefined ('archived ' )
207
+ ->setAllowedTypes ('archived ' , 'bool ' )
208
+ ->setNormalizer ('archived ' , $ booleanNormalizer )
209
+ ;
210
+ $ resolver ->setDefined ('visibility ' )
211
+ ->setAllowedValues ('visibility ' , ['public ' , 'internal ' , 'private ' ])
212
+ ;
213
+ $ resolver ->setDefined ('order_by ' )
214
+ ->setAllowedValues ('order_by ' , ['id ' , 'name ' , 'path ' , 'created_at ' , 'updated_at ' , 'last_activity_at ' ])
215
+ ;
216
+ $ resolver ->setDefined ('sort ' )
217
+ ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
218
+ ;
219
+ $ resolver ->setDefined ('search ' );
220
+ $ resolver ->setDefined ('simple ' )
221
+ ->setAllowedTypes ('simple ' , 'bool ' )
222
+ ->setNormalizer ('simple ' , $ booleanNormalizer )
223
+ ;
224
+ $ resolver ->setDefined ('owned ' )
225
+ ->setAllowedTypes ('owned ' , 'bool ' )
226
+ ->setNormalizer ('owned ' , $ booleanNormalizer )
227
+ ;
228
+ $ resolver ->setDefined ('membership ' )
229
+ ->setAllowedTypes ('membership ' , 'bool ' )
230
+ ->setNormalizer ('membership ' , $ booleanNormalizer )
231
+ ;
232
+ $ resolver ->setDefined ('starred ' )
233
+ ->setAllowedTypes ('starred ' , 'bool ' )
234
+ ->setNormalizer ('starred ' , $ booleanNormalizer )
235
+ ;
236
+ $ resolver ->setDefined ('statistics ' )
237
+ ->setAllowedTypes ('statistics ' , 'bool ' )
238
+ ->setNormalizer ('statistics ' , $ booleanNormalizer )
239
+ ;
240
+ $ resolver ->setDefined ('with_issues_enabled ' )
241
+ ->setAllowedTypes ('with_issues_enabled ' , 'bool ' )
242
+ ->setNormalizer ('with_issues_enabled ' , $ booleanNormalizer )
243
+ ;
244
+ $ resolver ->setDefined ('with_merge_requests_enabled ' )
245
+ ->setAllowedTypes ('with_merge_requests_enabled ' , 'bool ' )
246
+ ->setNormalizer ('with_merge_requests_enabled ' , $ booleanNormalizer )
247
+ ;
248
+ $ resolver ->setDefined ('min_access_level ' )
249
+ ->setAllowedValues ('min_access_level ' , [null , 10 , 20 , 30 , 40 , 50 ])
250
+ ;
251
+ $ resolver ->setDefined ('with_custom_attributes ' )
252
+ ->setAllowedTypes ('with_custom_attributes ' , 'bool ' )
253
+ ->setNormalizer ('with_custom_attributes ' , $ booleanNormalizer )
254
+ ;
255
+
256
+ return $ this ->get ('users/ ' .self ::encodePath ($ id ).'/starred_projects ' , $ resolver ->resolve ($ parameters ));
257
+ }
258
+
177
259
/**
178
260
* @return mixed
179
261
*/
0 commit comments