42 lines
1.9 KiB
PHP
42 lines
1.9 KiB
PHP
<?php
|
|
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),
|
|
$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
|
|
);
|
|
}
|
|
];
|