/home/mip/mip/public/img/credit/datatables/Transactions.tar
TransactionManager.php000064400000001251151520661000011030 0ustar00<?php

namespace Maatwebsite\Excel\Transactions;

use Illuminate\Support\Facades\DB;
use Illuminate\Support\Manager;

class TransactionManager extends Manager
{
    /**
     * @return string
     */
    public function getDefaultDriver()
    {
        return config('excel.transactions.handler');
    }

    /**
     * @return NullTransactionHandler
     */
    public function createNullDriver()
    {
        return new NullTransactionHandler();
    }

    /**
     * @return DbTransactionHandler
     */
    public function createDbDriver()
    {
        return new DbTransactionHandler(
            DB::connection(config('excel.transactions.db.connection'))
        );
    }
}
NullTransactionHandler.php000064400000000422151520661000011665 0ustar00<?php

namespace Maatwebsite\Excel\Transactions;

class NullTransactionHandler implements TransactionHandler
{
    /**
     * @param  callable  $callback
     * @return mixed
     */
    public function __invoke(callable $callback)
    {
        return $callback();
    }
}
TransactionHandler.php000064400000000315151520661000011033 0ustar00<?php

namespace Maatwebsite\Excel\Transactions;

interface TransactionHandler
{
    /**
     * @param  callable  $callback
     * @return mixed
     */
    public function __invoke(callable $callback);
}
DbTransactionHandler.php000064400000001176151520661000011307 0ustar00<?php

namespace Maatwebsite\Excel\Transactions;

use Illuminate\Database\ConnectionInterface;

class DbTransactionHandler implements TransactionHandler
{
    /**
     * @var ConnectionInterface
     */
    private $connection;

    /**
     * @param  ConnectionInterface  $connection
     */
    public function __construct(ConnectionInterface $connection)
    {
        $this->connection = $connection;
    }

    /**
     * @param  callable  $callback
     * @return mixed
     *
     * @throws \Throwable
     */
    public function __invoke(callable $callback)
    {
        return $this->connection->transaction($callback);
    }
}