<?php

namespace Autogedal\Banners\Setup;

use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\Setup\UpgradeSchemaInterface;
use Magento\Framework\DB\Ddl\Table;

/**
 * @codeCoverageIgnore
 */
class UpgradeSchema implements UpgradeSchemaInterface
{
    /**
     * {@inheritdoc}
     */
    public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
    {
        $installer = $setup;
        $installer->startSetup();

        if (version_compare($context->getVersion(), '0.0.4') < 0) {

            $tableName = $setup->getTable('creadiv_banners_banner');

            $installer->getConnection()->addColumn(
                $tableName,
                'url_key',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'URL Key'
                ]
            );
            $installer->getConnection()->addColumn(
                $tableName,
                'content',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => '2M',
                    'comment' => 'Testimonial Content'
                ]
            );
            $installer->getConnection()->addColumn(
                $tableName,
                'image',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => '2M',
                    'comment' => 'Clients Image'
                ]
            );
            $installer->getConnection()->addColumn(
                $tableName,
                'info',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => '2M',
                    'comment' => 'Clients Info'
                ]
            );
        }

        if (version_compare($context->getVersion(), '0.0.5') < 0) {

            $tableName = $setup->getTable('creadiv_banners_banner');

            $installer->getConnection()->addColumn(
                $tableName,
                'position',
                [
                    'type' => Table::TYPE_INTEGER,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'Banner Position'
                ]
            );
            $installer->getConnection()->addColumn(
                $tableName,
                'order',
                [
                    'type' => Table::TYPE_INTEGER,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'Sort Order'
                ]
            );
        }

        if (version_compare($context->getVersion(), '0.0.6') < 0) {
            $tableName = $setup->getTable('creadiv_banners_banner');

            $installer->getConnection()->addColumn(
                $tableName,
                'image_mobile',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'Mobile Image'
                ]
            );
        }

        if (version_compare($context->getVersion(), '0.0.7') < 0) {
            $tableName = $setup->getTable('creadiv_banners_banner');

            $installer->getConnection()->addColumn(
                $tableName,
                'banner_link_location',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'Link Location'
                ]
            );
            $installer->getConnection()->addColumn(
                $tableName,
                'banner_link_anchor',
                [
                    'type' => Table::TYPE_TEXT,
                    'length' => 100,
                    'nullable' => true,
                    'default' => null,
                    'comment' => 'Link Anchor'
                ]
            );
        }
        $installer->endSetup();
    }
}