chore: Relocate classes

Signed-off-by: Rubén D <nuxsmin@syspass.org>
This commit is contained in:
Rubén D
2024-04-21 21:09:32 +02:00
parent 5e1f4be413
commit cda692d4de
285 changed files with 1037 additions and 1550 deletions

View File

@@ -44,65 +44,46 @@ use function DI\factory;
*/
final class DomainDefinitions
{
private const DOMAINS = [
'Account',
'Api',
'Auth',
'Category',
'Client',
'Config',
'Crypt',
'CustomField',
'Export',
'Import',
'Install',
'ItemPreset',
'Notification',
'Plugins',
'Security',
'Tag',
'User',
];
private const PORTS = [
'Service' => 'SP\Domain\%s\Services',
'Repository' => 'SP\Infrastructure\%s\Repositories',
'Adapter' => 'SP\Domain\%s\Adapters'
];
public static function getDefinitions(): array
{
$sources = [];
foreach (self::DOMAINS as $domain) {
foreach (self::PORTS as $suffix => $target) {
$key = sprintf('SP\Domain\%s\Ports\*%s', $domain, $suffix);
$sources[$key] = autowire(sprintf($target, $domain));
}
}
return [
'SP\Domain\Account\Ports\*ServiceInterface' => autowire('SP\Domain\Account\Services\*Service'),
'SP\Domain\Account\Adapters\*AdapterInterface' => autowire('SP\Domain\Account\Adapters\*Adapter'),
'SP\Domain\Account\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Account\Repositories\*Repository'
),
...$sources,
AccountSearchDataBuilder::class => autowire(AccountSearchData::class),
'SP\Domain\Category\Ports\*ServiceInterface' => autowire('SP\Domain\Category\Services\*Service'),
'SP\Domain\Category\Adapters\*AdapterInterface' => autowire('SP\Domain\Category\Out\*Adapter'),
'SP\Domain\Category\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Category\Repositories\*Repository'
),
'SP\Domain\Client\Ports\*ServiceInterface' => autowire('SP\Domain\Client\Services\*Service'),
'SP\Domain\Client\Adapters\*AdapterInterface' => autowire('SP\Domain\Client\Out\*Adapter'),
'SP\Domain\Client\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Client\Repositories\*Repository'
),
'SP\Domain\Tag\Ports\*ServiceInterface' => autowire('SP\Domain\Tag\Services\*Service'),
'SP\Domain\Tag\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Tag\Repositories\*Repository'
),
'SP\Domain\User\Ports\*ServiceInterface' => autowire('SP\Domain\User\Services\*Service'),
'SP\Domain\User\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\User\Repositories\*Repository'
),
'SP\Domain\Auth\Ports\*ServiceInterface' => autowire('SP\Domain\Auth\Services\*Service'),
'SP\Domain\Auth\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Auth\Repositories\*Repository'
),
'SP\Domain\CustomField\Ports\*ServiceInterface' => autowire('SP\Domain\CustomField\Services\*Service'),
'SP\Domain\CustomField\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\CustomField\Repositories\*Repository'
),
'SP\Domain\Export\Ports\*ServiceInterface' => autowire('SP\Domain\Export\Services\*Service'),
'SP\Domain\Import\Ports\*ServiceInterface' => autowire('SP\Domain\Import\Services\*Service'),
'SP\Domain\Install\Ports\*ServiceInterface' => autowire('SP\Domain\Install\Services\*Service'),
'SP\Domain\Crypt\Ports\*ServiceInterface' => autowire('SP\Domain\Crypt\Services\*Service'),
'SP\Domain\Plugin\Ports\*ServiceInterface' => autowire('SP\Domain\Plugin\Services\*Service'),
'SP\Domain\ItemPreset\Ports\*ServiceInterface' => autowire('SP\Domain\ItemPreset\Services\*Service'),
'SP\Domain\ItemPreset\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\ItemPreset\Repositories\*Repository'
),
'SP\Domain\Notification\Ports\*ServiceInterface' => autowire('SP\Domain\Notification\Services\*Service'),
'SP\Domain\Notification\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Notification\Repositories\*Repository'
),
'SP\Domain\Security\Ports\*ServiceInterface' => autowire('SP\Domain\Security\Services\*Service'),
'SP\Domain\Security\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Security\Repositories\*Repository'
),
'SP\Domain\Config\Ports\*ServiceInterface' => autowire('SP\Domain\Config\Services\*Service'),
'SP\Domain\Config\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Config\Repositories\*Repository'
),
'SP\Domain\Plugin\Ports\*RepositoryInterface' => autowire(
'SP\Infrastructure\Plugin\Repositories\*Repository'
),
SecureSessionService::class => factory(
static function (ContainerInterface $c) {
$fileCache = new FileCache(