@@ -34,7 +34,7 @@ public function __construct(
3434 ) {
3535 }
3636
37- #[Route('/dashboard/ packages ' , name: 'dashboard_packages ' )]
37+ #[Route('/packages ' , name: 'dashboard_packages ' )]
3838 #[IsGrantedAccess]
3939 public function list (Request $ request ): Response
4040 {
@@ -57,31 +57,33 @@ public function list(Request $request): Response
5757 ]);
5858 }
5959
60- #[Route('/dashboard/ packages/info/ {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 }
8385
84- #[Route('/dashboard/ packages/versions/ {packageName} ' , name: 'dashboard_packages_versions ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
86+ #[Route('/packages/{packageName}/versions ' , name: 'dashboard_packages_versions ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
8587 #[IsGrantedAccess]
8688 public function versions (string $ packageName ): Response
8789 {
@@ -96,7 +98,7 @@ public function versions(string $packageName): Response
9698 ]);
9799 }
98100
99- #[Route('/dashboard/ packages/statistics/ {packageName} ' , name: 'dashboard_packages_statistics ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
101+ #[Route('/packages/{packageName}/statistics ' , name: 'dashboard_packages_statistics ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
100102 #[IsGrantedAccess]
101103 public function statistics (string $ packageName ): Response
102104 {
@@ -138,7 +140,7 @@ public function statistics(string $packageName): Response
138140 ]);
139141 }
140142
141- #[Route('/dashboard/ packages/add-mirroring ' , name: 'dashboard_packages_add_mirroring ' )]
143+ #[Route('/packages/add-mirroring ' , name: 'dashboard_packages_add_mirroring ' )]
142144 #[IsGranted('ROLE_ADMIN ' )]
143145 public function addMirroring (Request $ request ): Response
144146 {
@@ -221,7 +223,7 @@ public function addMirroring(Request $request): Response
221223 ]);
222224 }
223225
224- #[Route('/dashboard/ packages/add-vcs ' , name: 'dashboard_packages_add_vcs ' )]
226+ #[Route('/packages/add-vcs ' , name: 'dashboard_packages_add_vcs ' )]
225227 #[IsGranted('ROLE_ADMIN ' )]
226228 public function addVcsRepository (Request $ request ): Response
227229 {
@@ -236,15 +238,15 @@ public function addVcsRepository(Request $request): Response
236238
237239 $ this ->messenger ->dispatch (new UpdatePackage ($ package ->getId ()));
238240
239- return $ this ->redirect ( $ this -> adminUrlGenerator -> setRoute ( 'dashboard_packages ' )-> generateUrl () );
241+ return $ this ->redirectToRoute ( 'dashboard_packages ' );
240242 }
241243
242244 return $ this ->render ('dashboard/packages/add_vcs.html.twig ' , [
243245 'form ' => $ form ,
244246 ]);
245247 }
246248
247- #[Route('/dashboard/ packages/edit/ {packageName} ' , name: 'dashboard_packages_edit ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
249+ #[Route('/packages/{packageName}/edit ' , name: 'dashboard_packages_edit ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
248250 #[IsGranted('ROLE_ADMIN ' )]
249251 public function edit (Request $ request , string $ packageName ): Response
250252 {
@@ -261,7 +263,7 @@ public function edit(Request $request, string $packageName): Response
261263
262264 $ this ->messenger ->dispatch (new UpdatePackage ($ package ->getId ()));
263265
264- return $ this ->redirect ( $ this -> adminUrlGenerator -> setRoute ( 'dashboard_packages_info ' , ['packageName ' => $ package ->getName ()])-> generateUrl () );
266+ return $ this ->redirectToRoute ( 'dashboard_packages_info ' , ['packageName ' => $ package ->getName ()]);
265267 }
266268
267269 return $ this ->render ('dashboard/packages/package_edit.html.twig ' , [
@@ -270,25 +272,25 @@ public function edit(Request $request, string $packageName): Response
270272 ]);
271273 }
272274
273- #[Route('/dashboard/ packages/update/ {packageName} ' , name: 'dashboard_packages_update ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
275+ #[Route('/packages/{packageName}/update ' , name: 'dashboard_packages_update ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
274276 #[IsGranted('ROLE_ADMIN ' )]
275277 public function update (string $ packageName ): Response
276278 {
277279 $ package = $ this ->packageRepository ->findOneByName ($ packageName );
278280
279281 $ this ->messenger ->dispatch (new UpdatePackage ($ package ->getId (), forceRefresh: true ));
280282
281- return $ this ->redirect ( $ this -> adminUrlGenerator -> setRoute ( 'dashboard_packages_info ' , ['packageName ' => $ package ->getName ()])-> generateUrl () );
283+ return $ this ->redirectToRoute ( 'dashboard_packages_info ' , ['packageName ' => $ package ->getName ()]);
282284 }
283285
284- #[Route('/dashboard/ packages/delete/ {packageName} ' , name: 'dashboard_packages_delete ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
286+ #[Route('/packages/{packageName}/delete ' , name: 'dashboard_packages_delete ' , requirements: ['packageName ' => '[a-z0-9_.-]+/[a-z0-9_.-]+ ' ])]
285287 #[IsGranted('ROLE_ADMIN ' )]
286288 public function delete (string $ packageName ): Response
287289 {
288290 $ package = $ this ->packageRepository ->findOneByName ($ packageName );
289291
290292 $ this ->packageRepository ->remove ($ package , true );
291293
292- return $ this ->redirect ( $ this -> adminUrlGenerator -> setRoute ( 'dashboard_packages ' )-> generateUrl () );
294+ return $ this ->redirectToRoute ( 'dashboard_packages ' );
293295 }
294296}
0 commit comments