<?php

namespace App\PackagesAdmin\Capsule\DataTables;

use App\Packages\Capsule\Models\CapsuleReport;
use Illuminate\Http\JsonResponse;
use Yajra\DataTables\DataTables;

/**
 * Class CapsuleReportDataTable
 * @package App\PackagesAdmin\Capsule\DataTables
 */
class CapsuleReportDataTable
{
    /**  @var DataTables */
    private $dataTablesInstance;

    /**
     * CapsuleReportDataTable constructor.
     * @param DataTables $dataTablesInstance
     */
    public function __construct(Datatables $dataTablesInstance)
    {
        $this->dataTablesInstance = $dataTablesInstance;
    }

    /**
     * @param $id
     * @return JsonResponse
     * @throws \Exception
     */
    public function getCapsuleDataTable($id)
    {
        $query = CapsuleReport::query()
            ->with('user')
            ->where('capsule_id', $id);

        return $this->dataTablesInstance
            ->eloquent($query)
            ->editColumn('reason', function ($report) {
                return trans('admin.capsule.report_reason.bad_content');
            })
            ->editColumn('content', function ($report) {
                return "";
            })
            ->make();
    }
}
