66use CodedMonkey \Dirigent \Doctrine \Entity \Dependent ;
77use CodedMonkey \Dirigent \Doctrine \Entity \Package ;
88use CodedMonkey \Dirigent \Doctrine \Entity \PackageFetchStrategy ;
9+ use CodedMonkey \Dirigent \Doctrine \Entity \Provider ;
10+ use CodedMonkey \Dirigent \Doctrine \Entity \Registry ;
911use CodedMonkey \Dirigent \Doctrine \Entity \Suggester ;
1012use CodedMonkey \Dirigent \Doctrine \Repository \PackageRepository ;
1113use CodedMonkey \Dirigent \EasyAdmin \PackagePaginator ;
@@ -48,14 +50,26 @@ public function list(Request $request): Response
4850 $ queryBuilder ->setParameter ('query ' , "% {$ query }% " );
4951 }
5052
53+ if (null !== $ registryId = $ request ->query ->get ('registry ' )) {
54+ $ registry = $ this ->entityManager ->getRepository (Registry::class)->find ($ registryId );
55+
56+ $ queryBuilder ->andWhere ($ queryBuilder ->expr ()->eq ('package.registry ' , ':registry ' ));
57+ $ queryBuilder ->setParameter ('registry ' , $ registry );
58+
59+ dump ($ registry );
60+ }
61+
5162 $ paginatorDto = new PaginatorDto (20 , 3 , 1 , true , null );
5263 $ paginatorDto ->setPageNumber ($ request ->query ->getInt ('page ' , 1 ));
5364 $ paginator = (new PackagePaginator ($ this ->adminUrlGenerator ))->paginate ($ paginatorDto , $ queryBuilder );
5465 $ packages = $ paginator ->getResults ();
5566
67+ $ registries = $ this ->entityManager ->getRepository (Registry::class)->findAll ();
68+
5669 return $ this ->render ('dashboard/packages/list.html.twig ' , [
5770 'packages ' => $ packages ,
5871 'paginator ' => $ paginator ,
72+ 'registries ' => $ registries ,
5973 ]);
6074 }
6175
@@ -77,6 +91,8 @@ public function info(string $packageName, ?string $packageVersion = null): Respo
7791 }
7892
7993 $ dependentCount = $ this ->entityManager ->getRepository (Dependent::class)->count (['dependentPackageName ' => $ package ->getName ()]);
94+ $ implementationCount = $ this ->entityManager ->getRepository (Provider::class)->count (['providedPackageName ' => $ package ->getName () . '-implementation ' ]);
95+ $ providerCount = $ this ->entityManager ->getRepository (Provider::class)->count (['providedPackageName ' => $ package ->getName ()]);
8096 $ suggesterCount = $ this ->entityManager ->getRepository (Suggester::class)->count (['suggestedPackageName ' => $ package ->getName ()]);
8197
8298 return $ this ->render ('dashboard/packages/package_info.html.twig ' , [
@@ -85,6 +101,8 @@ public function info(string $packageName, ?string $packageVersion = null): Respo
85101 'version ' => $ version ,
86102
87103 'dependentCount ' => $ dependentCount ,
104+ 'implementationCount ' => $ implementationCount ,
105+ 'providerCount ' => $ providerCount ,
88106 'suggesterCount ' => $ suggesterCount ,
89107 ]);
90108 }
0 commit comments