mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-10-25 02:59:28 +01:00
63 lines
1.7 KiB
PHP
63 lines
1.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Database\Seeders\Scout;
|
|
|
|
use App\Models\List\Playlist;
|
|
use App\Models\Wiki\Anime;
|
|
use App\Models\Wiki\Anime\AnimeSynonym;
|
|
use App\Models\Wiki\Anime\AnimeTheme;
|
|
use App\Models\Wiki\Anime\Theme\AnimeThemeEntry;
|
|
use App\Models\Wiki\Artist;
|
|
use App\Models\Wiki\Series;
|
|
use App\Models\Wiki\Song;
|
|
use App\Models\Wiki\Studio;
|
|
use App\Models\Wiki\Video;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
use Illuminate\Support\Facades\Config;
|
|
|
|
/**
|
|
* Class ImportModelsSeeder.
|
|
*/
|
|
class ImportModelsSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$driver = Config::get('scout.driver');
|
|
if (empty($driver)) {
|
|
$this->command->info('No driver configured for Scout. Skipping models importing.');
|
|
return;
|
|
}
|
|
|
|
$this->scoutImport(Playlist::class);
|
|
$this->scoutImport(Anime::class);
|
|
$this->scoutImport(AnimeSynonym::class);
|
|
$this->scoutImport(AnimeTheme::class);
|
|
$this->scoutImport(AnimeThemeEntry::class);
|
|
$this->scoutImport(Artist::class);
|
|
$this->scoutImport(Series::class);
|
|
$this->scoutImport(Song::class);
|
|
$this->scoutImport(Studio::class);
|
|
$this->scoutImport(Video::class);
|
|
}
|
|
|
|
/**
|
|
* Call the scout import command for the given model.
|
|
*
|
|
* @param string $modelClass
|
|
* @return void
|
|
*/
|
|
private function scoutImport(string $modelClass): void
|
|
{
|
|
$this->command->info("Importing Models for {$modelClass}");
|
|
Artisan::call('scout:import', ['model' => $modelClass]);
|
|
}
|
|
}
|