firstOrFail(); if ($seed->race) { $seed->makeHidden('seed'); } if ($seed->mystery) { $seed->makeHidden('settings'); } return $seed->toJson(); } public function generate(Request $request) { $validatedData = $request->validate([ 'preset' => 'string|required', 'race' => 'boolean', ]); $presetName = $validatedData['preset']; $race = $validatedData['race'] ?? false; $preset = AosrPresetCommand::presetByName($presetName); if (!$preset) { abort(404); } $seed = AosSeed::generateSurge($presetName, $preset['settings'], $race); Artisan::call('aos:generate '.intval($seed->id)); $seed = $this->censor($seed->fresh()); return $seed->toJson(); } public function retry($hash) { $seed = AosSeed::where('hash', '=', $hash)->firstOrFail(); if ($seed->status == 'error') { $seed->status = 'pending'; $seed->save(); Artisan::call('aos:generate '.intval($seed->id)); } $seed = $this->censor($seed->fresh()); return $seed->toJson(); } private function censor(AosSeed $seed) { if ($seed->race) { $seed->makeHidden('seed'); } if ($seed->mystery) { $seed->makeHidden('settings'); } return $seed; } }