Full implemantation

This commit is contained in:
2022-11-28 22:56:21 -03:00
parent 30ef4c6a35
commit c53eb4c7a6
55 changed files with 1505 additions and 1011 deletions

View File

@ -1,2 +1,2 @@
<?php
$app->add($app->getContainer()->get(\ProVM\Common\Middleware\CORS::class));
$app->add($app->getContainer()->get(ProVM\Common\Middleware\CORS::class));

View File

@ -0,0 +1,2 @@
<?php
$app->add($app->getContainer()->get(ProVM\Common\Middleware\CustomExceptions::class));

View File

@ -1,2 +1,2 @@
<?php
$app->add($app->getContainer()->get(\ProVM\Common\Middleware\Auth::class));
$app->add($app->getContainer()->get(ProVM\Common\Middleware\Auth::class));

View File

@ -1,2 +1,2 @@
<?php
$app->add($app->getContainer()->get(\Zeuxisoo\Whoops\Slim\WhoopsMiddleware::class));
$app->add($app->getContainer()->get(Zeuxisoo\Whoops\Slim\WhoopsMiddleware::class));

View File

@ -2,40 +2,21 @@
use Psr\Container\ContainerInterface;
return [
\ProVM\Common\Service\Mailboxes::class => function(ContainerInterface $container) {
return (new \ProVM\Common\Service\Mailboxes(
$container->get(\Ddeboer\Imap\ConnectionInterface::class),
$container->get(\ProVM\Common\Service\Attachments::class),
$container->get('emails')->username
))->setLogger($container->get(\Psr\Log\LoggerInterface::class));
},
\ProVM\Common\Service\Emails::class => function(ContainerInterface $container) {
return (new \ProVM\Common\Service\Emails(
$container->get(\ProVM\Common\Service\Mailboxes::class),
$container->get(\ProVM\Emails\Repository\Message::class),
$container->get('attachments_folder')
))->setLogger($container->get(\Psr\Log\LoggerInterface::class));
},
\ProVM\Common\Service\Attachments::class => function(ContainerInterface $container) {
return new \ProVM\Common\Service\Attachments(
$container->get(\ProVM\Common\Service\Decrypt::class),
$container->get(\ProVM\Emails\Repository\Attachment::class),
$container->get('attachments_folder')
);
},
\ProVM\Common\Service\Decrypt::class => function(ContainerInterface $container) {
return new \ProVM\Common\Service\Decrypt(
$container->get(\Psr\Log\LoggerInterface::class),
ProVM\Common\Service\Decrypt::class => function(ContainerInterface $container) {
return new ProVM\Common\Service\Decrypt(
$container->get(Psr\Log\LoggerInterface::class),
$container->get('base_command'),
$container->get('passwords')
);
},
\ProVM\Common\Service\Install::class => function(ContainerInterface $container) {
$database = $container->get('database');
$pdo = new PDO("mysql:host={$database->host};dbname={$database->name}", $database->username, $database->password);
return new \ProVM\Common\Service\Install(
$container->get(\Psr\Log\LoggerInterface::class),
$pdo
ProVM\Common\Service\Attachments::class => function(ContainerInterface $container) {
return new ProVM\Common\Service\Attachments(
$container->get(ProVM\Common\Service\Messages::class),
$container->get(ProVM\Emails\Repository\Attachment::class),
$container->get(ProVM\Common\Service\Remote\Attachments::class),
$container->get(ProVM\Common\Service\Decrypt::class),
$container->get('attachments_folder'),
$container->get(Psr\Log\LoggerInterface::class)
);
}
];

View File

@ -0,0 +1,11 @@
<?php
use Psr\Container\ContainerInterface;
return [
ProVM\Common\Middleware\CustomExceptions::class => function(ContainerInterface $container) {
return new ProVM\Common\Middleware\CustomExceptions(
$container->get(Nyholm\Psr7\Factory\Psr17Factory::class),
$container->get(Psr\Log\LoggerInterface::class)
);
}
];