<?php

namespace App\PackagesAdmin\Support\Controllers;

use App\Http\Controllers\Controller;
use App\Packages\Core\Models\Report;
use App\PackagesAdmin\Support\DataTables\SupportDataTable;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;

/**
 * Class SupportController
 * @package App\PackagesAdmin\Support\Controllers
 */
class SupportController extends Controller
{

    /**
     * @param Request $request
     * @param SupportDataTable $dataTable
     * @return \Illuminate\Contracts\View\Factory|JsonResponse|\Illuminate\View\View
     * @throws \Exception
     */
    public function index(Request $request, SupportDataTable $dataTable)
    {
        if ($request->ajax()) {
            return $dataTable->getDataTable();
        }

        return view('admin.support.list');
    }

    /**
     * @param $id
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function show($id)
    {
        $report = Report::find($id);

        return view('admin.support.show', [
            'report' => $report
        ]);
    }

    /**
     * @param $id
     * @return JsonResponse
     */
    public function toggleStatus($id)
    {
        $report = Report::find($id);
        $report->status = ($report->status)?0:1;
        $report->save();

        return response()->json(['status' => 'success']);
    }

    /**
     * @param Request $request
     * @param $id
     * @return JsonResponse|\Illuminate\Http\RedirectResponse
     */
    public function destroy(Request $request, $id)
    {
        Report::destroy($id);

        if ($request->ajax()) return response()->json(['status' => 'success']);
        return back()->with('status', trans('admin.support.action.delete'));
    }

}