<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use App\Job;
use App\Http\Resources\Admin\JobResource;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Validation\Rule;
use Validator;

/**
 * Class Filter WordController
 *
 * @package App\Http\Controllers
 */
class JobController extends Controller
{
    public function show($name = '')
    {
        $job = Job::where('site', $name)->first();
        if (!isset($job)) return response()->json(['errors' => 'Job is not valid'], 403);

        return new JobResource($job);
    }

    public function detect() {
        shell_exec("php /var/www/html/linkdata/artisan cron:magicwands > /dev/null 2>&1 &");

        return response()->json(null, 204);
    }

    public function update($id = 0, Request $request)
    {
        $validator = Validator::make($request->all(), ['status' => 'required']);
        if ($validator->fails()) return response()->json(['errors' => $validator->errors()], 403);
        $job = Job::where('id', $id)->first();
        if (!isset($job)) return response()->json(['errors' => 'Job is not valid'], 403);
        $params = $request->all();
        $job->update([
            'status'     => $params['status'],
            'updated_at' => date('Y-m-d H:i:s')
        ]);

        return response()->json(null, 204);
    }
}
