use Illuminate\Http\Request; use Illuminate\Contracts\Filesystem\FileNotFoundException; use App\Util; // Api Start2 $app->post('/start2/upload', function (Request $request) { $rules = ['password' => 'required|alpha_dash|between:5,50', 'data' => 'required|json']; $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Util::errorResponse('data invalid'); } $inputs = $request->all(); if (env('ADMIN_PASSWORD', 'admin') !== $inputs['password']) { return Util::errorResponse('incorrect password'); } $start2 = json_decode($inputs['data'], true); if (Util::exists('api_start2.json')) { $data = Util::load('api_start2.json'); if (Util::compareJson($data, $start2)) { return Util::errorResponse('duplicate start2 data'); } } Util::dump('api_start2.json', $start2); $datetime = new DateTime(); $today = $datetime->format('YmdH'); Util::dump("start2/{$today}.json", $start2); Queue::push(function ($job) { Artisan::call('parse:start2'); $job->delete(); }); return Util::successResponse(); });