Skip to content

Commit 213ee24

Browse files
committed
API tweaks, refs #1533
1 parent 1ed4a9b commit 213ee24

File tree

5 files changed

+6
-14
lines changed

5 files changed

+6
-14
lines changed

src/Controller/ApiController.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
use Composer\Pcre\Preg;
2727
use Graze\DogStatsD\Client as StatsDClient;
2828
use Psr\Log\LoggerInterface;
29+
use Symfony\Bridge\Doctrine\Attribute\MapEntity;
2930
use Symfony\Component\HttpFoundation\BinaryFileResponse;
3031
use Symfony\Component\HttpFoundation\JsonResponse;
3132
use Symfony\Component\HttpFoundation\Request;
@@ -34,7 +35,6 @@
3435
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
3536
use Symfony\Component\Routing\Attribute\Route;
3637
use Symfony\Component\Routing\RouterInterface;
37-
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
3838
use Symfony\Component\Validator\Validator\ValidatorInterface;
3939
use Symfony\Contracts\HttpClient\HttpClientInterface;
4040

@@ -184,14 +184,14 @@ public function updatePackageAction(Request $request, string $githubWebhookSecre
184184
}
185185

186186
#[Route(path: '/api/packages/{package}', name: 'api_edit_package', requirements: ['package' => '[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+?'], defaults: ['_format' => 'json'], methods: ['PUT'])]
187-
public function editPackageAction(Request $request, Package $package, ValidatorInterface $validator, StatsDClient $statsd): JsonResponse
187+
public function editPackageAction(Request $request, #[MapEntity(mapping: ['package' => 'name'])] Package $package, ValidatorInterface $validator, StatsDClient $statsd): JsonResponse
188188
{
189189
$user = $this->findUser($request);
190190
if (!$user) {
191191
return new JsonResponse(['status' => 'error', 'message' => 'Missing or invalid username/apiToken in request'], 406);
192192
}
193193
if (!$package->getMaintainers()->contains($user)) {
194-
throw new AccessDeniedException();
194+
return new JsonResponse(['status' => 'error', 'message' => 'You are not allowed to edit this package'], 403);
195195
}
196196

197197
$statsd->increment('edit_package_api');

src/Controller/PackageController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ public function viewPackageVersionAction(Request $req, int $versionId): JsonResp
801801
return $resp;
802802
}
803803

804-
#[Route(path: '/versions/{versionId}/delete', name: 'delete_version', requirements: ['name' => '[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+?', 'versionId' => '[0-9]+'], methods: ['DELETE'])]
804+
#[Route(path: '/versions/{versionId}', name: 'delete_version', requirements: ['versionId' => '[0-9]+'], methods: ['DELETE'])]
805805
public function deletePackageVersionAction(Request $req, int $versionId): Response
806806
{
807807
$repo = $this->getEM()->getRepository(Version::class);

src/Package/Updater.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,7 @@ private function updatePackageReadme(Package $package, ?string $contents): void
664664
if ($readme) {
665665
$this->getEM()->remove($readme);
666666
}
667+
667668
return;
668669
}
669670

src/Service/GitHubUserMigrationWorker.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ static function ($hook) {
122122
));
123123
// sort shorter urls first as that should lead us to find the correct one first
124124
usort($currentHooks, static function ($a, $b) {
125-
return strlen($a['config']['url']) - strlen($b['config']['url']);
125+
return \strlen($a['config']['url']) - \strlen($b['config']['url']);
126126
});
127127

128128
$hookData = $this->getGitHubHookData();

tests/Package/UpdaterTest.php

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@
1212

1313
namespace App\Tests\Package;
1414

15-
use App\Entity\Dependent;
16-
use App\Entity\DependentRepository;
1715
use App\Entity\Package;
1816
use App\Entity\PackageReadme;
19-
use App\Entity\Version;
20-
use App\Entity\VersionRepository;
2117
use App\Model\ProviderManager;
2218
use App\Model\VersionIdCache;
2319
use App\Package\Updater;
@@ -30,13 +26,8 @@
3026
use Composer\Repository\Vcs\GitDriver;
3127
use Composer\Repository\Vcs\VcsDriverInterface;
3228
use Composer\Repository\VcsRepository;
33-
use Doctrine\Bundle\DoctrineBundle\Registry;
34-
use Doctrine\DBAL\Connection;
35-
use Doctrine\ORM\EntityManager;
3629
use Doctrine\Persistence\ManagerRegistry;
3730
use PHPUnit\Framework\MockObject\MockObject;
38-
use PHPUnit\Framework\TestCase;
39-
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
4031
use Symfony\Component\Mailer\MailerInterface;
4132
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
4233

0 commit comments

Comments
 (0)