]> git.localhorst.tv Git - alttp.git/blobdiff - app/Models/AosSeed.php
log aosr seed generation errors
[alttp.git] / app / Models / AosSeed.php
index d44cfccbe242380631392a7316371e05deff0653..b0b1ee743669f76ca722091ab56eeeca99b47921 100644 (file)
@@ -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',