Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/cartforge.co/vendor/paypal/module-braintree-core/Setup/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/cartforge.co/vendor/paypal/module-braintree-core/Setup/InstallSchema.php
<?php

namespace PayPal\Braintree\Setup;

use Magento\Framework\DB\Adapter\AdapterInterface;
use Magento\Framework\DB\Ddl\Table;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Zend_Db_Exception;

class InstallSchema implements InstallSchemaInterface
{
    /**
     * @inheritdoc
     * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
     */
    public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
    {
        $installer = $setup;
        $installer->startSetup();

        if (!$installer->tableExists('braintree_transaction_details', 'sales')) {
            $this->braintreeTransactionDetails($installer);
        }
        if (!$installer->tableExists('braintree_credit_prices')) {
            $this->braintreeCreditPrices($installer);
        }

        $installer->endSetup();
    }

    /**
     * Create the braintree_transaction_details table
     *
     * @param SchemaSetupInterface $installer
     * @throws Zend_Db_Exception
     */
    private function braintreeTransactionDetails(SchemaSetupInterface $installer)
    {
        /**
         * Create table 'braintree_transaction_details'
         */
        $connection = $installer->getConnection('sales');
        $table = $connection
            ->newTable($installer->getTable('braintree_transaction_details'))
            ->addColumn(
                'entity_id',
                Table::TYPE_INTEGER,
                null,
                ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true],
                'Entity ID'
            )
            ->addColumn(
                'order_id',
                Table::TYPE_INTEGER,
                null,
                ['unsigned' => true, 'nullable' => false],
                'Order Id'
            )
            ->addColumn(
                'transaction_source',
                Table::TYPE_TEXT,
                12,
                ['nullable' => true],
                'Transaction Source'
            )
            ->addIndex(
                $installer->getIdxName('braintree_transaction_details', ['order_id']),
                ['order_id']
            )
            ->addForeignKey(
                $installer->getFkName('braintree_transaction_details', 'order_id', 'sales_order', 'entity_id'),
                'order_id',
                $installer->getTable('sales_order'),
                'entity_id',
                Table::ACTION_CASCADE
            )
            ->setComment('Braintree transaction details table');
        $connection->createTable($table);
    }

    /**
     * Create the braintree_credit_prices table
     *
     * @param SchemaSetupInterface $installer
     * @throws Zend_Db_Exception
     */
    private function braintreeCreditPrices(SchemaSetupInterface $installer)
    {
        $table = $installer->getConnection()
            ->newTable($installer->getTable('braintree_credit_prices'))
            ->addColumn(
                'id',
                Table::TYPE_INTEGER,
                null,
                ['identity' => true, 'unsigned' => true, 'nullable' => false, 'primary' => true],
                'Row ID'
            )
            ->addColumn(
                'product_id',
                Table::TYPE_INTEGER,
                null,
                ['unsigned' => true, 'nullable' => false],
                'Product Id'
            )
            ->addColumn(
                'term',
                Table::TYPE_INTEGER,
                4,
                ['nullable' => false],
                'Credit Term'
            )
            ->addColumn(
                'monthly_payment',
                Table::TYPE_DECIMAL,
                '12,2',
                ['nullable' => false],
                'Monthly Payment'
            )
            ->addColumn(
                'instalment_rate',
                Table::TYPE_DECIMAL,
                '12,2',
                ['nullable' => false],
                'Instalment Rate'
            )
            ->addColumn(
                'cost_of_purchase',
                Table::TYPE_DECIMAL,
                '12,2',
                ['nullable' => false],
                'Cost of purchase'
            )
            ->addColumn(
                'total_inc_interest',
                Table::TYPE_DECIMAL,
                '12,2',
                ['nullable' => false],
                'Total Inc Interest'
            )
            ->addIndex(
                $installer->getIdxName('braintree_credit_prices', ['product_id']),
                ['product_id']
            )
            ->addIndex(
                $installer->getIdxName(
                    'braintree_credit_prices',
                    ['product_id', 'term'],
                    AdapterInterface::INDEX_TYPE_UNIQUE
                ),
                ['product_id', 'term'],
                ['type' => AdapterInterface::INDEX_TYPE_UNIQUE]
            )
            ->setComment('Braintree credit rates');
        $installer->getConnection()->createTable($table);
    }
}

Spamworldpro Mini