<?php
declare(strict_types=1);
namespace Slivki\Services\PartnerGiftOffer;
use Slivki\Enum\SwitcherFeatures;
use Slivki\Repository\PartnerGiftOffer\PartnerGiftOfferRepositoryInterface;
use Slivki\Services\Switcher\ServerFeatureStateChecker;
use function count;
final class PartnerGiftOfferService
{
private PartnerGiftOfferRepositoryInterface $partnerGiftOfferRepository;
private ServerFeatureStateChecker $serverFeatureStateChecker;
public function __construct(
PartnerGiftOfferRepositoryInterface $partnerGiftOfferRepository,
ServerFeatureStateChecker $serverFeatureStateChecker
) {
$this->partnerGiftOfferRepository = $partnerGiftOfferRepository;
$this->serverFeatureStateChecker = $serverFeatureStateChecker;
}
public function isPartnerGiftOfferAvailable(): bool
{
return $this->serverFeatureStateChecker->isServerFeatureEnabled(SwitcherFeatures::PARTNER_GIFT_OFFERS())
&& count($this->partnerGiftOfferRepository->getAllActive()) > 0;
}
}