Skip to content

Commit 7de4e8f

Browse files
#40 - Mise à jour du code pour prendre en compte symfony 6, 7 et 8
1 parent 2d7a4cf commit 7de4e8f

15 files changed

Lines changed: 76 additions & 50 deletions

rector.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
->withPreparedSets(deadCode: true, codeQuality: true, doctrineCodeQuality: true, symfonyCodeQuality: true)
2020
->withAttributesSets(symfony: true, doctrine: true)
2121
->withSets([
22-
LevelSetList::UP_TO_PHP_85,
22+
LevelSetList::UP_TO_PHP_82,
2323
SymfonySetList::SYMFONY_64,
2424
SymfonySetList::SYMFONY_CODE_QUALITY,
2525
SymfonySetList::SYMFONY_CONSTRUCTOR_INJECTION,

src/Controller/Admin/Process/LaunchAction.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,18 @@
4040
#[IsGranted('ROLE_USER')]
4141
class LaunchAction extends AbstractController
4242
{
43-
public function __construct(private readonly MessageBusInterface $messageBus)
43+
public function __construct(private readonly MessageBusInterface $messageBus, private readonly RequestStack $requestStack, private readonly ProcessConfigurationsManager $processConfigurationsManager, private readonly AdminContext $context)
4444
{
4545
}
4646

4747
public function __invoke(
48-
RequestStack $requestStack,
4948
string $uploadDirectory,
50-
ProcessConfigurationsManager $processConfigurationsManager,
51-
AdminContext $context,
5249
): Response {
53-
$processCode = (string) $requestStack->getMainRequest()?->request->get('process');
50+
$processCode = (string) $this->requestStack->getMainRequest()?->request->get('process');
5451
if ('' === $processCode) {
5552
throw new MissingProcessException();
5653
}
57-
$uiOptions = $processConfigurationsManager->getUiOptions($processCode);
54+
$uiOptions = $this->processConfigurationsManager->getUiOptions($processCode);
5855
if (null === $uiOptions) {
5956
throw new \InvalidArgumentException('Missing UI Options');
6057
}
@@ -84,7 +81,7 @@ public function __invoke(
8481
}
8582
$form->setData($default);
8683
}
87-
$form->handleRequest($requestStack->getMainRequest());
84+
$form->handleRequest($this->requestStack->getMainRequest());
8885
if ($form->isSubmitted() && $form->isValid()) {
8986
$input = $form->get('input')->getData();
9087
if ($input instanceof UploadedFile) {
@@ -104,7 +101,7 @@ public function __invoke(
104101

105102
return $this->redirectToRoute('process', ['routeName' => 'process_list']);
106103
}
107-
$context->getAssets()->addJsAsset(Asset::fromEasyAdminAssetPackage('field-collection.js')->getAsDto());
104+
$this->context->getAssets()->addJsAsset(Asset::fromEasyAdminAssetPackage('field-collection.js')->getAsDto());
108105

109106
return $this->render(
110107
'@CleverAgeUiProcess/admin/process/launch.html.twig',

src/Controller/Admin/Process/ListAction.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
#[IsGranted('ROLE_USER')]
2525
class ListAction extends AbstractController
2626
{
27-
public function __construct(private readonly IntlFormatterInterface $intlFormatter)
27+
public function __construct(private readonly IntlFormatterInterface $intlFormatter, private readonly ProcessConfigurationsManager $processConfigurationsManager)
2828
{
2929
}
3030

31-
public function __invoke(ProcessConfigurationsManager $processConfigurationsManager): Response
31+
public function __invoke(): Response
3232
{
3333
return $this->render(
3434
'@CleverAgeUiProcess/admin/process/list.html.twig',
3535
[
36-
'processes' => $processConfigurationsManager->getPublicProcesses(),
36+
'processes' => $this->processConfigurationsManager->getPublicProcesses(),
3737
'IntlFormatterService' => $this->intlFormatter,
3838
]
3939
);

src/Controller/Admin/Process/UploadAndExecuteAction.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@
3737
#[IsGranted('ROLE_USER')]
3838
class UploadAndExecuteAction extends AbstractController
3939
{
40+
public function __construct(private readonly RequestStack $requestStack, private readonly MessageBusInterface $messageBus)
41+
{
42+
}
43+
4044
public function __invoke(
41-
RequestStack $requestStack,
42-
MessageBusInterface $messageBus,
4345
string $uploadDirectory,
4446
#[ValueResolver('process')] ProcessConfiguration $processConfiguration,
4547
): Response {
@@ -49,15 +51,15 @@ public function __invoke(
4951
$form = $this->createForm(
5052
ProcessUploadFileType::class,
5153
null,
52-
['process_code' => $requestStack->getMainRequest()?->request->get('process')]
54+
['process_code' => $this->requestStack->getMainRequest()?->request->get('process')]
5355
);
54-
$form->handleRequest($requestStack->getMainRequest());
56+
$form->handleRequest($this->requestStack->getMainRequest());
5557
if ($form->isSubmitted() && $form->isValid()) {
5658
/** @var UploadedFile $file */
5759
$file = $form->getData();
5860
$savedFilepath = \sprintf('%s/%s.%s', $uploadDirectory, Uuid::v4(), $file->getClientOriginalExtension());
5961
(new Filesystem())->dumpFile($savedFilepath, $file->getContent());
60-
$messageBus->dispatch(
62+
$this->messageBus->dispatch(
6163
new ProcessExecuteMessage(
6264
$form->getConfig()->getOption('process_code'),
6365
$savedFilepath

src/Controller/Admin/ProcessExecutionCrudController.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public function __construct(
4646
private readonly ProcessExecutionRepository $processExecutionRepository,
4747
private readonly string $logDirectory,
4848
private readonly TranslatorInterface $translator,
49+
private readonly AdminContext $context,
4950
) {
5051
}
5152

@@ -109,7 +110,7 @@ public function configureActions(Actions $actions): Actions
109110
);
110111
}
111112

112-
public function showLogs(AdminContext $adminContext): RedirectResponse
113+
public function showLogs(): RedirectResponse
113114
{
114115
/** @var AdminUrlGenerator $adminUrlGenerator */
115116
$adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
@@ -133,11 +134,10 @@ public function showLogs(AdminContext $adminContext): RedirectResponse
133134
return $this->redirect($url);
134135
}
135136

136-
public function downloadLogFile(
137-
AdminContext $context,
138-
): Response {
137+
public function downloadLogFile(): Response
138+
{
139139
/** @var ProcessExecution $processExecution */
140-
$processExecution = $context->getEntity()->getInstance();
140+
$processExecution = $this->context->getEntity()->getInstance();
141141
$filepath = $this->getLogFilePath($processExecution);
142142
$basename = basename($filepath);
143143
$content = file_get_contents($filepath);

src/Controller/Admin/Security/LogoutController.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,14 @@
2020

2121
class LogoutController extends AbstractController
2222
{
23+
public function __construct(private readonly Security $security)
24+
{
25+
}
26+
2327
#[Route('/process/logout', name: 'process_logout')]
24-
public function __invoke(Security $security): Response
28+
public function __invoke(): Response
2529
{
26-
$security->logout();
30+
$this->security->logout();
2731

2832
return $this->redirectToRoute('process_login');
2933
}

src/Controller/Admin/UserCrudController.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
class UserCrudController extends AbstractCrudController
4242
{
4343
/** @param array<string, string> $roles */
44-
public function __construct(private readonly array $roles)
44+
public function __construct(private readonly array $roles, private readonly AdminContext $adminContext, private readonly AdminUrlGenerator $adminUrlGenerator)
4545
{
4646
}
4747

@@ -103,20 +103,20 @@ public function configureActions(Actions $actions): Actions
103103
->addCssClass(''))->add(Crud::PAGE_EDIT, Action::new('generateToken')->linkToCrudAction('generateToken'));
104104
}
105105

106-
public function generateToken(AdminContext $adminContext, AdminUrlGenerator $adminUrlGenerator): Response
106+
public function generateToken(): Response
107107
{
108108
/** @var User $user */
109-
$user = $adminContext->getEntity()->getInstance();
109+
$user = $this->adminContext->getEntity()->getInstance();
110110
$token = md5(uniqid(date('YmdHis')));
111111
$user->setToken((new Pbkdf2PasswordHasher())->hash($token));
112112
$this->persistEntity(
113-
$this->container->get('doctrine')->getManagerForClass($adminContext->getEntity()->getFqcn()),
113+
$this->container->get('doctrine')->getManagerForClass($this->adminContext->getEntity()->getFqcn()),
114114
$user
115115
);
116116
$this->addFlash('success', 'New token generated '.$token.' (keep it in secured area. This token will never be displayed anymore)');
117117

118118
return $this->redirect(
119-
$adminUrlGenerator
119+
$this->adminUrlGenerator
120120
->setController(self::class)
121121
->setAction(Action::EDIT)
122122
->setEntityId($user->getId())

src/Controller/ProcessExecuteController.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,14 @@
2828
#[Route(path: '/http/process/execute', name: 'http_process_execute', methods: ['POST'])]
2929
class ProcessExecuteController extends AbstractController
3030
{
31+
public function __construct(private readonly ValidatorInterface $validator, private readonly MessageBusInterface $bus, private readonly ProcessManager $processManager)
32+
{
33+
}
34+
3135
public function __invoke(
3236
#[ValueResolver('http_process_execution')] HttpProcessExecution $httpProcessExecution,
33-
ValidatorInterface $validator,
34-
MessageBusInterface $bus,
35-
ProcessManager $processManager,
3637
): JsonResponse {
37-
$violations = $validator->validate($httpProcessExecution);
38+
$violations = $this->validator->validate($httpProcessExecution);
3839
if ($violations->count() > 0) {
3940
$violationsMessages = [];
4041
foreach ($violations as $violation) {
@@ -43,7 +44,7 @@ public function __invoke(
4344
throw new UnprocessableEntityHttpException(implode('. ', $violationsMessages));
4445
}
4546
if ($httpProcessExecution->queue) {
46-
$bus->dispatch(
47+
$this->bus->dispatch(
4748
new ProcessExecuteMessage(
4849
$httpProcessExecution->code ?? '',
4950
$httpProcessExecution->input,
@@ -56,7 +57,7 @@ public function __invoke(
5657
return new JsonResponse('Process has been added to queue. It will start as soon as possible.');
5758
} else {
5859
try {
59-
$processManager->execute(
60+
$this->processManager->execute(
6061
$httpProcessExecution->code ?? '',
6162
$httpProcessExecution->input,
6263
\is_string($httpProcessExecution->context)

src/Entity/LogRecord.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function getId(): ?int
5151
public function __construct(
5252
\Monolog\LogRecord $record,
5353
#[ORM\ManyToOne(targetEntity: ProcessExecution::class, cascade: ['all'])]
54-
#[ORM\JoinColumn(name: 'process_execution_id', referencedColumnName: 'id', onDelete: 'CASCADE', nullable: false)]
54+
#[ORM\JoinColumn(name: 'process_execution_id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')]
5555
private readonly ProcessExecution $processExecution,
5656
) {
5757
$this->channel = (string) (new UnicodeString($record->channel))->truncate(64);

src/EventSubscriber/ProcessEventSubscriber.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
2323
use Symfony\Component\Uid\Uuid;
2424

25-
readonly final class ProcessEventSubscriber implements EventSubscriberInterface
25+
final readonly class ProcessEventSubscriber implements EventSubscriberInterface
2626
{
2727
public function __construct(
2828
private ProcessHandler $processHandler,

0 commit comments

Comments
 (0)