OtaTableController.php 1.02 KB
<?php

namespace App\Http\Controllers\Backend\OTA;

use App\Http\Requests\Backend\Ota\Backend\ManageOtaVersionRequest;
use App\Repositories\Backend\Ota\OtaVersionRepository;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Yajra\DataTables\Facades\DataTables;

class OtaTableController extends Controller
{
    /**
     * @var OtaVersionRepository
     */
    protected $otaVersions;

    /**
     * OtaController constructor.
     * @param OtaVersionRepository $otaVersions
     */
    public function __construct(OtaVersionRepository $otaVersions)
    {
        $this->otaVersions = $otaVersions;
    }

    /**
     * @param ManageOtaVersionRequest $request
     * @return mixed
     */
    public function __invoke(ManageOtaVersionRequest $request)
    {
        return DataTables::of($this->otaVersions->getForDataTable())
            ->addColumn('actions', function ($version) {
                return $version->action_buttons;
            })
            ->rawColumns(['actions'])
            ->make(true);
    }
}