66 lines
1.7 KiB
PHP
66 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace MintyPHP\Service\User;
|
|
|
|
use MintyPHP\Service\Settings\SettingsAppGateway;
|
|
use MintyPHP\Service\Settings\SettingsDefaultsGateway;
|
|
use MintyPHP\Service\Settings\SettingsUserLifecycleGateway;
|
|
|
|
class UserSettingsGateway
|
|
{
|
|
public function __construct(
|
|
private readonly SettingsDefaultsGateway $settingsDefaultsGateway,
|
|
private readonly SettingsAppGateway $settingsAppGateway,
|
|
private readonly SettingsUserLifecycleGateway $settingsUserLifecycleGateway
|
|
) {
|
|
}
|
|
|
|
public function getDefaultTenantId(): ?int
|
|
{
|
|
return $this->settingsDefaultsGateway->getDefaultTenantId();
|
|
}
|
|
|
|
public function getDefaultRoleId(): ?int
|
|
{
|
|
return $this->settingsDefaultsGateway->getDefaultRoleId();
|
|
}
|
|
|
|
public function getDefaultDepartmentId(): ?int
|
|
{
|
|
return $this->settingsDefaultsGateway->getDefaultDepartmentId();
|
|
}
|
|
|
|
public function getAppTheme(): ?string
|
|
{
|
|
return $this->settingsAppGateway->getAppTheme();
|
|
}
|
|
|
|
/**
|
|
* @return array<string, string>
|
|
*/
|
|
public function appThemes(): array
|
|
{
|
|
return $this->settingsAppGateway->listThemes();
|
|
}
|
|
|
|
public function defaultTheme(): string
|
|
{
|
|
return $this->settingsAppGateway->resolveDefaultTheme();
|
|
}
|
|
|
|
public function normalizeTheme(?string $theme): string
|
|
{
|
|
return $this->settingsAppGateway->normalizeTheme($theme);
|
|
}
|
|
|
|
public function getUserInactivityDeactivateDays(): int
|
|
{
|
|
return $this->settingsUserLifecycleGateway->getUserInactivityDeactivateDays();
|
|
}
|
|
|
|
public function getUserInactivityDeleteDays(): int
|
|
{
|
|
return $this->settingsUserLifecycleGateway->getUserInactivityDeleteDays();
|
|
}
|
|
}
|