<?php namespace App\Initialize; use App\Member; use Aweos\Agnoster\Progress\HasProgress; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Zoomyboy\LaravelNami\NamiUser; class InitializeJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, HasProgress; public $user; public static $initializers = [ InitializeNationalities::class, InitializeFees::class, InitializeConfessions::class, InitializeCountries::class, InitializeGenders::class, InitializeRegions::class, InitializeActivities::class, InitializeCourses::class, InitializeMembers::class, ]; public function __construct(NamiUser $user) { $this->user = $user; } /** * Execute the job. * * @return void */ public function handle() { $api = $this->user->api(); $bar = $this->createProgressBar('Initialisiere'); foreach (static::$initializers as $initializer) { (new $initializer($bar, $api))->handle($this->user); } $bar->finish('Initialisierung abgeschlossen'); } }