<?php

namespace App\DTO\Settings;

final class StoreDTO
{
    private bool $enableStore;
    private bool $featureCoupons;
    private bool $featureVouchers;
    private string $ocDefaultCurrency;
    private bool $ocConfigTax;
    private int $ocStoreId;

    public function __construct(
        bool $enableStore,
        bool $featureCoupons,
        bool $featureVouchers,
        string $ocDefaultCurrency,
        bool $ocConfigTax,
        int $ocStoreId
    ) {
        $this->enableStore = $enableStore;
        $this->featureCoupons = $featureCoupons;
        $this->featureVouchers = $featureVouchers;
        $this->ocDefaultCurrency = $ocDefaultCurrency;
        $this->ocConfigTax = $ocConfigTax;
        $this->ocStoreId = $ocStoreId;
    }

    public function isEnableStore(): bool
    {
        return $this->enableStore;
    }

    public function isFeatureCoupons(): bool
    {
        return $this->featureCoupons;
    }

    public function isFeatureVouchers(): bool
    {
        return $this->featureVouchers;
    }

    public function getOcDefaultCurrency(): string
    {
        return $this->ocDefaultCurrency;
    }

    public function isOcConfigTax(): bool
    {
        return $this->ocConfigTax;
    }

    public function getOcStoreId(): int
    {
        return $this->ocStoreId;
    }

    public function toArray(): array
    {
        return [
            'enable_store' => $this->enableStore,
            'feature_coupons' => $this->featureCoupons,
            'feature_vouchers' => $this->featureVouchers,
            'oc_default_currency' => $this->ocDefaultCurrency,
            'oc_config_tax' => $this->ocConfigTax,
            'oc_store_id' => $this->ocStoreId,
        ];
    }
}
