X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FAosSeed.php;h=b0b1ee743669f76ca722091ab56eeeca99b47921;hb=37ae4fea9558f58e9109e7d7127ee137474bfba4;hp=d44cfccbe242380631392a7316371e05deff0653;hpb=75b3b5826c781e47b3db693fa6d3d17f67c79e56;p=alttp.git diff --git a/app/Models/AosSeed.php b/app/Models/AosSeed.php index d44cfcc..b0b1ee7 100644 --- a/app/Models/AosSeed.php +++ b/app/Models/AosSeed.php @@ -2,14 +2,36 @@ namespace App\Models; +use App\Jobs\GenerateAosSeed; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Str; class AosSeed extends Model { use HasFactory; + public static function generateSurge($preset, $settings, $race = false, $mystery = false) { + $seed = new static(); + $seed->hash = Str::random(16); + $seed->generator = 'surge'; + $seed->preset = $preset; + $seed->race = $race; + $seed->mystery = $mystery; + $seed->seed = strval(random_int(-2147483648, 2147483647)); + $seed->settings = $settings; + $seed->status = 'pending'; + $seed->save(); + GenerateAosSeed::dispatch($seed)->onConnection('database'); + return $seed; + } + + public function getPermalinkAttribute() { + return config('aos.url').'/h/'.rawurlencode($this->hash); + } + protected $casts = [ + 'error_detail' => 'array', 'mystery' => 'boolean', 'race' => 'boolean', 'settings' => 'array',