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

    public function getUserInactivityDeactivateDays(): int
    {
        return $this->settingsUserLifecycleGateway->getUserInactivityDeactivateDays();
    }

    public function getUserInactivityDeleteDays(): int
    {
        return $this->settingsUserLifecycleGateway->getUserInactivityDeleteDays();
    }
}
