@@ -168,6 +168,8 @@ public function releases($project_id)
168
168
}
169
169
170
170
/**
171
+ * @see https://docs.gitlab.com/ee/api/commits.html#list-repository-commits
172
+ *
171
173
* @param int|string $project_id
172
174
* @param array $parameters {
173
175
*
@@ -184,6 +186,9 @@ public function commits($project_id, array $parameters = [])
184
186
$ datetimeNormalizer = function (Options $ options , \DateTimeInterface $ value ) {
185
187
return $ value ->format ('c ' );
186
188
};
189
+ $ booleanNormalizer = function (Options $ resolver , $ value ) {
190
+ return $ value ? 'true ' : 'false ' ;
191
+ };
187
192
188
193
$ resolver ->setDefined ('path ' );
189
194
$ resolver ->setDefined ('ref_name ' );
@@ -195,8 +200,21 @@ public function commits($project_id, array $parameters = [])
195
200
->setAllowedTypes ('until ' , \DateTimeInterface::class)
196
201
->setNormalizer ('until ' , $ datetimeNormalizer )
197
202
;
198
- $ resolver ->setDefined ('all ' );
199
- $ resolver ->setDefined ('with_stats ' );
203
+ $ resolver ->setDefined ('all ' )
204
+ ->setAllowedTypes ('all ' , 'bool ' )
205
+ ->setNormalizer ('all ' , $ booleanNormalizer )
206
+ ;
207
+ $ resolver ->setDefined ('with_stats ' )
208
+ ->setAllowedTypes ('with_stats ' , 'bool ' )
209
+ ->setNormalizer ('with_stats ' , $ booleanNormalizer )
210
+ ;
211
+ $ resolver ->setDefined ('first_parent ' )
212
+ ->setAllowedTypes ('first_parent ' , 'bool ' )
213
+ ->setNormalizer ('first_parent ' , $ booleanNormalizer )
214
+ ;
215
+ $ resolver ->setDefined ('order ' )
216
+ ->setAllowedTypes ('order ' , ['default ' , 'topo ' ])
217
+ ;
200
218
201
219
return $ this ->get ($ this ->getProjectPath ($ project_id , 'repository/commits ' ), $ resolver ->resolve ($ parameters ));
202
220
}
0 commit comments