From 1c91c3a757938a830f05146be877663374fd6c1b Mon Sep 17 00:00:00 2001 From: Baptiste Leduc Date: Fri, 17 May 2024 11:43:16 +0200 Subject: [PATCH] Debug QuitTransport --- app/src/Discord/Command/Helper/UserHelper.php | 7 ++++++- app/src/Discord/Command/QuitTransportCommand.php | 12 +++++++++++- app/src/Repository/User/FindOrCreateUser.php | 8 +++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/app/src/Discord/Command/Helper/UserHelper.php b/app/src/Discord/Command/Helper/UserHelper.php index eded453..9755a71 100644 --- a/app/src/Discord/Command/Helper/UserHelper.php +++ b/app/src/Discord/Command/Helper/UserHelper.php @@ -5,6 +5,8 @@ namespace Afup\Hermes\Discord\Command\Helper; use Afup\Hermes\Entity\User; +use Afup\Hermes\Repository\User\FindOrCreateUserDebug; +use Discord\Builders\MessageBuilder; use Discord\Parts\Interactions\Interaction; use Discord\Parts\User\User as DiscordUser; @@ -12,10 +14,13 @@ trait UserHelper { public function getUserForInteraction(Interaction $interaction): User { + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('AAAA')); /** @var DiscordUser $discordUser */ $discordUser = $interaction->user; + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('BBBB')); $userId = (int) $discordUser->id; + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('CCCC')); - return ($this->findOrCreateUser)($userId); + return ($this->findOrCreateUser)($userId, $interaction); } } diff --git a/app/src/Discord/Command/QuitTransportCommand.php b/app/src/Discord/Command/QuitTransportCommand.php index 72d2053..95f32f5 100644 --- a/app/src/Discord/Command/QuitTransportCommand.php +++ b/app/src/Discord/Command/QuitTransportCommand.php @@ -13,6 +13,7 @@ use Afup\Hermes\Repository\Event\FindEventByChannel; use Afup\Hermes\Repository\Traveler\GetTravelerListForUserAndEvent; use Afup\Hermes\Repository\User\FindOrCreateUser; +use Afup\Hermes\Repository\User\FindOrCreateUserDebug; use Discord\Builders\CommandBuilder; use Discord\Builders\Components\ActionRow; use Discord\Builders\Components\Button; @@ -59,8 +60,14 @@ public function callback(Discord $discord): void return; } - $user = $this->getUserForInteraction($interaction); + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('A')); + try { + $user = $this->getUserForInteraction($interaction); + } catch (\Throwable $e) { + $interaction->channel->sendMessage(MessageBuilder::new()->setContent($e->getMessage())); + } + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('B')); $travelers = ($this->getTravelerListForUserAndEvent)($user, $event, TravelerType::PASSENGER); if (0 === \count($travelers)) { $interaction->respondWithMessage(MessageBuilder::new()->setContent($this->translator->trans('discord.quit_transport.error.no_transport')), true); @@ -68,6 +75,7 @@ public function callback(Discord $discord): void return; } + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('C')); if (1 === \count($travelers)) { $this->validateRemoval($discord, $interaction, $travelers[0]); } else { @@ -89,6 +97,7 @@ public function callback(Discord $discord): void $message->addComponent($chooseAction); } + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('D')); $interaction->respondWithMessage($message, true); } }); @@ -96,6 +105,7 @@ public function callback(Discord $discord): void private function validateRemoval(Discord $discord, Interaction $interaction, Traveler $traveler): void { + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('E')); $embed = new Embed($discord); $embed->setTitle($this->translator->trans('discord.quit_transport.confirmation')); diff --git a/app/src/Repository/User/FindOrCreateUser.php b/app/src/Repository/User/FindOrCreateUser.php index 00d1616..f7f1c33 100644 --- a/app/src/Repository/User/FindOrCreateUser.php +++ b/app/src/Repository/User/FindOrCreateUser.php @@ -5,6 +5,8 @@ namespace Afup\Hermes\Repository\User; use Afup\Hermes\Entity\User; +use Discord\Builders\MessageBuilder; +use Discord\Parts\Interactions\Interaction; use Doctrine\ORM\EntityManagerInterface; final readonly class FindOrCreateUser @@ -14,17 +16,21 @@ public function __construct( ) { } - public function __invoke(int $userId): User + public function __invoke(int $userId, Interaction $interaction): User { + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('Début')); $userRepository = $this->entityManager->getRepository(User::class); + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('Repository')); /** @var User|null $user */ $user = $userRepository->findOneBy(['userId' => $userId]); + $interaction->channel->sendMessage(MessageBuilder::new()->setContent($user instanceof User ? 'OK' : 'KO')); if (null === $user) { $user = new User($userId); $this->entityManager->persist($user); $this->entityManager->flush(); } + $interaction->channel->sendMessage(MessageBuilder::new()->setContent('return')); return $user; }