+ 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($preset['value'], $preset['settings'], $race);
+ Artisan::call('aos:generate '.intval($seed->id));
+
+ $seed = $this->censor($seed->fresh());
+ return $seed->toJson();
+ }
+
+ public function presets() {
+ return array_values(AosrPresetCommand::$presets);
+ }
+