| 
					
				 | 
			
			
				@@ -0,0 +1,42 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<?php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+namespace App\Command; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use App\Repository\ArticleRepository; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use App\Service\SluggerService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Symfony\Component\Console\Attribute\AsCommand; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Symfony\Component\Console\Command\Command; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Symfony\Component\Console\Input\InputInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Symfony\Component\Console\Output\OutputInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Symfony\Component\Console\Style\SymfonyStyle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#[AsCommand( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: 'blog:slug:init', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    description: 'Add a short description for your command', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+class BlogSlugInitCommand extends Command 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function __construct( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        protected readonly SluggerService $sluggerService, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        protected readonly ArticleRepository $articleRepository 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parent::__construct(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    protected function execute(InputInterface $input, OutputInterface $output): int 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $io = new SymfonyStyle($input, $output); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $this->sluggerService->generateSlugsForExistingArticles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $articles = $this->articleRepository->findAll(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach($articles as $article) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $io->text(sprintf('Article : %s / Slug : %s', $article->getTitle(), $article->getSlug())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $io->success('Les slugs sont générés'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return Command::SUCCESS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |