<?php
namespace ModulesGarden\Servers\ZimbraEmail\App\Services\ConfigurableOptions\Strategy\Types;
use ModulesGarden\Servers\ZimbraEmail\App\Services\ConfigurableOptions\Helper\TypeConstans;
use ModulesGarden\Servers\ZimbraEmail\App\Services\ConfigurableOptions\Models\Option;
use ModulesGarden\Servers\ZimbraEmail\App\Services\ConfigurableOptions\Models\SubOption;

/**
 *
 * Created by PhpStorm.
 * User: Tomasz Bielecki ( tomasz.bi@modulesgarden.com )
 * Date: 30.09.19
 * Time: 12:19
 * Class BasedOptions
 */
class BasedOptions extends AbstractOptions
{
    /**
     * @return $this|mixed
     */
    public function initContent()
    {
        $option  = new Option('acc_add', 'Email Accounts Additional', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'Email Account'));
        $this->addOption($option);

        $option  = new Option('acc_new', 'Email Accounts Increase', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'Email Account'));
        $this->addOption($option);

        $option  = new Option('acc_size', 'Email Account Size', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'MB'));
        $this->addOption($option);

        $option  = new Option('alias_limit', 'Email Aliases Limit', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'Email Alias'));
        $this->addOption($option);

        $option  = new Option('dist_list_limit', 'Distribution Lists Limit', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'Distribution List'));
        $this->addOption($option);

        $option  = new Option('domain_alias_limit', 'Domain Aliases Limit', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'Domain Alias'));
        $this->addOption($option);

        $option  = new Option('domainAddSize', 'Domain Space Additional', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'GB'));
        $this->addOption($option);

        $option  = new Option('domainNewSize', 'Domain Space Increase', TypeConstans::QUANTITY);
        $option->addSubOption(new SubOption('1', 'GB'));
        $this->addOption($option);

        return $this;
    }
}