agent foundation
This commit is contained in:
@@ -5,13 +5,17 @@ namespace MintyPHP\Service\User;
|
||||
use MintyPHP\Service\Access\AccessServicesFactory;
|
||||
use MintyPHP\Service\Access\PermissionGateway;
|
||||
use MintyPHP\Service\Directory\DirectoryRepositoryFactory;
|
||||
use MintyPHP\Service\Settings\SettingGateway;
|
||||
use MintyPHP\Service\Settings\SettingServicesFactory;
|
||||
use MintyPHP\Service\Settings\SettingsAppGateway;
|
||||
use MintyPHP\Service\Settings\SettingsDefaultsGateway;
|
||||
use MintyPHP\Service\Settings\SettingsUserLifecycleGateway;
|
||||
use MintyPHP\Service\Tenant\TenantScopeService;
|
||||
|
||||
class UserGatewayFactory
|
||||
{
|
||||
private ?SettingGateway $settingGateway = null;
|
||||
private ?SettingsDefaultsGateway $settingsDefaultsGateway = null;
|
||||
private ?SettingsAppGateway $settingsAppGateway = null;
|
||||
private ?SettingsUserLifecycleGateway $settingsUserLifecycleGateway = null;
|
||||
private ?PermissionGateway $permissionGateway = null;
|
||||
private ?UserSettingsGateway $userSettingsGateway = null;
|
||||
private ?UserScopeGateway $userScopeGateway = null;
|
||||
@@ -28,7 +32,11 @@ class UserGatewayFactory
|
||||
|
||||
public function createUserSettingsGateway(): UserSettingsGateway
|
||||
{
|
||||
return $this->userSettingsGateway ??= new UserSettingsGateway($this->createSettingGateway());
|
||||
return $this->userSettingsGateway ??= new UserSettingsGateway(
|
||||
$this->createSettingsDefaultsGateway(),
|
||||
$this->createSettingsAppGateway(),
|
||||
$this->createSettingsUserLifecycleGateway()
|
||||
);
|
||||
}
|
||||
|
||||
public function createUserScopeGateway(): UserScopeGateway
|
||||
@@ -55,8 +63,18 @@ class UserGatewayFactory
|
||||
return $this->permissionGateway ??= $this->accessServicesFactory->createPermissionGateway();
|
||||
}
|
||||
|
||||
private function createSettingGateway(): SettingGateway
|
||||
private function createSettingsDefaultsGateway(): SettingsDefaultsGateway
|
||||
{
|
||||
return $this->settingGateway ??= $this->settingServicesFactory->createSettingGateway();
|
||||
return $this->settingsDefaultsGateway ??= $this->settingServicesFactory->createSettingsDefaultsGateway();
|
||||
}
|
||||
|
||||
private function createSettingsAppGateway(): SettingsAppGateway
|
||||
{
|
||||
return $this->settingsAppGateway ??= $this->settingServicesFactory->createSettingsAppGateway();
|
||||
}
|
||||
|
||||
private function createSettingsUserLifecycleGateway(): SettingsUserLifecycleGateway
|
||||
{
|
||||
return $this->settingsUserLifecycleGateway ??= $this->settingServicesFactory->createSettingsUserLifecycleGateway();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user