diff --git a/composer.json b/composer.json index bb71273..96595ad 100644 --- a/composer.json +++ b/composer.json @@ -43,20 +43,21 @@ } }, "require": { - "php": "~8.2.0 || ~8.3.0", + "php": "~8.2.0 || ~8.3.0 || ~8.4.0", "ext-sockets": "*", "clue/socket-raw": "^v1.6.0", "dotkernel/dot-cache": "^4.3", "dotkernel/dot-cli": "^3.9", "dotkernel/dot-data-fixtures": "^1.4.0", "dotkernel/dot-dependency-injection": "^1.2", - "dotkernel/dot-log": "4.0.4", + "dotkernel/dot-errorhandler": "4.2.1", "dotkernel/dot-mail": "^5.3.0", - "dotkernel/dot-twigrenderer": "3.6.0", + "laminas/laminas-authentication": "2.18.0", "laminas/laminas-component-installer": "^3.5", "laminas/laminas-config-aggregator": "^1.18", "mezzio/mezzio": "^3.20", "mezzio/mezzio-authentication-oauth2": "^2.11", + "mezzio/mezzio-twigrenderer": "^2.17.0", "netglue/laminas-messenger": "^2.3.0", "ramsey/uuid": "^4.5.0", "ramsey/uuid-doctrine": "^2.1.0", diff --git a/config/autoload/templates.global.php b/config/autoload/templates.global.php index 6b1f459..9ab96f2 100644 --- a/config/autoload/templates.global.php +++ b/config/autoload/templates.global.php @@ -2,9 +2,6 @@ declare(strict_types=1); -use Dot\Twig\Extension\DateExtension; -use Dot\Twig\Extension\TranslationExtension; -use Laminas\ServiceManager\Factory\InvokableFactory; use Mezzio\Template\TemplateRendererInterface; use Mezzio\Twig\TwigEnvironmentFactory; use Mezzio\Twig\TwigRendererFactory; @@ -13,10 +10,8 @@ return [ 'dependencies' => [ 'factories' => [ - DateExtension::class => InvokableFactory::class, Environment::class => TwigEnvironmentFactory::class, TemplateRendererInterface::class => TwigRendererFactory::class, - TranslationExtension::class => InvokableFactory::class, ], ], 'debug' => false, @@ -29,10 +24,7 @@ 'auto_reload' => true, 'autoescape' => 'html', 'cache_dir' => 'data/cache/twig', - 'extensions' => [ - DateExtension::class, - TranslationExtension::class, - ], + 'extensions' => [], 'globals' => [ 'appName' => $app['name'] ?? '', ], diff --git a/config/config.php b/config/config.php index 90cf75b..d4d42a9 100644 --- a/config/config.php +++ b/config/config.php @@ -24,13 +24,13 @@ Queue\Swoole\ConfigProvider::class, // Dotkernel packages - Dot\Log\ConfigProvider::class, + Dot\Cache\ConfigProvider::class, Dot\Cli\ConfigProvider::class, Dot\DataFixtures\ConfigProvider::class, Dot\DependencyInjection\ConfigProvider::class, + Dot\ErrorHandler\ConfigProvider::class, + Dot\Log\ConfigProvider::class, Dot\Mail\ConfigProvider::class, - Dot\Twig\ConfigProvider::class, - Dot\Cache\ConfigProvider::class, // Core modules Core\Admin\ConfigProvider::class, diff --git a/src/App/Message/MessageHandler.php b/src/App/Message/MessageHandler.php index f96f8d9..293e508 100644 --- a/src/App/Message/MessageHandler.php +++ b/src/App/Message/MessageHandler.php @@ -46,22 +46,16 @@ public function __invoke(Message $message): void try { $this->perform(); } catch (Exception $exception) { - $this->logger->err("message: " . $exception->getMessage()); + $this->logger->error("message: " . $exception->getMessage()); } } } - /** - * @throws MailException - */ public function perform(): void { $this->sendWelcomeMail(); } - /** - * @throws MailException - */ public function sendWelcomeMail(): bool { $user = $this->userRepository->find($this->args['userUuid']); diff --git a/src/Core/src/App/src/InputFilter/AbstractInputFilter.php b/src/Core/src/App/src/InputFilter/AbstractInputFilter.php deleted file mode 100644 index 23d7fcc..0000000 --- a/src/Core/src/App/src/InputFilter/AbstractInputFilter.php +++ /dev/null @@ -1,15 +0,0 @@ - - */ -abstract class AbstractInputFilter extends InputFilter -{ -} diff --git a/src/Core/src/App/src/Service/MailService.php b/src/Core/src/App/src/Service/MailService.php index 658ddc6..cc15474 100644 --- a/src/Core/src/App/src/Service/MailService.php +++ b/src/Core/src/App/src/Service/MailService.php @@ -7,7 +7,7 @@ use Core\App\Message; use Core\User\Entity\User; use Dot\DependencyInjection\Attribute\Inject; -use Dot\Log\LoggerInterface; +use Dot\Log\Logger; use Dot\Mail\Exception\MailException; use Symfony\Component\Mailer\Exception\TransportExceptionInterface; @@ -25,7 +25,7 @@ class MailService )] public function __construct( protected \Dot\Mail\Service\MailService $mailService, - protected LoggerInterface $logger, + protected Logger $logger, private readonly array $config, ) { } @@ -46,7 +46,7 @@ public function sendActivationMail(User $user, string $body): bool try { return $this->mailService->send()->isValid(); } catch (MailException | TransportExceptionInterface $exception) { - $this->logger->err($exception->getMessage()); + $this->logger->error($exception->getMessage()); throw new MailException(sprintf(Message::MAIL_NOT_SENT_TO, $user->getEmail())); } } @@ -65,7 +65,7 @@ public function sendResetPasswordRequestedMail(User $user, string $body): bool try { return $this->mailService->send()->isValid(); } catch (MailException | TransportExceptionInterface $exception) { - $this->logger->err($exception->getMessage()); + $this->logger->error($exception->getMessage()); throw new MailException(sprintf(Message::MAIL_NOT_SENT_TO, $user->getEmail())); } } @@ -84,7 +84,7 @@ public function sendResetPasswordCompletedMail(User $user, string $body): bool try { return $this->mailService->send()->isValid(); } catch (MailException | TransportExceptionInterface $exception) { - $this->logger->err($exception->getMessage()); + $this->logger->error($exception->getMessage()); throw new MailException(sprintf(Message::MAIL_NOT_SENT_TO, $user->getEmail())); } } @@ -103,7 +103,7 @@ public function sendRecoverIdentityMail(User $user, string $body): bool try { return $this->mailService->send()->isValid(); } catch (MailException | TransportExceptionInterface $exception) { - $this->logger->err($exception->getMessage()); + $this->logger->error($exception->getMessage()); throw new MailException(sprintf(Message::MAIL_NOT_SENT_TO, $user->getEmail())); } } @@ -120,7 +120,7 @@ public function sendWelcomeMail(User $user, string $body): bool try { return $this->mailService->send()->isValid(); } catch (MailException | TransportExceptionInterface $exception) { - $this->logger->err($exception->getMessage()); + $this->logger->error($exception->getMessage()); throw new MailException(sprintf(Message::MAIL_NOT_SENT_TO, $user->getEmail())); } } diff --git a/test/App/Message/ExampleMessageHandlerTest.php b/test/App/Message/ExampleMessageHandlerTest.php index f956ab9..7d0d175 100644 --- a/test/App/Message/ExampleMessageHandlerTest.php +++ b/test/App/Message/ExampleMessageHandlerTest.php @@ -41,8 +41,8 @@ public function setUp(): void $this->logger = new Logger([ 'writers' => [ 'FileWriter' => [ - 'name' => 'null', - 'priority' => Logger::ALERT, + 'name' => 'null', + 'level' => Logger::ALERT, ], ], ]); diff --git a/test/Swoole/Delegators/TCPServerDelegatorTest.php b/test/Swoole/Delegators/TCPServerDelegatorTest.php index 6ff7953..8443e55 100644 --- a/test/Swoole/Delegators/TCPServerDelegatorTest.php +++ b/test/Swoole/Delegators/TCPServerDelegatorTest.php @@ -4,10 +4,11 @@ namespace QueueTest\Swoole\Delegators; -use Dot\Log\LoggerInterface; +use Dot\Log\Logger; use PHPUnit\Framework\Attributes\RunInSeparateProcess; use PHPUnit\Framework\MockObject\Exception; use PHPUnit\Framework\TestCase; +use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Queue\Swoole\Delegators\TCPServerDelegator; use Swoole\Server; @@ -16,14 +17,32 @@ class TCPServerDelegatorTest extends TestCase { + protected Logger $logger; + + /** + * @throws ContainerExceptionInterface + */ + public function setUp(): void + { + parent::setUp(); + + $this->logger = new Logger([ + 'writers' => [ + 'FileWriter' => [ + 'name' => 'null', + 'level' => Logger::ALERT, + ], + ], + ]); + } + /** * @throws Exception */ #[RunInSeparateProcess] public function testInvokeRegistersAllCallbacks(): void { - $logger = $this->createMock(LoggerInterface::class); - $bus = $this->createMock(MessageBusInterface::class); + $bus = $this->createMock(MessageBusInterface::class); $server = new DummySwooleServer(); $callback = fn (): Server => $server; @@ -31,7 +50,7 @@ public function testInvokeRegistersAllCallbacks(): void $container = $this->createMock(ContainerInterface::class); $container->method('get')->willReturnMap([ [MessageBusInterface::class, $bus], - ['dot-log.queue-log', $logger], + ['dot-log.queue-log', $this->logger], ]); $delegator = new TCPServerDelegator(); @@ -61,21 +80,13 @@ public function testReceiveCallbackDispatchesMessagesAndLogs(): void return new Envelope($message); }); - $logger = $this->createMock(LoggerInterface::class); - $logger->expects($this->once()) - ->method('notice') - ->with( - $this->equalTo("Request received on receive"), - $this->arrayHasKey('fd') - ); - $server = new DummySwooleServer(); $callback = fn (): Server => $server; $container = $this->createMock(ContainerInterface::class); $container->method('get')->willReturnMap([ [MessageBusInterface::class, $bus], - ['dot-log.queue-log', $logger], + ['dot-log.queue-log', $this->logger], ]); $delegator = new TCPServerDelegator();