agent foundation

This commit is contained in:
2026-03-06 00:44:52 +01:00
parent 9819cba733
commit 9a08f96c11
199 changed files with 8522 additions and 1880 deletions

View File

@@ -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();
}
}