54 lines
1.3 KiB
PHP
54 lines
1.3 KiB
PHP
<?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');
|
|
}
|
|
}
|