45 lines
2.5 KiB
PHP
45 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\App\Container\Registrars;
|
|
|
|
use MintyPHP\App\AppContainer;
|
|
use MintyPHP\App\Container\ContainerRegistrar;
|
|
use MintyPHP\Repository\Auth\ApiTokenRepository;
|
|
use MintyPHP\Repository\Auth\RememberTokenRepository;
|
|
use MintyPHP\Service\Access\RoleService;
|
|
use MintyPHP\Service\Audit\SystemAuditService;
|
|
use MintyPHP\Service\Branding\BrandingFaviconService;
|
|
use MintyPHP\Service\Branding\BrandingLogoService;
|
|
use MintyPHP\Service\Branding\BrandingServicesFactory;
|
|
use MintyPHP\Service\Org\DepartmentService;
|
|
use MintyPHP\Service\Settings\AdminSettingsService;
|
|
use MintyPHP\Service\Settings\SettingCacheService;
|
|
use MintyPHP\Service\Settings\SettingGateway;
|
|
use MintyPHP\Service\Settings\SettingService;
|
|
use MintyPHP\Service\Settings\SettingServicesFactory;
|
|
use MintyPHP\Service\Settings\ThemeConfigService;
|
|
use MintyPHP\Service\Tenant\TenantService;
|
|
|
|
final class SettingsRegistrar implements ContainerRegistrar
|
|
{
|
|
public function register(AppContainer $container): void
|
|
{
|
|
$container->set(SettingService::class, static fn (AppContainer $c): SettingService => $c->get(SettingServicesFactory::class)->createSettingService());
|
|
$container->set(SettingGateway::class, static fn (AppContainer $c): SettingGateway => $c->get(SettingServicesFactory::class)->createSettingGateway());
|
|
$container->set(SettingCacheService::class, static fn (AppContainer $c): SettingCacheService => $c->get(SettingServicesFactory::class)->createSettingCacheService());
|
|
$container->set(AdminSettingsService::class, static fn (AppContainer $c): AdminSettingsService => new AdminSettingsService(
|
|
$c->get(SettingGateway::class),
|
|
$c->get(SettingCacheService::class),
|
|
$c->get(TenantService::class),
|
|
$c->get(RoleService::class),
|
|
$c->get(DepartmentService::class),
|
|
$c->get(RememberTokenRepository::class),
|
|
$c->get(ApiTokenRepository::class),
|
|
$c->get(SystemAuditService::class)
|
|
));
|
|
$container->set(ThemeConfigService::class, static fn (AppContainer $c): ThemeConfigService => $c->get(SettingServicesFactory::class)->createThemeConfigService());
|
|
$container->set(BrandingLogoService::class, static fn (AppContainer $c): BrandingLogoService => $c->get(BrandingServicesFactory::class)->createBrandingLogoService());
|
|
$container->set(BrandingFaviconService::class, static fn (AppContainer $c): BrandingFaviconService => $c->get(BrandingServicesFactory::class)->createBrandingFaviconService());
|
|
}
|
|
}
|