Skip to content

Commit 8d0edef

Browse files
committed
Refactor package version info route
1 parent a9d1a19 commit 8d0edef

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

src/Controller/Dashboard/DashboardPackagesController.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,26 +57,28 @@ public function list(Request $request): Response
5757
]);
5858
}
5959

60-
#[Route('/packages/{packageName}/{packageVersion}', name: 'dashboard_packages_info', requirements: ['packageName' => '[a-z0-9_.-]+/[a-z0-9_.-]+'])]
60+
#[Route('/packages/{packageName}', name: 'dashboard_packages_info', requirements: ['packageName' => '[a-z0-9_.-]+/[a-z0-9_.-]+'])]
6161
#[IsGrantedAccess]
62-
public function info(string $packageName, ?string $packageVersion = null): Response
62+
public function info(string $packageName): Response
6363
{
6464
$package = $this->packageRepository->findOneBy(['name' => $packageName]);
65+
$version = $package->getLatestVersion();
6566

66-
$versions = $package->getVersions()->toArray();
67-
$latestVersion = $package->getDefaultVersion();
68-
69-
usort($versions, Package::class . '::sortVersions');
67+
return $this->render('dashboard/packages/package_info.html.twig', [
68+
'package' => $package,
69+
'version' => $version,
70+
]);
71+
}
7072

71-
if (null !== $packageVersion) {
72-
$version = $package->getVersion((new VersionParser())->normalize($packageVersion));
73-
} else {
74-
$version = $package->getLatestVersion();
75-
}
73+
#[Route('/packages/{packageName}/v/{packageVersion}', name: 'dashboard_packages_version_info', requirements: ['packageName' => '[a-z0-9_.-]+/[a-z0-9_.-]+'])]
74+
#[IsGrantedAccess]
75+
public function versionInfo(string $packageName, string $packageVersion): Response
76+
{
77+
$package = $this->packageRepository->findOneBy(['name' => $packageName]);
78+
$version = $package->getVersion((new VersionParser())->normalize($packageVersion));
7679

7780
return $this->render('dashboard/packages/package_info.html.twig', [
7881
'package' => $package,
79-
'latestVersion' => $latestVersion,
8082
'version' => $version,
8183
]);
8284
}

templates/dashboard/packages/package_versions.html.twig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<div class="list-group list-group-flush mb-3">
99
{% for version in versions %}
10-
{% set packageVersionInfoUrl = path('dashboard_packages_info', {packageName: package.name, packageVersion: version.version}) %}
10+
{% set packageVersionInfoUrl = path('dashboard_packages_version_info', {packageName: package.name, packageVersion: version.version}) %}
1111
<a href="{{ packageVersionInfoUrl }}" class="list-group-item">
1212
<div class="d-flex justify-content-between">
1313
<span>

0 commit comments

Comments
 (0)