Fix issue with API: the client requested 'list' instead of 'update' for updating gist and the update controller found bad gist

This commit is contained in:
Simon Vieille 2018-08-08 09:38:51 +02:00
parent acf48c4a75
commit 31ffaced48
No known key found for this signature in database
GPG Key ID: 919533E2B946EA10
2 changed files with 11 additions and 7 deletions

View File

@ -88,7 +88,7 @@ class Client extends BaseClient
public function update($gist, $content)
{
$response = $this->post(
str_replace('{gist}', $gist, $this->mergeApiKey(self::LIST)),
str_replace('{gist}', $gist, $this->mergeApiKey(self::UPDATE)),
array(
'form_params' => array(
'form' => array(

View File

@ -158,12 +158,16 @@ class ApiController extends Controller
return $this->invalidMethodResponse('POST method is required.');
}
$gist = GistQuery::create()
->filterByCipher(false)
->filterById((int) $gist)
->_or()
->filterByFile($gist)
->findOne();
$query = GistQuery::create()
->filterByCipher(false);
if (ctype_digit($gist)) {
$query->filterById((int) $gist);
} else {
$query->filterByFile($gist);
}
$gist = $query->findOne();
if (!$gist) {
return $this->invalidRequestResponse('Invalid Gist');