From af2bc6c2dc82ef4c6070c77ad97b4f84bb9b93b9 Mon Sep 17 00:00:00 2001 From: Kyrch Date: Tue, 12 May 2026 04:13:07 -0300 Subject: [PATCH] clean: remove old anime synonyms & media format (#1206) --- .../AnilistAnimeExternalApiAction.php | 8 +- .../Wiki/Video/Audio/BackfillAudioAction.php | 4 +- .../Storage/Admin/Dump/DumpContentAction.php | 4 - .../Commands/Models/ImportModelsCommand.php | 3 - .../Events/UpdateAnimeSynonymsEvent.php | 12 -- .../Filter/Wiki/AnimeFilterableColumns.php | 5 - app/Enums/Models/Wiki/AnimeMediaFormat.php | 22 ---- app/Enums/Models/Wiki/AnimeSynonymType.php | 23 ---- app/Events/Wiki/Synonym/SynonymCreated.php | 15 +-- app/Events/Wiki/Synonym/SynonymDeleted.php | 14 +-- app/Events/Wiki/Synonym/SynonymRestored.php | 16 +-- app/Events/Wiki/Synonym/SynonymUpdated.php | 17 +-- .../Submission/Resources/Schema/AnimeForm.php | 4 +- .../Wiki/Anime/AnimeMediaFormatField.php | 2 +- .../Synonym/AnimeSynonymAnimeIdField.php | 38 ------- .../Anime/Synonym/AnimeSynonymTextField.php | 39 ------- .../Anime/Synonym/AnimeSynonymTypeField.php | 39 ------- .../Schema/Wiki/Anime/AnimeSynonymSchema.php | 51 --------- app/Http/Api/Schema/Wiki/AnimeSchema.php | 3 +- app/Http/Api/Schema/Wiki/SeriesSchema.php | 3 +- .../Api/Wiki/Anime/AnimeSynonymController.php | 91 --------------- .../Collection/AnimeSynonymCollection.php | 33 ------ .../Resource/AnimeSynonymJsonResource.php | 27 ----- app/Listeners/Wiki/UpdateAnimeSynonyms.php | 16 --- .../User/Submission/SubmissionAnime.php | 17 +-- app/Models/Wiki/Anime.php | 16 +-- app/Models/Wiki/Anime/AnimeSynonym.php | 106 ------------------ .../Wiki/Anime/Theme/AnimeThemeEntry.php | 2 +- app/Models/Wiki/Synonym.php | 8 ++ app/Observers/Wiki/AnimeObserver.php | 26 ----- .../Wiki/Anime/AnimeSynonymPolicy.php | 9 -- app/Providers/AppServiceProvider.php | 2 - app/Providers/GraphQLServiceProvider.php | 4 - .../Wiki/Anime/AnimeMediaFormatField.php | 4 +- .../Wiki/Anime/Synonym/SynonymTypeField.php | 18 --- .../{Anime => }/Synonym/SynonymTextField.php | 6 +- .../Field/Wiki/Synonym/SynonymTypeField.php | 18 +++ .../Api/Query/Wiki/Anime/SynonymQuery.php | 32 ------ .../Api/Schema/Wiki/AnimeSchema.php | 3 +- ...imeSynonymSchema.php => SynonymSchema.php} | 19 ++-- app/Scout/Elasticsearch/Elasticsearch.php | 3 - .../Wiki/Anime/AnimeSynonymElasticModel.php | 18 --- .../Wiki/Anime/AnimeSynonymTypesenseModel.php | 21 ---- config/scout.php | 18 --- database/factories/Wiki/AnimeFactory.php | 1 - .../2020_05_05_044925_create_anime_table.php | 2 +- .../2020_05_05_062655_create_artist_song.php | 30 ----- .../2026_04_17_142013_add_format_to_anime.php | 22 ---- .../Auth/Permission/PermissionSeeder.php | 2 - database/seeders/Auth/Role/AdminSeeder.php | 2 - .../Auth/Role/ContentModeratorRoleSeeder.php | 2 - .../Auth/Role/ContributorRoleSeeder.php | 2 - .../seeders/Auth/Role/DeveloperRoleSeeder.php | 2 - .../seeders/Auth/Role/EncoderRoleSeeder.php | 2 - .../Auth/Role/PanelViewerRoleSeeder.php | 2 - .../seeders/Auth/Role/PatronRoleSeeder.php | 2 - ...2_22_034553_create_anime_synonym_index.php | 78 ------------- graphql/Models/Wiki/anime.graphql | 8 -- graphql/Models/Wiki/animeyear.graphql | 4 - graphql/Models/Wiki/series.graphql | 2 - graphql/Models/Wiki/studio.graphql | 2 - lang/en/enums.php | 16 --- routes/api.php | 2 - .../Wiki/AnimeSeries/AnimeSeriesIndexTest.php | 6 +- .../Wiki/AnimeSeries/AnimeSeriesShowTest.php | 6 +- .../Wiki/AnimeStudio/AnimeStudioIndexTest.php | 6 +- .../Wiki/AnimeStudio/AnimeStudioShowTest.php | 6 +- .../Http/Api/Wiki/Anime/AnimeIndexTest.php | 9 +- .../Http/Api/Wiki/Anime/AnimeShowTest.php | 3 +- .../Http/Api/Wiki/Anime/AnimeStoreTest.php | 6 +- .../Http/Api/Wiki/Anime/AnimeUpdateTest.php | 18 +-- .../Wiki/Anime/Theme/Entry/EntryIndexTest.php | 6 +- .../Wiki/Anime/Theme/Entry/EntryShowTest.php | 6 +- .../Api/Wiki/Anime/Theme/ThemeIndexTest.php | 6 +- .../Api/Wiki/Anime/Theme/ThemeShowTest.php | 6 +- .../Http/Api/Wiki/Artist/ArtistIndexTest.php | 6 +- .../Http/Api/Wiki/Artist/ArtistShowTest.php | 6 +- .../ExternalResourceIndexTest.php | 6 +- .../ExternalResourceShowTest.php | 6 +- .../Http/Api/Wiki/Group/GroupIndexTest.php | 6 +- .../Http/Api/Wiki/Group/GroupShowTest.php | 6 +- .../Http/Api/Wiki/Image/ImageIndexTest.php | 6 +- .../Http/Api/Wiki/Image/ImageShowTest.php | 6 +- .../Http/Api/Wiki/Series/SeriesIndexTest.php | 6 +- .../Http/Api/Wiki/Series/SeriesShowTest.php | 6 +- .../Http/Api/Wiki/Song/SongIndexTest.php | 6 +- .../Http/Api/Wiki/Song/SongShowTest.php | 6 +- .../Http/Api/Wiki/Studio/StudioIndexTest.php | 6 +- .../Http/Api/Wiki/Studio/StudioShowTest.php | 6 +- .../Http/Api/Wiki/Video/VideoIndexTest.php | 6 +- .../Http/Api/Wiki/Video/VideoShowTest.php | 6 +- 91 files changed, 154 insertions(+), 1048 deletions(-) delete mode 100644 app/Contracts/Events/UpdateAnimeSynonymsEvent.php delete mode 100644 app/Enums/Models/Wiki/AnimeMediaFormat.php delete mode 100644 app/Enums/Models/Wiki/AnimeSynonymType.php delete mode 100644 app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymAnimeIdField.php delete mode 100644 app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymTextField.php delete mode 100644 app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymTypeField.php delete mode 100644 app/Http/Api/Schema/Wiki/Anime/AnimeSynonymSchema.php delete mode 100644 app/Http/Controllers/Api/Wiki/Anime/AnimeSynonymController.php delete mode 100644 app/Http/Resources/Wiki/Anime/Collection/AnimeSynonymCollection.php delete mode 100644 app/Http/Resources/Wiki/Anime/Resource/AnimeSynonymJsonResource.php delete mode 100644 app/Listeners/Wiki/UpdateAnimeSynonyms.php delete mode 100644 app/Models/Wiki/Anime/AnimeSynonym.php delete mode 100644 app/Observers/Wiki/AnimeObserver.php delete mode 100644 app/Policies/Wiki/Anime/AnimeSynonymPolicy.php delete mode 100644 app/Scout/Elasticsearch/Api/Field/Wiki/Anime/Synonym/SynonymTypeField.php rename app/Scout/Elasticsearch/Api/Field/Wiki/{Anime => }/Synonym/SynonymTextField.php (58%) create mode 100644 app/Scout/Elasticsearch/Api/Field/Wiki/Synonym/SynonymTypeField.php delete mode 100644 app/Scout/Elasticsearch/Api/Query/Wiki/Anime/SynonymQuery.php rename app/Scout/Elasticsearch/Api/Schema/Wiki/{Anime/AnimeSynonymSchema.php => SynonymSchema.php} (53%) delete mode 100644 app/Scout/Elasticsearch/Models/Wiki/Anime/AnimeSynonymElasticModel.php delete mode 100644 app/Scout/Typesense/Models/Wiki/Anime/AnimeSynonymTypesenseModel.php delete mode 100644 database/migrations/2020_05_05_062655_create_artist_song.php delete mode 100644 database/migrations/2026_04_17_142013_add_format_to_anime.php delete mode 100644 elastic/migrations/2020_12_22_034553_create_anime_synonym_index.php diff --git a/app/Actions/Models/Wiki/Anime/ExternalApi/AnilistAnimeExternalApiAction.php b/app/Actions/Models/Wiki/Anime/ExternalApi/AnilistAnimeExternalApiAction.php index 3d8926dc9..162ac0a1b 100644 --- a/app/Actions/Models/Wiki/Anime/ExternalApi/AnilistAnimeExternalApiAction.php +++ b/app/Actions/Models/Wiki/Anime/ExternalApi/AnilistAnimeExternalApiAction.php @@ -8,9 +8,9 @@ use App\Actions\Models\Wiki\ExternalApiAction; use App\Contracts\Actions\Models\Wiki\BackfillImages; use App\Contracts\Actions\Models\Wiki\BackfillResources; use App\Contracts\Actions\Models\Wiki\BackfillSynonyms; -use App\Enums\Models\Wiki\AnimeSynonymType; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; +use App\Enums\Models\Wiki\SynonymType; use App\Models\Wiki\Anime; use App\Models\Wiki\ExternalResource; use Illuminate\Database\Eloquent\Relations\BelongsToMany; @@ -145,9 +145,9 @@ class AnilistAnimeExternalApiAction extends ExternalApiAction implements Backfil public function getSynonymsMapping(): array { return [ - AnimeSynonymType::ENGLISH->value => 'data.Media.title.english', - AnimeSynonymType::NATIVE->value => 'data.Media.title.native', - AnimeSynonymType::OTHER->value => 'data.Media.title.romaji', + SynonymType::ENGLISH->value => 'data.Media.title.english', + SynonymType::NATIVE->value => 'data.Media.title.native', + SynonymType::OTHER->value => 'data.Media.title.romaji', ]; } } diff --git a/app/Actions/Models/Wiki/Video/Audio/BackfillAudioAction.php b/app/Actions/Models/Wiki/Video/Audio/BackfillAudioAction.php index 25414f263..609f60c36 100644 --- a/app/Actions/Models/Wiki/Video/Audio/BackfillAudioAction.php +++ b/app/Actions/Models/Wiki/Video/Audio/BackfillAudioAction.php @@ -197,10 +197,10 @@ class BackfillAudioAction extends BackfillAction $orderByNameQuery = $sortRelation->getRelationExistenceQuery($sortRelation->getQuery(), $builder, [Anime::ATTRIBUTE_NAME]); $orderBySeasonQuery = $sortRelation->getRelationExistenceQuery($sortRelation->getQuery(), $builder, [Anime::ATTRIBUTE_SEASON]); $orderByYearQuery = $sortRelation->getRelationExistenceQuery($sortRelation->getQuery(), $builder, [Anime::ATTRIBUTE_YEAR]); - $orderByMediaFormatQuery = $sortRelation->getRelationExistenceQuery($sortRelation->getQuery(), $builder, [Anime::ATTRIBUTE_FORMAT]); + $orderByformatQuery = $sortRelation->getRelationExistenceQuery($sortRelation->getQuery(), $builder, [Anime::ATTRIBUTE_FORMAT]); return $builder->whereHas(AnimeTheme::RELATION_VIDEOS, fn (Builder $relationBuilder) => $relationBuilder->whereKey($this->getModel())) - ->orderBy($orderByMediaFormatQuery->toBase()) + ->orderBy($orderByformatQuery->toBase()) ->orderBy($orderByYearQuery->toBase()) ->orderBy($orderBySeasonQuery->toBase()) ->orderBy($orderByNameQuery->toBase()) diff --git a/app/Actions/Storage/Admin/Dump/DumpContentAction.php b/app/Actions/Storage/Admin/Dump/DumpContentAction.php index 8300b356a..e78a2cfc0 100644 --- a/app/Actions/Storage/Admin/Dump/DumpContentAction.php +++ b/app/Actions/Storage/Admin/Dump/DumpContentAction.php @@ -6,7 +6,6 @@ namespace App\Actions\Storage\Admin\Dump; use App\Concerns\Repositories\Admin\ReconcilesDumpRepositories; 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; @@ -46,19 +45,16 @@ class DumpContentAction extends DumpAction Anime::TABLE, AnimeSeries::TABLE, AnimeStudio::TABLE, - AnimeSynonym::TABLE, AnimeTheme::TABLE, AnimeThemeEntry::TABLE, AnimeThemeEntryVideo::TABLE, Artist::TABLE, ArtistMember::TABLE, - 'artist_song', Audio::TABLE, ExternalResource::TABLE, Group::TABLE, Image::TABLE, Imageable::TABLE, - 'memberships', Performance::TABLE, Resourceable::TABLE, Series::TABLE, diff --git a/app/Console/Commands/Models/ImportModelsCommand.php b/app/Console/Commands/Models/ImportModelsCommand.php index ff8e488fd..d83329937 100644 --- a/app/Console/Commands/Models/ImportModelsCommand.php +++ b/app/Console/Commands/Models/ImportModelsCommand.php @@ -7,7 +7,6 @@ namespace App\Console\Commands\Models; use App\Console\Commands\BaseCommand; 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; @@ -48,7 +47,6 @@ class ImportModelsCommand extends BaseCommand if ($this->option('flush')) { $this->scoutFlush(Playlist::class); $this->scoutFlush(Anime::class); - $this->scoutFlush(AnimeSynonym::class); $this->scoutFlush(AnimeTheme::class); $this->scoutFlush(AnimeThemeEntry::class); $this->scoutFlush(Artist::class); @@ -61,7 +59,6 @@ class ImportModelsCommand extends BaseCommand $this->scoutImport(Playlist::class); $this->scoutImport(Anime::class); - $this->scoutImport(AnimeSynonym::class); $this->scoutImport(AnimeTheme::class); $this->scoutImport(AnimeThemeEntry::class); $this->scoutImport(Artist::class); diff --git a/app/Contracts/Events/UpdateAnimeSynonymsEvent.php b/app/Contracts/Events/UpdateAnimeSynonymsEvent.php deleted file mode 100644 index e59ce9203..000000000 --- a/app/Contracts/Events/UpdateAnimeSynonymsEvent.php +++ /dev/null @@ -1,12 +0,0 @@ - new IntFilter($this->name, Anime::ATTRIBUTE_ID), self::NAME => new StringFilter($this->name, Anime::ATTRIBUTE_NAME), - self::MEDIA_FORMAT => new EnumFilter($this->name, AnimeMediaFormat::class, Anime::ATTRIBUTE_MEDIA_FORMAT), self::FORMAT => new EnumFilter($this->name, AnimeFormat::class, Anime::ATTRIBUTE_FORMAT), self::SEASON => new EnumFilter($this->name, AnimeSeason::class, Anime::ATTRIBUTE_SEASON), self::YEAR => new IntFilter($this->name, Anime::ATTRIBUTE_YEAR), diff --git a/app/Enums/Models/Wiki/AnimeMediaFormat.php b/app/Enums/Models/Wiki/AnimeMediaFormat.php deleted file mode 100644 index 606005558..000000000 --- a/app/Enums/Models/Wiki/AnimeMediaFormat.php +++ /dev/null @@ -1,22 +0,0 @@ - */ -class SynonymCreated extends WikiCreatedEvent implements UpdateAnimeSynonymsEvent, UpdateRelatedIndicesEvent +class SynonymCreated extends WikiCreatedEvent implements UpdateRelatedIndicesEvent { protected function getDiscordMessageDescription(): string { @@ -49,15 +47,4 @@ class SynonymCreated extends WikiCreatedEvent implements UpdateAnimeSynonymsEven }); } } - - public function updateAnimeSynonyms(): void - { - if ($this->getModel()->synonymable instanceof Anime) { - AnimeSynonym::query()->create([ - AnimeSynonym::ATTRIBUTE_ANIME => $this->getModel()->synonymable_id, - AnimeSynonym::ATTRIBUTE_TEXT => $this->getModel()->text, - AnimeSynonym::ATTRIBUTE_TYPE => $this->getModel()->type->value, - ]); - } - } } diff --git a/app/Events/Wiki/Synonym/SynonymDeleted.php b/app/Events/Wiki/Synonym/SynonymDeleted.php index 5fc78f49d..fa66c8213 100644 --- a/app/Events/Wiki/Synonym/SynonymDeleted.php +++ b/app/Events/Wiki/Synonym/SynonymDeleted.php @@ -4,12 +4,10 @@ declare(strict_types=1); namespace App\Events\Wiki\Synonym; -use App\Contracts\Events\UpdateAnimeSynonymsEvent; use App\Contracts\Events\UpdateRelatedIndicesEvent; use App\Events\Base\Wiki\WikiDeletedEvent; use App\Filament\Resources\Wiki\SynonymResource as SynonymFilament; 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\Series; @@ -20,7 +18,7 @@ use Illuminate\Database\Eloquent\Relations\MorphTo; /** * @extends WikiDeletedEvent */ -class SynonymDeleted extends WikiDeletedEvent implements UpdateAnimeSynonymsEvent, UpdateRelatedIndicesEvent +class SynonymDeleted extends WikiDeletedEvent implements UpdateRelatedIndicesEvent { protected function getDiscordMessageDescription(): string { @@ -60,14 +58,4 @@ class SynonymDeleted extends WikiDeletedEvent implements UpdateAnimeSynonymsEven }); } } - - public function updateAnimeSynonyms(): void - { - if ($this->getModel()->synonymable instanceof Anime) { - AnimeSynonym::query() - ->where(AnimeSynonym::ATTRIBUTE_ANIME, $this->getModel()->synonymable_id) - ->where(AnimeSynonym::ATTRIBUTE_TEXT, $this->getModel()->text) - ->{$this->getModel()->isForceDeleting() ? 'forceDelete' : 'delete'}(); - } - } } diff --git a/app/Events/Wiki/Synonym/SynonymRestored.php b/app/Events/Wiki/Synonym/SynonymRestored.php index 4395602bd..9767f3acd 100644 --- a/app/Events/Wiki/Synonym/SynonymRestored.php +++ b/app/Events/Wiki/Synonym/SynonymRestored.php @@ -4,11 +4,9 @@ declare(strict_types=1); namespace App\Events\Wiki\Synonym; -use App\Contracts\Events\UpdateAnimeSynonymsEvent; use App\Contracts\Events\UpdateRelatedIndicesEvent; use App\Events\Base\Wiki\WikiRestoredEvent; 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\Series; @@ -19,7 +17,7 @@ use Illuminate\Database\Eloquent\Relations\MorphTo; /** * @extends WikiRestoredEvent */ -class SynonymRestored extends WikiRestoredEvent implements UpdateAnimeSynonymsEvent, UpdateRelatedIndicesEvent +class SynonymRestored extends WikiRestoredEvent implements UpdateRelatedIndicesEvent { protected function getDiscordMessageDescription(): string { @@ -49,16 +47,4 @@ class SynonymRestored extends WikiRestoredEvent implements UpdateAnimeSynonymsEv }); } } - - public function updateAnimeSynonyms(): void - { - if ($this->getModel()->synonymable instanceof Anime) { - AnimeSynonym::query() - ->withTrashed() - ->where(AnimeSynonym::ATTRIBUTE_ANIME, $this->getModel()->synonymable_id) - ->where(AnimeSynonym::ATTRIBUTE_TEXT, $this->getModel()->text) - ->first() - ?->restore(); - } - } } diff --git a/app/Events/Wiki/Synonym/SynonymUpdated.php b/app/Events/Wiki/Synonym/SynonymUpdated.php index fc429fe94..8aa077f49 100644 --- a/app/Events/Wiki/Synonym/SynonymUpdated.php +++ b/app/Events/Wiki/Synonym/SynonymUpdated.php @@ -4,11 +4,9 @@ declare(strict_types=1); namespace App\Events\Wiki\Synonym; -use App\Contracts\Events\UpdateAnimeSynonymsEvent; use App\Contracts\Events\UpdateRelatedIndicesEvent; use App\Events\Base\Wiki\WikiUpdatedEvent; 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\Series; @@ -19,7 +17,7 @@ use Illuminate\Database\Eloquent\Relations\MorphTo; /** * @extends WikiUpdatedEvent */ -class SynonymUpdated extends WikiUpdatedEvent implements UpdateAnimeSynonymsEvent, UpdateRelatedIndicesEvent +class SynonymUpdated extends WikiUpdatedEvent implements UpdateRelatedIndicesEvent { public function __construct(Synonym $synonym) { @@ -55,17 +53,4 @@ class SynonymUpdated extends WikiUpdatedEvent implements UpdateAnimeSynonymsEven }); } } - - public function updateAnimeSynonyms(): void - { - if ($this->getModel()->synonymable instanceof Anime) { - AnimeSynonym::query() - ->where(AnimeSynonym::ATTRIBUTE_ANIME, $this->getModel()->getOriginal(Synonym::ATTRIBUTE_SYNONYMABLE_ID)) - ->where(AnimeSynonym::ATTRIBUTE_TEXT, $this->getModel()->getOriginal(Synonym::ATTRIBUTE_TEXT)) - ->update([ - AnimeSynonym::ATTRIBUTE_TEXT => $this->getModel()->text, - AnimeSynonym::ATTRIBUTE_TYPE => $this->getModel()->type->value, - ]); - } - } } diff --git a/app/Filament/Submission/Resources/Schema/AnimeForm.php b/app/Filament/Submission/Resources/Schema/AnimeForm.php index 6b316b984..3a163aba7 100644 --- a/app/Filament/Submission/Resources/Schema/AnimeForm.php +++ b/app/Filament/Submission/Resources/Schema/AnimeForm.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace App\Filament\Submission\Resources\Schema; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Filament\Components\Fields\Select; use App\Filament\Components\Fields\TextInput; @@ -59,7 +59,7 @@ class AnimeForm Select::make(SubmissionAnime::ATTRIBUTE_FORMAT) ->label(__('filament.fields.anime.format.name')) ->helperText(__('filament.fields.anime.format.help')) - ->options(AnimeMediaFormat::class) + ->options(AnimeFormat::class) ->required(), MarkdownEditor::make(SubmissionAnime::ATTRIBUTE_SYNOPSIS) diff --git a/app/Http/Api/Field/Wiki/Anime/AnimeMediaFormatField.php b/app/Http/Api/Field/Wiki/Anime/AnimeMediaFormatField.php index 867662fe8..07c8446c2 100644 --- a/app/Http/Api/Field/Wiki/Anime/AnimeMediaFormatField.php +++ b/app/Http/Api/Field/Wiki/Anime/AnimeMediaFormatField.php @@ -17,7 +17,7 @@ class AnimeMediaFormatField extends EnumField implements CreatableField, Updatab { public function __construct(Schema $schema) { - parent::__construct($schema, Anime::ATTRIBUTE_MEDIA_FORMAT, AnimeFormat::class, Anime::ATTRIBUTE_FORMAT); + parent::__construct($schema, 'media_format', AnimeFormat::class, Anime::ATTRIBUTE_FORMAT); } public function getCreationRules(Request $request): array diff --git a/app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymAnimeIdField.php b/app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymAnimeIdField.php deleted file mode 100644 index 33229da44..000000000 --- a/app/Http/Api/Field/Wiki/Anime/Synonym/AnimeSynonymAnimeIdField.php +++ /dev/null @@ -1,38 +0,0 @@ -withIntermediatePaths([ - new AllowedInclude(new AnimeSchema(), AnimeSynonym::RELATION_ANIME), - ]); - } - - /** - * @return Field[] - */ - public function fields(): array - { - return array_merge( - parent::fields(), - [ - new IdField($this, AnimeSynonym::ATTRIBUTE_ID), - new AnimeSynonymTextField($this), - new AnimeSynonymTypeField($this), - new AnimeSynonymAnimeIdField($this), - ], - ); - } -} diff --git a/app/Http/Api/Schema/Wiki/AnimeSchema.php b/app/Http/Api/Schema/Wiki/AnimeSchema.php index ee4c70da9..a09b9bd04 100644 --- a/app/Http/Api/Schema/Wiki/AnimeSchema.php +++ b/app/Http/Api/Schema/Wiki/AnimeSchema.php @@ -18,7 +18,6 @@ use App\Http\Api\Include\AllowedInclude; use App\Http\Api\Schema\Auth\UserSchema; use App\Http\Api\Schema\EloquentSchema; use App\Http\Api\Schema\Pivot\Morph\ResourceableSchema; -use App\Http\Api\Schema\Wiki\Anime\AnimeSynonymSchema; use App\Http\Api\Schema\Wiki\Anime\Theme\EntrySchema; use App\Http\Api\Schema\Wiki\Anime\ThemeSchema; use App\Http\Api\Schema\Wiki\Video\ScriptSchema; @@ -60,7 +59,7 @@ class AnimeSchema extends EloquentSchema implements InteractsWithPivots, Searcha new AllowedInclude(new SeriesSchema(), Anime::RELATION_SERIES), new AllowedInclude(new SongSchema(), Anime::RELATION_SONG), new AllowedInclude(new StudioSchema(), Anime::RELATION_STUDIOS), - new AllowedInclude(new AnimeSynonymSchema(), Anime::RELATION_ANIMESYNONYMS), + new AllowedInclude(new SynonymSchema(), Anime::RELATION_ANIMESYNONYMS), new AllowedInclude(new SynonymSchema(), Anime::RELATION_SYNONYMS), new AllowedInclude(new ThemeSchema(), Anime::RELATION_THEMES), new AllowedInclude(new VideoSchema(), Anime::RELATION_VIDEOS), diff --git a/app/Http/Api/Schema/Wiki/SeriesSchema.php b/app/Http/Api/Schema/Wiki/SeriesSchema.php index 9b643b86f..e3632db28 100644 --- a/app/Http/Api/Schema/Wiki/SeriesSchema.php +++ b/app/Http/Api/Schema/Wiki/SeriesSchema.php @@ -11,7 +11,6 @@ use App\Http\Api\Field\Wiki\Series\SeriesNameField; use App\Http\Api\Field\Wiki\Series\SeriesSlugField; use App\Http\Api\Include\AllowedInclude; use App\Http\Api\Schema\EloquentSchema; -use App\Http\Api\Schema\Wiki\Anime\AnimeSynonymSchema; use App\Http\Resources\Wiki\Resource\SeriesJsonResource; use App\Models\Wiki\Series; @@ -35,7 +34,7 @@ class SeriesSchema extends EloquentSchema implements SearchableSchema new AllowedInclude(new VideoSchema(), 'anime.animethemes.animethemeentries.videos'), new AllowedInclude(new GroupSchema(), 'anime.animethemes.group'), new AllowedInclude(new SongSchema(), 'anime.animethemes.song'), - new AllowedInclude(new AnimeSynonymSchema(), 'anime.animesynonyms'), + new AllowedInclude(new SynonymSchema(), 'anime.animesynonyms'), ]); } diff --git a/app/Http/Controllers/Api/Wiki/Anime/AnimeSynonymController.php b/app/Http/Controllers/Api/Wiki/Anime/AnimeSynonymController.php deleted file mode 100644 index fa027da4b..000000000 --- a/app/Http/Controllers/Api/Wiki/Anime/AnimeSynonymController.php +++ /dev/null @@ -1,91 +0,0 @@ -validated()); - - $synonyms = $query->hasSearchCriteria() - ? $action->search($query, $request->schema()) - : $action->index(AnimeSynonym::query(), $query, $request->schema()); - - return new AnimeSynonymCollection($synonyms, $query); - } - - /** - * @param StoreAction $action - */ - public function store(StoreRequest $request, StoreAction $action): AnimeSynonymJsonResource - { - $synonym = $action->store(AnimeSynonym::query(), $request->validated()); - - return new AnimeSynonymJsonResource($synonym, new Query()); - } - - public function show(ShowRequest $request, AnimeSynonym $animesynonym, ShowAction $action): AnimeSynonymJsonResource - { - $query = new Query($request->validated()); - - $show = $action->show($animesynonym, $query, $request->schema()); - - return new AnimeSynonymJsonResource($show, $query); - } - - public function update(UpdateRequest $request, AnimeSynonym $animesynonym, UpdateAction $action): AnimeSynonymJsonResource - { - $updated = $action->update($animesynonym, $request->validated()); - - return new AnimeSynonymJsonResource($updated, new Query()); - } - - public function destroy(AnimeSynonym $animesynonym, DestroyAction $action): AnimeSynonymJsonResource - { - $deleted = $action->destroy($animesynonym); - - return new AnimeSynonymJsonResource($deleted, new Query()); - } - - public function restore(AnimeSynonym $animesynonym, RestoreAction $action): AnimeSynonymJsonResource - { - $restored = $action->restore($animesynonym); - - return new AnimeSynonymJsonResource($restored, new Query()); - } - - public function forceDelete(AnimeSynonym $animesynonym, ForceDeleteAction $action): JsonResponse - { - $message = $action->forceDelete($animesynonym); - - return new JsonResponse([ - 'message' => $message, - ]); - } -} diff --git a/app/Http/Resources/Wiki/Anime/Collection/AnimeSynonymCollection.php b/app/Http/Resources/Wiki/Anime/Collection/AnimeSynonymCollection.php deleted file mode 100644 index 36ec2fde2..000000000 --- a/app/Http/Resources/Wiki/Anime/Collection/AnimeSynonymCollection.php +++ /dev/null @@ -1,33 +0,0 @@ -collection->map( - fn (AnimeSynonym $synonym): AnimeSynonymJsonResource => new AnimeSynonymJsonResource($synonym, $this->query) - )->all(); - } -} diff --git a/app/Http/Resources/Wiki/Anime/Resource/AnimeSynonymJsonResource.php b/app/Http/Resources/Wiki/Anime/Resource/AnimeSynonymJsonResource.php deleted file mode 100644 index c9fced574..000000000 --- a/app/Http/Resources/Wiki/Anime/Resource/AnimeSynonymJsonResource.php +++ /dev/null @@ -1,27 +0,0 @@ -updateAnimeSynonyms(); - } -} diff --git a/app/Models/User/Submission/SubmissionAnime.php b/app/Models/User/Submission/SubmissionAnime.php index 964c3031b..21a3ff569 100644 --- a/app/Models/User/Submission/SubmissionAnime.php +++ b/app/Models/User/Submission/SubmissionAnime.php @@ -5,10 +5,8 @@ declare(strict_types=1); namespace App\Models\User\Submission; use App\Concerns\Models\SubmissionModel; -use App\Enums\Models\Wiki\AnimeMediaFormat; use App\Models\Wiki\Anime; use Illuminate\Database\Eloquent\Attributes\Table; -use Illuminate\Support\Arr; #[Table('submission_anime', 'id')] class SubmissionAnime extends Anime @@ -21,24 +19,11 @@ class SubmissionAnime extends Anime * @var list */ protected $fillable = [ + Anime::ATTRIBUTE_FORMAT, Anime::ATTRIBUTE_NAME, Anime::ATTRIBUTE_SEASON, Anime::ATTRIBUTE_SLUG, Anime::ATTRIBUTE_SYNOPSIS, Anime::ATTRIBUTE_YEAR, - 'format', ]; - - /** - * Get the attributes that should be cast. - * - * @return array - */ - protected function casts(): array - { - return Arr::flatten([ - parent::casts(), - 'format' => AnimeMediaFormat::class, - ]); - } } diff --git a/app/Models/Wiki/Anime.php b/app/Models/Wiki/Anime.php index 5074d9e37..8d546f897 100644 --- a/app/Models/Wiki/Anime.php +++ b/app/Models/Wiki/Anime.php @@ -11,7 +11,6 @@ use App\Contracts\Models\HasResources; use App\Contracts\Models\HasSynonyms; use App\Contracts\Models\SoftDeletable; use App\Enums\Models\Wiki\AnimeFormat; -use App\Enums\Models\Wiki\AnimeMediaFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Events\Wiki\Anime\AnimeCreated; use App\Events\Wiki\Anime\AnimeDeleted; @@ -22,9 +21,7 @@ use App\Http\Resources\Pivot\Wiki\Resource\AnimeSeriesJsonResource; use App\Http\Resources\Pivot\Wiki\Resource\AnimeStudioJsonResource; use App\Models\BaseModel; use App\Models\List\External\ExternalEntry; -use App\Models\Wiki\Anime\AnimeSynonym; use App\Models\Wiki\Anime\AnimeTheme; -use App\Observers\Wiki\AnimeObserver; use App\Pivots\Morph\Imageable; use App\Pivots\Morph\Resourceable; use App\Pivots\Wiki\AnimeSeries; @@ -34,7 +31,6 @@ use App\Scout\Typesense\Models\Wiki\AnimeTypesenseModel; use Database\Factories\Wiki\AnimeFactory; use Deprecated; use Elastic\ScoutDriverPlus\Searchable; -use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Attributes\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -54,7 +50,6 @@ use RuntimeException; * @property Collection $externalentries * @property AnimeFormat|null $format * @property Collection $images - * @property AnimeMediaFormat|null $media_format * @property string $name * @property Collection $resources * @property AnimeSeason|null $season @@ -67,7 +62,6 @@ use RuntimeException; * * @method static AnimeFactory factory(...$parameters) */ -#[ObservedBy(AnimeObserver::class)] #[Table(Anime::TABLE, Anime::ATTRIBUTE_ID)] class Anime extends BaseModel implements Auditable, HasImages, HasResources, HasSynonyms, SoftDeletable { @@ -80,7 +74,6 @@ class Anime extends BaseModel implements Auditable, HasImages, HasResources, Has final public const string TABLE = 'anime'; final public const string ATTRIBUTE_ID = 'anime_id'; - final public const string ATTRIBUTE_MEDIA_FORMAT = 'media_format'; final public const string ATTRIBUTE_FORMAT = 'format'; final public const string ATTRIBUTE_NAME = 'name'; final public const string ATTRIBUTE_SEASON = 'season'; @@ -134,7 +127,7 @@ class Anime extends BaseModel implements Auditable, HasImages, HasResources, Has Anime::ATTRIBUTE_SLUG, Anime::ATTRIBUTE_SYNOPSIS, Anime::ATTRIBUTE_YEAR, - Anime::ATTRIBUTE_MEDIA_FORMAT, + 'media_format', ]; /** @@ -147,7 +140,6 @@ class Anime extends BaseModel implements Auditable, HasImages, HasResources, Has return [ Anime::ATTRIBUTE_FORMAT => AnimeFormat::class, Anime::ATTRIBUTE_NAME => 'string', - Anime::ATTRIBUTE_MEDIA_FORMAT => AnimeMediaFormat::class, Anime::ATTRIBUTE_SEASON => AnimeSeason::class, Anime::ATTRIBUTE_SLUG => 'string', Anime::ATTRIBUTE_SYNOPSIS => 'string', @@ -197,12 +189,12 @@ class Anime extends BaseModel implements Auditable, HasImages, HasResources, Has } /** - * @return HasMany + * @return MorphMany */ #[Deprecated('Use synonyms() instead.')] - public function animesynonyms(): HasMany + public function animesynonyms(): MorphMany { - return $this->hasMany(AnimeSynonym::class, AnimeSynonym::ATTRIBUTE_ANIME); + return $this->synonyms(); } /** diff --git a/app/Models/Wiki/Anime/AnimeSynonym.php b/app/Models/Wiki/Anime/AnimeSynonym.php deleted file mode 100644 index 022f9f3c5..000000000 --- a/app/Models/Wiki/Anime/AnimeSynonym.php +++ /dev/null @@ -1,106 +0,0 @@ - - */ - protected $fillable = [ - AnimeSynonym::ATTRIBUTE_ANIME, - AnimeSynonym::ATTRIBUTE_TEXT, - AnimeSynonym::ATTRIBUTE_TYPE, - ]; - - /** - * Get the attributes that should be cast. - * - * @return array - */ - protected function casts(): array - { - return [ - AnimeSynonym::ATTRIBUTE_ANIME => 'int', - AnimeSynonym::ATTRIBUTE_TEXT => 'string', - AnimeSynonym::ATTRIBUTE_TYPE => AnimeSynonymType::class, - ]; - } - - /** - * Get the indexable data array for the model. - */ - public function toSearchableArray(): array - { - return match ($driver = Config::get('scout.driver')) { - 'collection', - 'elastic' => AnimeSynonymElasticModel::toSearchableArray($this), - 'typesense' => AnimeSynonymTypesenseModel::toSearchableArray($this), - default => throw new RuntimeException("Unsupported {$driver} search driver configured."), - }; - } - - public function getName(): string - { - return $this->text; - } - - public function getSubtitle(): string - { - return $this->anime->getName(); - } - - /** - * @return BelongsTo - */ - public function anime(): BelongsTo - { - return $this->belongsTo(Anime::class, AnimeSynonym::ATTRIBUTE_ANIME); - } -} diff --git a/app/Models/Wiki/Anime/Theme/AnimeThemeEntry.php b/app/Models/Wiki/Anime/Theme/AnimeThemeEntry.php index 4e4bc4575..5e107400e 100644 --- a/app/Models/Wiki/Anime/Theme/AnimeThemeEntry.php +++ b/app/Models/Wiki/Anime/Theme/AnimeThemeEntry.php @@ -91,7 +91,7 @@ class AnimeThemeEntry extends BaseModel implements Auditable, HasAggregateLikes, final public const string RELATION_RESOURCES = 'resources'; final public const string RELATION_SONG = 'animetheme.song'; final public const string RELATION_SONG_SHALLOW = 'song'; - final public const string RELATION_SYNONYMS = 'animetheme.anime.animesynonyms'; + final public const string RELATION_SYNONYMS = 'animetheme.anime.synonyms'; final public const string RELATION_THEME = 'animetheme'; final public const string RELATION_THEME_GROUP = 'animetheme.group'; final public const string RELATION_TRACKS = 'tracks'; diff --git a/app/Models/Wiki/Synonym.php b/app/Models/Wiki/Synonym.php index a2667b1b1..15e1ec27d 100644 --- a/app/Models/Wiki/Synonym.php +++ b/app/Models/Wiki/Synonym.php @@ -119,6 +119,14 @@ class Synonym extends BaseModel implements Auditable, SoftDeletable return $this->synonymable->getName(); } + /** + * @return MorphTo + */ + public function anime(): MorphTo + { + return $this->synonymable(); + } + /** * @return MorphTo */ diff --git a/app/Observers/Wiki/AnimeObserver.php b/app/Observers/Wiki/AnimeObserver.php deleted file mode 100644 index 5c17c1334..000000000 --- a/app/Observers/Wiki/AnimeObserver.php +++ /dev/null @@ -1,26 +0,0 @@ -setAttribute(Anime::ATTRIBUTE_MEDIA_FORMAT, $anime->getAttribute(Anime::ATTRIBUTE_FORMAT)->value); - } - - /** - * Handle the Anime "updating" event. - */ - public function updating(Anime $anime): void - { - $anime->setAttribute(Anime::ATTRIBUTE_MEDIA_FORMAT, $anime->getAttribute(Anime::ATTRIBUTE_FORMAT)->value); - } -} diff --git a/app/Policies/Wiki/Anime/AnimeSynonymPolicy.php b/app/Policies/Wiki/Anime/AnimeSynonymPolicy.php deleted file mode 100644 index 0796a7e02..000000000 --- a/app/Policies/Wiki/Anime/AnimeSynonymPolicy.php +++ /dev/null @@ -1,9 +0,0 @@ - Page::class, 'anime' => Anime::class, - 'animesynonym' => AnimeSynonym::class, 'animetheme' => AnimeTheme::class, 'animethemeentry' => AnimeThemeEntry::class, 'artist' => Artist::class, diff --git a/app/Providers/GraphQLServiceProvider.php b/app/Providers/GraphQLServiceProvider.php index 569283b4e..b4b0cd9b1 100644 --- a/app/Providers/GraphQLServiceProvider.php +++ b/app/Providers/GraphQLServiceProvider.php @@ -53,9 +53,7 @@ use App\Enums\Models\List\ExternalProfileVisibility; use App\Enums\Models\List\PlaylistVisibility; use App\Enums\Models\User\NotificationType; use App\Enums\Models\Wiki\AnimeFormat; -use App\Enums\Models\Wiki\AnimeMediaFormat; use App\Enums\Models\Wiki\AnimeSeason; -use App\Enums\Models\Wiki\AnimeSynonymType; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; use App\Enums\Models\Wiki\SynonymType; @@ -131,10 +129,8 @@ class GraphQLServiceProvider extends ServiceProvider $typeRegistry->register(new PhpEnumType(ExternalProfileVisibility::class)); $typeRegistry->register(new PhpEnumType(PlaylistVisibility::class)); $typeRegistry->register(new PhpEnumType(NotificationType::class)); - $typeRegistry->register(new PhpEnumType(AnimeMediaFormat::class)); $typeRegistry->register(new PhpEnumType(AnimeFormat::class)); $typeRegistry->register(new PhpEnumType(AnimeSeason::class)); - $typeRegistry->register(new PhpEnumType(AnimeSynonymType::class)); $typeRegistry->register(new PhpEnumType(ImageFacet::class)); $typeRegistry->register(new PhpEnumType(ResourceSite::class)); $typeRegistry->register(new PhpEnumType(SynonymType::class)); diff --git a/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/AnimeMediaFormatField.php b/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/AnimeMediaFormatField.php index 14ad15ddd..ec9163e5d 100644 --- a/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/AnimeMediaFormatField.php +++ b/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/AnimeMediaFormatField.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace App\Scout\Elasticsearch\Api\Field\Wiki\Anime; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Models\Wiki\Anime; use App\Scout\Elasticsearch\Api\Field\EnumField; use App\Scout\Elasticsearch\Api\Schema\Schema; @@ -13,6 +13,6 @@ class AnimeMediaFormatField extends EnumField { public function __construct(Schema $schema) { - parent::__construct($schema, Anime::ATTRIBUTE_MEDIA_FORMAT, AnimeMediaFormat::class, Anime::ATTRIBUTE_FORMAT); + parent::__construct($schema, 'media_format', AnimeFormat::class, Anime::ATTRIBUTE_FORMAT); } } diff --git a/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/Synonym/SynonymTypeField.php b/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/Synonym/SynonymTypeField.php deleted file mode 100644 index 9a1eeb615..000000000 --- a/app/Scout/Elasticsearch/Api/Field/Wiki/Anime/Synonym/SynonymTypeField.php +++ /dev/null @@ -1,18 +0,0 @@ -mustRaw([ - 'dis_max' => [ - 'queries' => [ - [ - 'bool' => [ - 'should' => $this->createTextQuery('text', $criteria->getTerm()), - ], - ], - ], - ], - ]); - - return AnimeSynonym::searchQuery($query); - } -} diff --git a/app/Scout/Elasticsearch/Api/Schema/Wiki/AnimeSchema.php b/app/Scout/Elasticsearch/Api/Schema/Wiki/AnimeSchema.php index e6ac6dfdf..652ceb594 100644 --- a/app/Scout/Elasticsearch/Api/Schema/Wiki/AnimeSchema.php +++ b/app/Scout/Elasticsearch/Api/Schema/Wiki/AnimeSchema.php @@ -21,7 +21,6 @@ use App\Scout\Elasticsearch\Api\Field\Wiki\Anime\AnimeSlugField; use App\Scout\Elasticsearch\Api\Field\Wiki\Anime\AnimeSynopsisField; use App\Scout\Elasticsearch\Api\Field\Wiki\Anime\AnimeYearField; use App\Scout\Elasticsearch\Api\Schema\Schema; -use App\Scout\Elasticsearch\Api\Schema\Wiki\Anime\AnimeSynonymSchema; use App\Scout\Elasticsearch\Api\Schema\Wiki\Anime\Theme\EntrySchema; use App\Scout\Elasticsearch\Api\Schema\Wiki\Anime\ThemeSchema; @@ -48,7 +47,7 @@ class AnimeSchema extends Schema new AllowedInclude(new SeriesSchema(), Anime::RELATION_SERIES), new AllowedInclude(new SongSchema(), Anime::RELATION_SONG), new AllowedInclude(new StudioSchema(), Anime::RELATION_STUDIOS), - new AllowedInclude(new AnimeSynonymSchema(), Anime::RELATION_ANIMESYNONYMS), + new AllowedInclude(new SynonymSchema(), Anime::RELATION_ANIMESYNONYMS), new AllowedInclude(new ThemeSchema(), Anime::RELATION_THEMES), new AllowedInclude(new VideoSchema(), Anime::RELATION_VIDEOS), ]); diff --git a/app/Scout/Elasticsearch/Api/Schema/Wiki/Anime/AnimeSynonymSchema.php b/app/Scout/Elasticsearch/Api/Schema/Wiki/SynonymSchema.php similarity index 53% rename from app/Scout/Elasticsearch/Api/Schema/Wiki/Anime/AnimeSynonymSchema.php rename to app/Scout/Elasticsearch/Api/Schema/Wiki/SynonymSchema.php index 9a355095a..48ec0c87d 100644 --- a/app/Scout/Elasticsearch/Api/Schema/Wiki/Anime/AnimeSynonymSchema.php +++ b/app/Scout/Elasticsearch/Api/Schema/Wiki/SynonymSchema.php @@ -2,23 +2,22 @@ declare(strict_types=1); -namespace App\Scout\Elasticsearch\Api\Schema\Wiki\Anime; +namespace App\Scout\Elasticsearch\Api\Schema\Wiki; use App\Http\Api\Include\AllowedInclude; -use App\Http\Resources\Wiki\Anime\Resource\AnimeSynonymJsonResource; -use App\Models\Wiki\Anime\AnimeSynonym; +use App\Http\Resources\Wiki\Resource\SynonymJsonResource; +use App\Models\Wiki\Synonym; use App\Scout\Elasticsearch\Api\Field\Base\IdField; use App\Scout\Elasticsearch\Api\Field\Field; -use App\Scout\Elasticsearch\Api\Field\Wiki\Anime\Synonym\SynonymTextField; -use App\Scout\Elasticsearch\Api\Field\Wiki\Anime\Synonym\SynonymTypeField; +use App\Scout\Elasticsearch\Api\Field\Wiki\Synonym\SynonymTextField; +use App\Scout\Elasticsearch\Api\Field\Wiki\Synonym\SynonymTypeField; use App\Scout\Elasticsearch\Api\Schema\Schema; -use App\Scout\Elasticsearch\Api\Schema\Wiki\AnimeSchema; -class AnimeSynonymSchema extends Schema +class SynonymSchema extends Schema { public function type(): string { - return AnimeSynonymJsonResource::$wrap; + return SynonymJsonResource::$wrap; } /** @@ -27,7 +26,7 @@ class AnimeSynonymSchema extends Schema public function allowedIncludes(): array { return $this->withIntermediatePaths([ - new AllowedInclude(new AnimeSchema(), AnimeSynonym::RELATION_ANIME), + new AllowedInclude(new AnimeSchema(), 'anime'), ]); } @@ -39,7 +38,7 @@ class AnimeSynonymSchema extends Schema return array_merge( parent::fields(), [ - new IdField($this, AnimeSynonym::ATTRIBUTE_ID), + new IdField($this, Synonym::ATTRIBUTE_ID), new SynonymTextField($this), new SynonymTypeField($this), ], diff --git a/app/Scout/Elasticsearch/Elasticsearch.php b/app/Scout/Elasticsearch/Elasticsearch.php index ac2a397ae..e7489a3ee 100644 --- a/app/Scout/Elasticsearch/Elasticsearch.php +++ b/app/Scout/Elasticsearch/Elasticsearch.php @@ -12,7 +12,6 @@ use App\Http\Api\Schema\EloquentSchema; use App\Http\Api\Scope\ScopeParser; 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; @@ -28,7 +27,6 @@ use App\Scout\Elasticsearch\Api\Parser\PagingParser; use App\Scout\Elasticsearch\Api\Parser\SortParser; use App\Scout\Elasticsearch\Api\Query\ElasticQuery; use App\Scout\Elasticsearch\Api\Query\List\PlaylistQuery; -use App\Scout\Elasticsearch\Api\Query\Wiki\Anime\SynonymQuery as AnimeSynonymQuery; use App\Scout\Elasticsearch\Api\Query\Wiki\Anime\Theme\EntryQuery; use App\Scout\Elasticsearch\Api\Query\Wiki\Anime\ThemeQuery; use App\Scout\Elasticsearch\Api\Query\Wiki\AnimeQuery; @@ -215,7 +213,6 @@ class Elasticsearch extends Search return match ($model) { Playlist::class => new PlaylistQuery(), AnimeThemeEntry::class => new EntryQuery(), - AnimeSynonym::class => new AnimeSynonymQuery(), AnimeTheme::class => new ThemeQuery(), Anime::class => new AnimeQuery(), Artist::class => new ArtistQuery(), diff --git a/app/Scout/Elasticsearch/Models/Wiki/Anime/AnimeSynonymElasticModel.php b/app/Scout/Elasticsearch/Models/Wiki/Anime/AnimeSynonymElasticModel.php deleted file mode 100644 index cfd534966..000000000 --- a/app/Scout/Elasticsearch/Models/Wiki/Anime/AnimeSynonymElasticModel.php +++ /dev/null @@ -1,18 +0,0 @@ - - */ - public static function toSearchableArray(AnimeSynonym $synonym): array - { - return $synonym->attributesToArray(); - } -} diff --git a/app/Scout/Typesense/Models/Wiki/Anime/AnimeSynonymTypesenseModel.php b/app/Scout/Typesense/Models/Wiki/Anime/AnimeSynonymTypesenseModel.php deleted file mode 100644 index 3cb5db23a..000000000 --- a/app/Scout/Typesense/Models/Wiki/Anime/AnimeSynonymTypesenseModel.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ - public static function toSearchableArray(AnimeSynonym $synonym): array - { - return [ - 'id' => (string) $synonym->getKey(), - 'text' => $synonym->text, - ]; - } -} diff --git a/config/scout.php b/config/scout.php index 9b4f5f037..4f41ae356 100644 --- a/config/scout.php +++ b/config/scout.php @@ -5,7 +5,6 @@ declare(strict_types=1); use App\Models\List\ExternalProfile; 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; @@ -502,23 +501,6 @@ return [ 'query_by' => 'name', ], ], - AnimeSynonym::class => [ - 'collection-schema' => [ - 'fields' => [ - [ - 'name' => 'id', - 'type' => 'string', - ], - [ - 'name' => 'text', - 'type' => 'string', - ], - ], - ], - 'search-parameters' => [ - 'query_by' => 'text', - ], - ], Synonym::class => [ 'collection-schema' => [ 'fields' => [ diff --git a/database/factories/Wiki/AnimeFactory.php b/database/factories/Wiki/AnimeFactory.php index 7220d33e8..3d8be7fb2 100644 --- a/database/factories/Wiki/AnimeFactory.php +++ b/database/factories/Wiki/AnimeFactory.php @@ -47,7 +47,6 @@ class AnimeFactory extends Factory Anime::ATTRIBUTE_SYNOPSIS => fake()->text(), Anime::ATTRIBUTE_YEAR => fake()->numberBetween(1960, intval(date('Y')) + 1), Anime::ATTRIBUTE_FORMAT => $format->value, - Anime::ATTRIBUTE_MEDIA_FORMAT => $format->value, ]; } diff --git a/database/migrations/2020_05_05_044925_create_anime_table.php b/database/migrations/2020_05_05_044925_create_anime_table.php index 9c65c85d2..5cdd4ab4f 100644 --- a/database/migrations/2020_05_05_044925_create_anime_table.php +++ b/database/migrations/2020_05_05_044925_create_anime_table.php @@ -22,7 +22,7 @@ return new class extends Migration $table->string('name'); $table->integer('year')->nullable(); $table->integer('season')->nullable(); - $table->integer('media_format')->nullable(); + $table->integer('format')->nullable(); $table->text('synopsis')->nullable(); }); } diff --git a/database/migrations/2020_05_05_062655_create_artist_song.php b/database/migrations/2020_05_05_062655_create_artist_song.php deleted file mode 100644 index cc8d66f20..000000000 --- a/database/migrations/2020_05_05_062655_create_artist_song.php +++ /dev/null @@ -1,30 +0,0 @@ -id(); - $table->timestamps(6); - $table->unsignedBigInteger('artist_id'); - $table->foreign('artist_id')->references('artist_id')->on('artists')->cascadeOnDelete(); - $table->unsignedBigInteger('song_id'); - $table->foreign('song_id')->references('song_id')->on('songs')->cascadeOnDelete(); - $table->string('as')->nullable(); - $table->string('alias')->nullable(); - $table->unique(['artist_id', 'song_id'], 'artist_song_unique'); - }); - } - } -}; diff --git a/database/migrations/2026_04_17_142013_add_format_to_anime.php b/database/migrations/2026_04_17_142013_add_format_to_anime.php deleted file mode 100644 index ccb456c08..000000000 --- a/database/migrations/2026_04_17_142013_add_format_to_anime.php +++ /dev/null @@ -1,22 +0,0 @@ -integer('format')->nullable()->after('season'); - }); - } - } -}; diff --git a/database/seeders/Auth/Permission/PermissionSeeder.php b/database/seeders/Auth/Permission/PermissionSeeder.php index 8362db6a7..7a3185ed4 100644 --- a/database/seeders/Auth/Permission/PermissionSeeder.php +++ b/database/seeders/Auth/Permission/PermissionSeeder.php @@ -26,7 +26,6 @@ use App\Models\User\Notification; use App\Models\User\Submission; use App\Models\User\WatchHistory; 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; @@ -82,7 +81,6 @@ class PermissionSeeder extends Seeder // Wiki Resources $this->registerResource(Anime::class, $extendedCrudPermissions); - $this->registerResource(AnimeSynonym::class, $extendedCrudPermissions); $this->registerResource(AnimeTheme::class, $extendedCrudPermissions); $this->registerResource(AnimeThemeEntry::class, $extendedCrudPermissions); $this->registerResource(Artist::class, $extendedCrudPermissions); diff --git a/database/seeders/Auth/Role/AdminSeeder.php b/database/seeders/Auth/Role/AdminSeeder.php index df825c17a..5da0e4467 100644 --- a/database/seeders/Auth/Role/AdminSeeder.php +++ b/database/seeders/Auth/Role/AdminSeeder.php @@ -27,7 +27,6 @@ use App\Models\User\Notification; use App\Models\User\Submission; use App\Models\User\WatchHistory; 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; @@ -90,7 +89,6 @@ class AdminSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, $extendedCrudPermissions); - $this->configureResource($role, AnimeSynonym::class, $extendedCrudPermissions); $this->configureResource($role, AnimeTheme::class, $extendedCrudPermissions); $this->configureResource($role, AnimeThemeEntry::class, $extendedCrudPermissions); $this->configureResource($role, Artist::class, $extendedCrudPermissions); diff --git a/database/seeders/Auth/Role/ContentModeratorRoleSeeder.php b/database/seeders/Auth/Role/ContentModeratorRoleSeeder.php index ff4c3fa64..15ba68613 100644 --- a/database/seeders/Auth/Role/ContentModeratorRoleSeeder.php +++ b/database/seeders/Auth/Role/ContentModeratorRoleSeeder.php @@ -18,7 +18,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -73,7 +72,6 @@ class ContentModeratorRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, $extendedCrudPermissions); - $this->configureResource($role, AnimeSynonym::class, $extendedCrudPermissions); $this->configureResource($role, AnimeTheme::class, $extendedCrudPermissions); $this->configureResource($role, AnimeThemeEntry::class, $extendedCrudPermissions); $this->configureResource($role, Artist::class, $extendedCrudPermissions); diff --git a/database/seeders/Auth/Role/ContributorRoleSeeder.php b/database/seeders/Auth/Role/ContributorRoleSeeder.php index b668b2293..0ff5a751e 100644 --- a/database/seeders/Auth/Role/ContributorRoleSeeder.php +++ b/database/seeders/Auth/Role/ContributorRoleSeeder.php @@ -17,7 +17,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -60,7 +59,6 @@ class ContributorRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, [CrudPermission::VIEW]); - $this->configureResource($role, AnimeSynonym::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeTheme::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeThemeEntry::class, [CrudPermission::VIEW]); $this->configureResource($role, Artist::class, [CrudPermission::VIEW]); diff --git a/database/seeders/Auth/Role/DeveloperRoleSeeder.php b/database/seeders/Auth/Role/DeveloperRoleSeeder.php index 1253d195d..5df4e67bb 100644 --- a/database/seeders/Auth/Role/DeveloperRoleSeeder.php +++ b/database/seeders/Auth/Role/DeveloperRoleSeeder.php @@ -17,7 +17,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -60,7 +59,6 @@ class DeveloperRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, [CrudPermission::VIEW]); - $this->configureResource($role, AnimeSynonym::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeTheme::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeThemeEntry::class, [CrudPermission::VIEW]); $this->configureResource($role, Artist::class, [CrudPermission::VIEW]); diff --git a/database/seeders/Auth/Role/EncoderRoleSeeder.php b/database/seeders/Auth/Role/EncoderRoleSeeder.php index bae188e49..b5d306e7b 100644 --- a/database/seeders/Auth/Role/EncoderRoleSeeder.php +++ b/database/seeders/Auth/Role/EncoderRoleSeeder.php @@ -18,7 +18,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -73,7 +72,6 @@ class EncoderRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, $extendedCrudPermissions); - $this->configureResource($role, AnimeSynonym::class, $extendedCrudPermissions); $this->configureResource($role, AnimeTheme::class, $extendedCrudPermissions); $this->configureResource($role, AnimeThemeEntry::class, $extendedCrudPermissions); $this->configureResource($role, Artist::class, $extendedCrudPermissions); diff --git a/database/seeders/Auth/Role/PanelViewerRoleSeeder.php b/database/seeders/Auth/Role/PanelViewerRoleSeeder.php index f1897fa38..05d593683 100644 --- a/database/seeders/Auth/Role/PanelViewerRoleSeeder.php +++ b/database/seeders/Auth/Role/PanelViewerRoleSeeder.php @@ -17,7 +17,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -60,7 +59,6 @@ class PanelViewerRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, [CrudPermission::VIEW]); - $this->configureResource($role, AnimeSynonym::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeTheme::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeThemeEntry::class, [CrudPermission::VIEW]); $this->configureResource($role, Artist::class, [CrudPermission::VIEW]); diff --git a/database/seeders/Auth/Role/PatronRoleSeeder.php b/database/seeders/Auth/Role/PatronRoleSeeder.php index f68c5a208..78bc2ac82 100644 --- a/database/seeders/Auth/Role/PatronRoleSeeder.php +++ b/database/seeders/Auth/Role/PatronRoleSeeder.php @@ -17,7 +17,6 @@ use App\Models\User\Like; use App\Models\User\Notification; use App\Models\User\WatchHistory; 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; @@ -60,7 +59,6 @@ class PatronRoleSeeder extends RoleSeeder // Wiki Resources $this->configureResource($role, Anime::class, [CrudPermission::VIEW]); - $this->configureResource($role, AnimeSynonym::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeTheme::class, [CrudPermission::VIEW]); $this->configureResource($role, AnimeThemeEntry::class, [CrudPermission::VIEW]); $this->configureResource($role, Artist::class, [CrudPermission::VIEW]); diff --git a/elastic/migrations/2020_12_22_034553_create_anime_synonym_index.php b/elastic/migrations/2020_12_22_034553_create_anime_synonym_index.php deleted file mode 100644 index 049113541..000000000 --- a/elastic/migrations/2020_12_22_034553_create_anime_synonym_index.php +++ /dev/null @@ -1,78 +0,0 @@ -configureTextAnalyzers($settings); - - $mapping->nested('anime', [ - 'properties' => [ - 'anime_id' => [ - 'type' => 'long', - ], - 'created_at' => [ - 'type' => 'date', - ], - 'name' => [ - 'type' => 'text', - 'analyzer' => 'name_search', - ], - 'format' => [ - 'type' => 'long', - ], - 'season' => [ - 'type' => 'long', - ], - 'slug' => [ - 'type' => 'text', - ], - 'synopsis' => [ - 'type' => 'text', - ], - 'updated_at' => [ - 'type' => 'date', - ], - 'year' => [ - 'type' => 'long', - ], - ], - ]); - $mapping->long('anime_id'); - $mapping->date('created_at'); - $mapping->long('synonym_id'); - $mapping->text('text', [ - 'analyzer' => 'name_search', - 'fields' => [ - 'keyword' => [ - 'type' => 'keyword', - ], - ], - ]); - $mapping->long('type'); - $mapping->date('updated_at'); - }); - } - - /** - * Reverse the migration. - */ - public function down(): void - { - Index::dropIfExists('anime_synonyms'); - } -} diff --git a/graphql/Models/Wiki/anime.graphql b/graphql/Models/Wiki/anime.graphql index 132f12e78..3eefbd51d 100644 --- a/graphql/Models/Wiki/anime.graphql +++ b/graphql/Models/Wiki/anime.graphql @@ -10,12 +10,6 @@ type Anime @model(class: "App\\Models\\Wiki\\Anime") { "The primary title of the anime" name: String! - "The media format of the anime" - mediaFormat: AnimeMediaFormat @rename(attribute: "media_format") @deprecated(reason: "Use 'format' instead") - - "The formatted string value of the mediaFormat field" - mediaFormatLocalized: String @localized @deprecated(reason: "Use 'formatLocalized' instead") - "The format of the anime" format: AnimeFormat @@ -126,8 +120,6 @@ extend type Query { search: String @search name: String @eq name_like: String @like(key: "name") - mediaFormat: AnimeMediaFormat @eq(key: "media_format") @deprecated(reason: "Use 'format' instead") - mediaFormat_in: [AnimeMediaFormat!] @in(key: "media_format") @deprecated(reason: "Use 'format_in' instead") format: AnimeFormat @eq format_in: [AnimeFormat!] @in(key: "format") season: AnimeSeason @eq diff --git a/graphql/Models/Wiki/animeyear.graphql b/graphql/Models/Wiki/animeyear.graphql index c0df7a8e0..ee3d82377 100644 --- a/graphql/Models/Wiki/animeyear.graphql +++ b/graphql/Models/Wiki/animeyear.graphql @@ -21,8 +21,6 @@ type AnimeYearSeasons { "The animes of the season year filtered" anime( name_like: String @like(key: "name") - mediaFormat: AnimeMediaFormat @eq(key: "media_format") @deprecated(reason: "Use 'format' instead") - mediaFormat_in: [AnimeMediaFormat!] @in(key: "media_format") @deprecated(reason: "Use 'format_in' instead") format: AnimeFormat @eq(key: "format") format_in: [AnimeFormat!] @in(key: "format") season: AnimeSeason @eq @@ -48,8 +46,6 @@ type AnimeYearSeason { "The animes of the season year filtered" anime( name_like: String @like(key: "name") - mediaFormat: AnimeMediaFormat @eq(key: "media_format") @deprecated(reason: "Use 'format' instead") - mediaFormat_in: [AnimeMediaFormat!] @in(key: "media_format") @deprecated(reason: "Use 'format_in' instead") format: AnimeFormat @eq(key: "format") format_in: [AnimeFormat!] @in(key: "format") season: AnimeSeason @eq diff --git a/graphql/Models/Wiki/series.graphql b/graphql/Models/Wiki/series.graphql index ae03174ce..5a5e9b79d 100644 --- a/graphql/Models/Wiki/series.graphql +++ b/graphql/Models/Wiki/series.graphql @@ -21,8 +21,6 @@ type Series @model(class: "App\\Models\\Wiki\\Series") { anime( name_like: String @like(key: "name") - mediaFormat: AnimeMediaFormat @eq(key: "media_format") @deprecated(reason: "Use 'format' instead") - mediaFormat_in: [AnimeMediaFormat!] @in(key: "media_format") @deprecated(reason: "Use 'format_in' instead") format: AnimeFormat @eq format_in: [AnimeFormat!] @in(key: "format") season: AnimeSeason @eq diff --git a/graphql/Models/Wiki/studio.graphql b/graphql/Models/Wiki/studio.graphql index d5ab03291..8f2cae639 100644 --- a/graphql/Models/Wiki/studio.graphql +++ b/graphql/Models/Wiki/studio.graphql @@ -21,8 +21,6 @@ type Studio @model(class: "App\\Models\\Wiki\\Studio") { anime( name_like: String @like(key: "name") - mediaFormat: AnimeMediaFormat @eq(key: "media_format") @deprecated(reason: "Use 'format' instead") - mediaFormat_in: [AnimeMediaFormat!] @in(key: "media_format") @deprecated(reason: "Use 'format_in' instead") format: AnimeFormat @eq format_in: [AnimeFormat!] @in(key: "format") season: AnimeSeason @eq diff --git a/lang/en/enums.php b/lang/en/enums.php index b81f6bfd4..bb06788b8 100644 --- a/lang/en/enums.php +++ b/lang/en/enums.php @@ -9,9 +9,7 @@ use App\Enums\Models\List\ExternalProfileVisibility; use App\Enums\Models\List\PlaylistVisibility; use App\Enums\Models\User\SubmissionStatus; use App\Enums\Models\Wiki\AnimeFormat; -use App\Enums\Models\Wiki\AnimeMediaFormat; use App\Enums\Models\Wiki\AnimeSeason; -use App\Enums\Models\Wiki\AnimeSynonymType; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; use App\Enums\Models\Wiki\ThemeType; @@ -33,26 +31,12 @@ return [ AnimeFormat::SPECIAL->name => 'Special', AnimeFormat::ONA->name => 'ONA', ], - AnimeMediaFormat::class => [ - AnimeMediaFormat::TV->name => 'TV', - AnimeMediaFormat::TV_SHORT->name => 'TV Short', - AnimeMediaFormat::OVA->name => 'OVA', - AnimeMediaFormat::MOVIE->name => 'Movie', - AnimeMediaFormat::SPECIAL->name => 'Special', - AnimeMediaFormat::ONA->name => 'ONA', - ], AnimeSeason::class => [ AnimeSeason::WINTER->name => 'Winter', AnimeSeason::SPRING->name => 'Spring', AnimeSeason::SUMMER->name => 'Summer', AnimeSeason::FALL->name => 'Fall', ], - AnimeSynonymType::class => [ - AnimeSynonymType::OTHER->name => 'Other', - AnimeSynonymType::NATIVE->name => 'Native', - AnimeSynonymType::ENGLISH->name => 'English', - AnimeSynonymType::SHORT->name => 'Short', - ], ExternalEntryStatus::class => [ ExternalEntryStatus::WATCHING->name => 'Watching', ExternalEntryStatus::COMPLETED->name => 'Completed', diff --git a/routes/api.php b/routes/api.php index facecff22..2c16fd8fe 100644 --- a/routes/api.php +++ b/routes/api.php @@ -25,7 +25,6 @@ use App\Http\Controllers\Api\Pivot\Wiki\AnimeStudioController; use App\Http\Controllers\Api\Pivot\Wiki\AnimeThemeEntryVideoController; use App\Http\Controllers\Api\Pivot\Wiki\ArtistMemberController; use App\Http\Controllers\Api\SearchController; -use App\Http\Controllers\Api\Wiki\Anime\AnimeSynonymController; use App\Http\Controllers\Api\Wiki\Anime\Theme\EntryController; use App\Http\Controllers\Api\Wiki\Anime\ThemeController; use App\Http\Controllers\Api\Wiki\Anime\YearController; @@ -263,7 +262,6 @@ apiResource('synonym', SynonymController::class); apiResource('video', VideoController::class); // Anime Routes -apiResource('animesynonym', AnimeSynonymController::class); apiResource('animetheme', ThemeController::class); Route::get('animeyear', [YearController::class, 'index'])->name('animeyear.index'); Route::get('animeyear/{year}', [YearController::class, 'show'])->name('animeyear.show'); diff --git a/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesIndexTest.php b/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesIndexTest.php index b7af05a00..0bcea43e8 100644 --- a/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesIndexTest.php +++ b/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesIndexTest.php @@ -5,7 +5,7 @@ declare(strict_types=1); use App\Concerns\Actions\Http\Api\SortsModels; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Criteria\Paging\Criteria; use App\Http\Api\Criteria\Paging\OffsetCriteria; @@ -283,11 +283,11 @@ test('updated at filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeSeries::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesShowTest.php b/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesShowTest.php index 4d48130d6..1d0e31ed1 100644 --- a/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesShowTest.php +++ b/tests/Feature/Http/Api/Pivot/Wiki/AnimeSeries/AnimeSeriesShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Field\Field; use App\Http\Api\Include\AllowedInclude; @@ -123,11 +123,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeSeries::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioIndexTest.php b/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioIndexTest.php index ceb680770..75964f9a3 100644 --- a/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioIndexTest.php +++ b/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioIndexTest.php @@ -5,7 +5,7 @@ declare(strict_types=1); use App\Concerns\Actions\Http\Api\SortsModels; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Criteria\Paging\Criteria; use App\Http\Api\Criteria\Paging\OffsetCriteria; @@ -283,11 +283,11 @@ test('updated at filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeStudio::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioShowTest.php b/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioShowTest.php index b81c61a46..2d22fa5ca 100644 --- a/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioShowTest.php +++ b/tests/Feature/Http/Api/Pivot/Wiki/AnimeStudio/AnimeStudioShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Field\Field; use App\Http\Api\Include\AllowedInclude; @@ -123,11 +123,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeStudio::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Anime/AnimeIndexTest.php b/tests/Feature/Http/Api/Wiki/Anime/AnimeIndexTest.php index 17f957ebb..564de75d7 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/AnimeIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/AnimeIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; @@ -43,6 +43,7 @@ use App\Models\Wiki\Video; use Illuminate\Database\Eloquent\Factories\Sequence; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Arr; use Illuminate\Support\Facades\Date; @@ -201,11 +202,11 @@ test('season filter', function (): void { }); test('media format filter', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], ]; @@ -480,7 +481,7 @@ test('synonyms by type', function (): void { ->create(); $anime = Anime::with([ - Anime::RELATION_ANIMESYNONYMS => function (HasMany $query) use ($typeFilter): void { + Anime::RELATION_ANIMESYNONYMS => function (MorphMany $query) use ($typeFilter): void { $query->where(Synonym::ATTRIBUTE_TYPE, $typeFilter->value); }, ]) diff --git a/tests/Feature/Http/Api/Wiki/Anime/AnimeShowTest.php b/tests/Feature/Http/Api/Wiki/Anime/AnimeShowTest.php index 1f9fe940f..82ed98431 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/AnimeShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/AnimeShowTest.php @@ -28,6 +28,7 @@ use App\Models\Wiki\Video; use Illuminate\Database\Eloquent\Factories\Sequence; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Support\Arr; @@ -146,7 +147,7 @@ test('synonyms by type', function (): void { ->createOne(); $anime->unsetRelations()->load([ - Anime::RELATION_ANIMESYNONYMS => function (HasMany $query) use ($typeFilter): void { + Anime::RELATION_ANIMESYNONYMS => function (MorphMany $query) use ($typeFilter): void { $query->where(Synonym::ATTRIBUTE_TYPE, $typeFilter->value); }, ]); diff --git a/tests/Feature/Http/Api/Wiki/Anime/AnimeStoreTest.php b/tests/Feature/Http/Api/Wiki/Anime/AnimeStoreTest.php index 2cfa8ae0b..541ac9fa4 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/AnimeStoreTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/AnimeStoreTest.php @@ -3,7 +3,7 @@ declare(strict_types=1); use App\Enums\Auth\CrudPermission; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Models\Auth\User; use App\Models\Wiki\Anime; @@ -50,11 +50,11 @@ test('required fields', function (): void { test('create', function (): void { $season = Arr::random(AnimeSeason::cases()); - $mediaFormat = Arr::random(AnimeMediaFormat::cases()); + $mediaFormat = Arr::random(AnimeFormat::cases()); $parameters = array_merge( Anime::factory()->raw(), - [Anime::ATTRIBUTE_SEASON => $season->localize(), Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormat->localize()], + [Anime::ATTRIBUTE_SEASON => $season->localize(), 'media_format' => $mediaFormat->localize()], ); $user = User::factory()->withPermissions(CrudPermission::CREATE->format(Anime::class))->createOne(); diff --git a/tests/Feature/Http/Api/Wiki/Anime/AnimeUpdateTest.php b/tests/Feature/Http/Api/Wiki/Anime/AnimeUpdateTest.php index 33e6fd5d8..446524fe0 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/AnimeUpdateTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/AnimeUpdateTest.php @@ -3,7 +3,7 @@ declare(strict_types=1); use App\Enums\Auth\CrudPermission; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Models\Auth\User; use App\Models\Wiki\Anime; @@ -16,11 +16,11 @@ test('protected', function (): void { $anime = Anime::factory()->createOne(); $season = Arr::random(AnimeSeason::cases()); - $mediaFormat = Arr::random(AnimeMediaFormat::cases()); + $mediaFormat = Arr::random(AnimeFormat::cases()); $parameters = array_merge( Anime::factory()->raw(), - [Anime::ATTRIBUTE_SEASON => $season->localize(), Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormat->localize()], + [Anime::ATTRIBUTE_SEASON => $season->localize(), 'media_format' => $mediaFormat->localize()], ); $response = put(route('api.anime.update', ['anime' => $anime] + $parameters)); @@ -32,11 +32,11 @@ test('forbidden', function (): void { $anime = Anime::factory()->createOne(); $season = Arr::random(AnimeSeason::cases()); - $mediaFormat = Arr::random(AnimeMediaFormat::cases()); + $mediaFormat = Arr::random(AnimeFormat::cases()); $parameters = array_merge( Anime::factory()->raw(), - [Anime::ATTRIBUTE_SEASON => $season->localize(), Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormat->localize()], + [Anime::ATTRIBUTE_SEASON => $season->localize(), 'media_format' => $mediaFormat->localize()], ); $user = User::factory()->createOne(); @@ -52,11 +52,11 @@ test('trashed', function (): void { $anime = Anime::factory()->trashed()->createOne(); $season = Arr::random(AnimeSeason::cases()); - $mediaFormat = Arr::random(AnimeMediaFormat::cases()); + $mediaFormat = Arr::random(AnimeFormat::cases()); $parameters = array_merge( Anime::factory()->raw(), - [Anime::ATTRIBUTE_SEASON => $season->localize(), Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormat->localize()], + [Anime::ATTRIBUTE_SEASON => $season->localize(), 'media_format' => $mediaFormat->localize()], ); $user = User::factory()->withPermissions(CrudPermission::UPDATE->format(Anime::class))->createOne(); @@ -72,11 +72,11 @@ test('update', function (): void { $anime = Anime::factory()->createOne(); $season = Arr::random(AnimeSeason::cases()); - $mediaFormat = Arr::random(AnimeMediaFormat::cases()); + $mediaFormat = Arr::random(AnimeFormat::cases()); $parameters = array_merge( Anime::factory()->raw(), - [Anime::ATTRIBUTE_SEASON => $season->localize(), Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormat->localize()], + [Anime::ATTRIBUTE_SEASON => $season->localize(), 'media_format' => $mediaFormat->localize()], ); $user = User::factory()->withPermissions(CrudPermission::UPDATE->format(Anime::class))->createOne(); diff --git a/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryIndexTest.php b/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryIndexTest.php index 4c4fc9a13..5daf9eaf8 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Criteria\Filter\TrashedCriteria; @@ -519,11 +519,11 @@ test('entries by version', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeThemeEntry::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryShowTest.php b/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryShowTest.php index 7af41bf91..3e9598134 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/Theme/Entry/EntryShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Field\Field; @@ -130,11 +130,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeThemeEntry::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeIndexTest.php b/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeIndexTest.php index 2422f2d51..afc211957 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ThemeType; @@ -507,11 +507,11 @@ test('type filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeTheme::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeShowTest.php b/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeShowTest.php index be15cdd26..5ef5813f3 100644 --- a/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Anime/Theme/ThemeShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\VideoOverlap; @@ -149,11 +149,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => AnimeTheme::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Artist/ArtistIndexTest.php b/tests/Feature/Http/Api/Wiki/Artist/ArtistIndexTest.php index 93c01845a..fa612f39d 100644 --- a/tests/Feature/Http/Api/Wiki/Artist/ArtistIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Artist/ArtistIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; @@ -468,11 +468,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Artist::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Artist/ArtistShowTest.php b/tests/Feature/Http/Api/Wiki/Artist/ArtistShowTest.php index 3fa8cf562..fad89eee8 100644 --- a/tests/Feature/Http/Api/Wiki/Artist/ArtistShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Artist/ArtistShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; @@ -216,11 +216,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Artist::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceIndexTest.php b/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceIndexTest.php index c1ecf05ae..55dd2ab4a 100644 --- a/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ResourceSite; use App\Http\Api\Criteria\Filter\TrashedCriteria; @@ -402,11 +402,11 @@ test('site filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => ExternalResource::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceShowTest.php b/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceShowTest.php index 3d3ff6b10..cb031c947 100644 --- a/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceShowTest.php +++ b/tests/Feature/Http/Api/Wiki/ExternalResource/ExternalResourceShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Field\Field; use App\Http\Api\Include\AllowedInclude; @@ -121,11 +121,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => ExternalResource::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Group/GroupIndexTest.php b/tests/Feature/Http/Api/Wiki/Group/GroupIndexTest.php index a1c5eea8a..d3e832da4 100644 --- a/tests/Feature/Http/Api/Wiki/Group/GroupIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Group/GroupIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Criteria\Filter\TrashedCriteria; @@ -451,11 +451,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Group::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Group/GroupShowTest.php b/tests/Feature/Http/Api/Wiki/Group/GroupShowTest.php index fa5205d2d..13d0123f6 100644 --- a/tests/Feature/Http/Api/Wiki/Group/GroupShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Group/GroupShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Field\Field; @@ -200,11 +200,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Group::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Image/ImageIndexTest.php b/tests/Feature/Http/Api/Wiki/Image/ImageIndexTest.php index cf335c909..7d7decefd 100644 --- a/tests/Feature/Http/Api/Wiki/Image/ImageIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Image/ImageIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Http\Api\Criteria\Filter\TrashedCriteria; @@ -402,11 +402,11 @@ test('facet filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Image::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Image/ImageShowTest.php b/tests/Feature/Http/Api/Wiki/Image/ImageShowTest.php index 77add779c..47179fcf0 100644 --- a/tests/Feature/Http/Api/Wiki/Image/ImageShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Image/ImageShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Field\Field; use App\Http\Api\Include\AllowedInclude; @@ -121,11 +121,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Image::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Series/SeriesIndexTest.php b/tests/Feature/Http/Api/Wiki/Series/SeriesIndexTest.php index a175a5344..7cf67ec63 100644 --- a/tests/Feature/Http/Api/Wiki/Series/SeriesIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Series/SeriesIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Criteria\Filter\TrashedCriteria; use App\Http\Api\Criteria\Paging\Criteria; @@ -367,11 +367,11 @@ test('deleted at filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Series::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Series/SeriesShowTest.php b/tests/Feature/Http/Api/Wiki/Series/SeriesShowTest.php index 0a78ac135..98529751f 100644 --- a/tests/Feature/Http/Api/Wiki/Series/SeriesShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Series/SeriesShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Http\Api\Field\Field; use App\Http\Api\Include\AllowedInclude; @@ -120,11 +120,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Series::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Song/SongIndexTest.php b/tests/Feature/Http/Api/Wiki/Song/SongIndexTest.php index 6bc3b898e..2122a6657 100644 --- a/tests/Feature/Http/Api/Wiki/Song/SongIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Song/SongIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Criteria\Filter\TrashedCriteria; @@ -453,11 +453,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Song::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Song/SongShowTest.php b/tests/Feature/Http/Api/Wiki/Song/SongShowTest.php index 7824cb68f..0258d60c3 100644 --- a/tests/Feature/Http/Api/Wiki/Song/SongShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Song/SongShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Field\Field; @@ -202,11 +202,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Song::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Studio/StudioIndexTest.php b/tests/Feature/Http/Api/Wiki/Studio/StudioIndexTest.php index bf86d8dc6..4b4f0e0a8 100644 --- a/tests/Feature/Http/Api/Wiki/Studio/StudioIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Studio/StudioIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; @@ -371,11 +371,11 @@ test('deleted at filter', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Studio::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Studio/StudioShowTest.php b/tests/Feature/Http/Api/Wiki/Studio/StudioShowTest.php index 7fcade02d..9730c24ec 100644 --- a/tests/Feature/Http/Api/Wiki/Studio/StudioShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Studio/StudioShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ImageFacet; use App\Enums\Models\Wiki\ResourceSite; @@ -124,11 +124,11 @@ test('sparse fieldsets', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Studio::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Video/VideoIndexTest.php b/tests/Feature/Http/Api/Wiki/Video/VideoIndexTest.php index 14c3ce331..ae874fb77 100644 --- a/tests/Feature/Http/Api/Wiki/Video/VideoIndexTest.php +++ b/tests/Feature/Http/Api/Wiki/Video/VideoIndexTest.php @@ -7,7 +7,7 @@ use App\Constants\ModelConstants; use App\Contracts\Http\Api\Field\SortableField; use App\Enums\Http\Api\Filter\TrashedStatus; use App\Enums\Http\Api\Sort\Direction; -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Enums\Models\Wiki\VideoOverlap; @@ -809,11 +809,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Video::RELATION_ANIME, ]; diff --git a/tests/Feature/Http/Api/Wiki/Video/VideoShowTest.php b/tests/Feature/Http/Api/Wiki/Video/VideoShowTest.php index b46175b14..9b3e82476 100644 --- a/tests/Feature/Http/Api/Wiki/Video/VideoShowTest.php +++ b/tests/Feature/Http/Api/Wiki/Video/VideoShowTest.php @@ -2,7 +2,7 @@ declare(strict_types=1); -use App\Enums\Models\Wiki\AnimeMediaFormat; +use App\Enums\Models\Wiki\AnimeFormat; use App\Enums\Models\Wiki\AnimeSeason; use App\Enums\Models\Wiki\ThemeType; use App\Http\Api\Field\Field; @@ -332,11 +332,11 @@ test('themes by type', function (): void { }); test('anime by media format', function (): void { - $mediaFormatFilter = Arr::random(AnimeMediaFormat::cases()); + $mediaFormatFilter = Arr::random(AnimeFormat::cases()); $parameters = [ FilterParser::param() => [ - Anime::ATTRIBUTE_MEDIA_FORMAT => $mediaFormatFilter->localize(), + 'media_format' => $mediaFormatFilter->localize(), ], IncludeParser::param() => Video::RELATION_ANIME, ];