@@ -76,6 +76,31 @@ public function versions(#[MapPackage] Package $package): Response
7676 ]);
7777 }
7878
79+ #[Route('/packages/{package}/revisions/{version} ' , name: 'dashboard_packages_version_revisions ' , requirements: ['package ' => MapPackage::PACKAGE_REGEX , 'version ' => '.* ' ])]
80+ #[IsGrantedAccess]
81+ public function versionInfo (#[MapPackage] Package $ package , #[MapPackage] Version $ version ): Response
82+ {
83+ /** @var MetadataRepository $metadataRepository */
84+ $ metadataRepository = $ this ->entityManager ->getRepository (Metadata::class);
85+ $ metadataRepository ->fetchMetadataCollections ($ version ->getCurrentMetadata ());
86+
87+ $ dependentCount = $ this ->entityManager ->getRepository (PackageRequireLink::class)->count (['linkedPackageName ' => $ package ->getName ()]);
88+ $ implementationCount = $ this ->entityManager ->getRepository (PackageProvideLink::class)->count (['linkedPackageName ' => $ package ->getName (), 'implementation ' => true ]);
89+ $ providerCount = $ this ->entityManager ->getRepository (PackageProvideLink::class)->count (['linkedPackageName ' => $ package ->getName (), 'implementation ' => false ]);
90+ $ suggesterCount = $ this ->entityManager ->getRepository (PackageSuggestLink::class)->count (['linkedPackageName ' => $ package ->getName ()]);
91+
92+ return $ this ->render ('dashboard/packages/package_info.html.twig ' , [
93+ 'package ' => $ package ,
94+ 'version ' => $ version ,
95+ 'metadata ' => $ version ->getCurrentMetadata (),
96+
97+ 'dependentCount ' => $ dependentCount ,
98+ 'implementationCount ' => $ implementationCount ,
99+ 'providerCount ' => $ providerCount ,
100+ 'suggesterCount ' => $ suggesterCount ,
101+ ]);
102+ }
103+
79104 #[Route('/packages/{package}/dependents ' , name: 'dashboard_packages_dependents ' , requirements: ['package ' => MapPackage::PACKAGE_REGEX ])]
80105 #[IsGrantedAccess]
81106 public function dependents (Request $ request , #[MapPackage] Package $ package ): Response
0 commit comments