chore: update to php 8.4 (#763)

This commit is contained in:
Kyrch
2024-12-08 19:53:24 -03:00
committed by GitHub
parent 7be14cb615
commit 2a856c3eee
227 changed files with 1671 additions and 1648 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.4.1'
tools: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, phpunit
- uses: actions/checkout@v3
- name: Copy .env
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
php-version: '8.4.1'
tools: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, phpunit
- uses: actions/checkout@v3
- name: Copy .env
+1 -1
View File
@@ -1,4 +1,4 @@
version: 8.2
version: 8.4.1
preset: laravel
finder:
not-name:
+1 -1
View File
@@ -28,7 +28,7 @@ class DiscordMessageAction
$embeds = [];
foreach (Arr::get($fields, DiscordMessage::ATTRIBUTE_EMBEDS) as $embed) {
$newEmbed = (new DiscordEmbed())
$newEmbed = new DiscordEmbed()
->setTitle(Arr::get($embed, DiscordEmbed::ATTRIBUTE_TITLE) ?? '')
->setDescription(Arr::get($embed, DiscordEmbed::ATTRIBUTE_DESCRIPTION) ?? '')
->setColor(hexdec(Arr::get($embed, DiscordEmbed::ATTRIBUTE_COLOR) ?? ''))
@@ -10,7 +10,6 @@ use Exception;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage;
/**
* Class DiscordThreadAction.
@@ -31,11 +30,6 @@ class DiscordThreadAction
$anime->name = Arr::get($fields, 'name');
/** @var \Illuminate\Filesystem\FilesystemAdapter $fs */
$fs = Storage::disk(Config::get('image.disk'));
$anime->images->each(fn ($image) => Arr::set($image, 'link', $fs->url($image->path)));
$animeArray = $anime->toArray();
Arr::set($animeArray, Anime::ATTRIBUTE_SEASON, $anime->season->localize());
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace App\Actions\Discord;
use App\Models\Wiki\Image;
use App\Models\Wiki\Video;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\Arr;
@@ -55,10 +54,6 @@ class DiscordVideoNotificationAction
$anime->load('discordthread');
}
$anime->images->each(function (Image $image) use ($fs) {
Arr::set($image, 'link', $fs->url($image->path));
});
$videoArray = $video->toArray();
Arr::set($videoArray, Video::ATTRIBUTE_SOURCE, $video->source->localize());
@@ -33,7 +33,7 @@ trait DiscordThreadActionTrait
$this->fillForm(fn (Anime $record): array => ['name' => $record->getName()]);
$this->action(function (Anime $record, array $data) {
$action = (new DiscordThreadActionAction())->handle($record, $data);
$action = new DiscordThreadActionAction()->handle($record, $data);
if ($action instanceof Exception) {
$this->failedLog($action);
@@ -38,7 +38,7 @@ trait AttachAnimeResourceActionTrait
ResourceSite::WIKI,
]);
$this->action(fn (Anime $record, array $data) => (new AttachResourceActionAction($record, $data, $this->sites))->handle());
$this->action(fn (Anime $record, array $data) => new AttachResourceActionAction($record, $data, $this->sites)->handle());
}
/**
@@ -38,7 +38,7 @@ trait AttachArtistResourceActionTrait
ResourceSite::WIKI,
]);
$this->action(fn (Artist $record, array $data) => (new AttachResourceActionAction($record, $data, $this->sites))->handle());
$this->action(fn (Artist $record, array $data) => new AttachResourceActionAction($record, $data, $this->sites)->handle());
}
/**
@@ -38,7 +38,7 @@ trait AttachImageActionTrait
$this->authorize('create', Image::class);
$this->action(fn (BaseModel $record, array $data) => (new AttachImageActionAction($record, $data, $this->facets))->handle());
$this->action(fn (BaseModel $record, array $data) => new AttachImageActionAction($record, $data, $this->facets)->handle());
}
/**
@@ -33,7 +33,7 @@ trait AttachSongResourceActionTrait
ResourceSite::AMAZON_MUSIC,
]);
$this->action(fn (Song $record, array $data) => (new AttachResourceActionAction($record, $data, $this->sites))->handle());
$this->action(fn (Song $record, array $data) => new AttachResourceActionAction($record, $data, $this->sites)->handle());
}
/**
@@ -32,7 +32,7 @@ trait AttachStudioResourceActionTrait
ResourceSite::MAL,
]);
$this->action(fn (Studio $record, array $data) => (new AttachResourceActionAction($record, $data, $this->sites))->handle());
$this->action(fn (Studio $record, array $data) => new AttachResourceActionAction($record, $data, $this->sites)->handle());
}
/**
+1 -1
View File
@@ -13,7 +13,7 @@ trait HasTabs
{
/**
* Get the tabs for an array key-mapped.
*
*
* @param class-string<BaseTab>[] $tabClasses
* @return array
*/
@@ -44,7 +44,7 @@ class BelongsToColumn extends TextColumn
return "<p style='color: rgb(64, 184, 166);'>{$nameLimited}</p>";
});
return (new $this->resource)::getUrl('view', ['record' => $record]);
return $this->resource::getUrl('view', ['record' => $record]);
});
}
+4 -4
View File
@@ -40,7 +40,7 @@ class BelongsTo extends ComponentsSelect
if ($this->showCreateOption) {
$this->createOptionForm(fn (Form $form) => $resource::form($form)->getComponents());
$this->createOptionUsing(fn (array $data) => (new $model)::query()->create($data)->getKey());
$this->createOptionUsing(fn (array $data) => $model::query()->create($data)->getKey());
}
}
}
@@ -85,12 +85,12 @@ class BelongsTo extends ComponentsSelect
{
$this->allowHtml();
$this->searchable();
$this->getOptionLabelUsing(fn ($state) => static::getSearchLabelWithBlade((new $model)::find($state)));
$this->getOptionLabelUsing(fn ($state) => static::getSearchLabelWithBlade($model::find($state)));
if (in_array(Searchable::class, class_uses_recursive($model))) {
return $this
->getSearchResultsUsing(function (string $search) use ($model) {
return (new $model)::search($search)
return $model::search($search)
->take(25)
->get()
->mapWithKeys(fn (BaseModel $model) => [$model->getKey() => static::getSearchLabelWithBlade($model)])
@@ -100,7 +100,7 @@ class BelongsTo extends ComponentsSelect
return $this
->getSearchResultsUsing(function (string $search) use ($model) {
return (new $model)::query()
return $model::query()
->where($this->resource->getRecordTitleAttribute(), ComparisonOperator::LIKE->value, "%$search%")
->take(25)
->get()
+2 -2
View File
@@ -26,9 +26,9 @@ class Select extends ComponentsSelect
return $this
->allowHtml()
->searchable()
->getOptionLabelUsing(fn ($state) => BelongsTo::getSearchLabelWithBlade((new $model)::find($state)))
->getOptionLabelUsing(fn ($state) => BelongsTo::getSearchLabelWithBlade($model::find($state)))
->getSearchResultsUsing(function (string $search) use ($model, $loadRelation) {
return (new $model)::search($search)
return $model::search($search)
->take(25)
->get()
->load($loadRelation ?? [])
@@ -43,7 +43,7 @@ class TextEntry extends ComponentsTextEntry
return "<p style='color: rgb(64, 184, 166);'>{$name}</p>";
});
return (new $resourceRelated)::getUrl('view', ['record' => $record]);
return $resourceRelated::getUrl('view', ['record' => $record]);
});
}
@@ -57,7 +57,7 @@ abstract class BaseRelationManager extends RelationManager
$pivot = current($record->getRelations());
$createdAtField = Arr::get($pivot->getAttributes(), BasePivot::ATTRIBUTE_CREATED_AT);
if (!$createdAtField) return '-';
return (new DateTime($createdAtField))->format('M j, Y H:i:s');
return new DateTime($createdAtField)->format('M j, Y H:i:s');
}),
TextColumn::make(BasePivot::ATTRIBUTE_UPDATED_AT)
@@ -67,7 +67,7 @@ abstract class BaseRelationManager extends RelationManager
$pivot = current($record->getRelations());
$updatedAtField = Arr::get($pivot->getAttributes(), BasePivot::ATTRIBUTE_UPDATED_AT);
if (!$updatedAtField) return '-';
return (new DateTime($updatedAtField))->format('M j, Y H:i:s');
return new DateTime($updatedAtField)->format('M j, Y H:i:s');
}),
],
))
@@ -25,7 +25,7 @@ class BaseViewResource extends ViewRecord
*/
protected function getHeaderActions(): array
{
$pages = (new static::$resource)::getPages();
$pages = static::$resource::getPages();
if (Arr::has($pages, 'edit')) {
$editPage = $pages['edit']->getPage();
@@ -134,7 +134,7 @@ class DiscordThread extends BaseResource
->required()
->rules(['required'])
->live()
->afterStateUpdated(fn (Set $set, string $state) => $set(DiscordThreadModel::ATTRIBUTE_NAME, Arr::get((new DiscordThreadAction())->get($state), 'thread.name'))),
->afterStateUpdated(fn (Set $set, string $state) => $set(DiscordThreadModel::ATTRIBUTE_NAME, Arr::get(new DiscordThreadAction()->get($state), 'thread.name'))),
TextInput::make(DiscordThreadModel::ATTRIBUTE_NAME)
->label(__('filament.fields.discord_thread.name.name'))
@@ -84,7 +84,7 @@ class DiscordEditMessageTableAction extends BaseTableAction
$component->hint(null);
$message = (new DiscordMessageAction())->get($state);
$message = new DiscordMessageAction()->get($state);
$set(DiscordMessage::ATTRIBUTE_CONTENT, Arr::get($message, DiscordMessage::ATTRIBUTE_CONTENT));
@@ -8,6 +8,7 @@ use App\Contracts\Http\Api\Field\RenderableField;
use App\Http\Api\Field\Field;
use App\Http\Api\Query\Query;
use App\Http\Api\Schema\Schema;
use App\Models\Wiki\Audio;
use Illuminate\Database\Eloquent\Model;
/**
@@ -22,7 +23,7 @@ class AudioLinkField extends Field implements RenderableField
*/
public function __construct(Schema $schema)
{
parent::__construct($schema, 'link');
parent::__construct($schema, Audio::ATTRIBUTE_LINK);
}
/**
@@ -46,6 +47,6 @@ class AudioLinkField extends Field implements RenderableField
*/
public function render(Model $model): string
{
return route('audio.show', $model);
return $model->getAttribute($this->getColumn());
}
}
@@ -10,8 +10,6 @@ use App\Http\Api\Query\Query;
use App\Http\Api\Schema\Schema;
use App\Models\Wiki\Image;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Storage;
/**
* Class ImageLinkField.
@@ -25,7 +23,7 @@ class ImageLinkField extends Field implements RenderableField
*/
public function __construct(Schema $schema)
{
parent::__construct($schema, 'link');
parent::__construct($schema, Image::ATTRIBUTE_LINK);
}
/**
@@ -49,8 +47,6 @@ class ImageLinkField extends Field implements RenderableField
*/
public function render(Model $model): string
{
$fs = Storage::disk(Config::get('image.disk'));
return $fs->url($model->getAttribute(Image::ATTRIBUTE_PATH));
return $model->getAttribute($this->getColumn());
}
}
@@ -36,6 +36,6 @@ class ImagePathField extends StringField
$criteria = $query->getFieldCriteria($this->schema->type());
// The link field is dependent on this field to build the url.
return parent::shouldSelect($query, $schema) || $criteria->isAllowedField('link');
return parent::shouldSelect($query, $schema) || $criteria->isAllowedField(Image::ATTRIBUTE_LINK);
}
}
@@ -8,6 +8,7 @@ use App\Contracts\Http\Api\Field\RenderableField;
use App\Http\Api\Field\Field;
use App\Http\Api\Query\Query;
use App\Http\Api\Schema\Schema;
use App\Models\Wiki\Video;
use Illuminate\Database\Eloquent\Model;
/**
@@ -22,7 +23,7 @@ class VideoLinkField extends Field implements RenderableField
*/
public function __construct(Schema $schema)
{
parent::__construct($schema, 'link');
parent::__construct($schema, Video::ATTRIBUTE_LINK);
}
/**
@@ -46,6 +47,6 @@ class VideoLinkField extends Field implements RenderableField
*/
public function render(Model $model): string
{
return route('video.show', $model);
return $model->getAttribute($this->getColumn());
}
}
@@ -66,7 +66,7 @@ class ExternalProfileController extends BaseController
$userId = Auth::id();
if ($userId) {
$builder->orWhere(ExternalProfile::ATTRIBUTE_USER, Auth::id());
$builder->orWhereBelongsTo(Auth::user());
}
$externalprofiles = $query->hasSearchCriteria()
+2 -2
View File
@@ -33,7 +33,7 @@ use Throwable;
* @property string|null $exception
* @property Carbon|null $finished_at
* @property ActionLogStatus $status
* @property morphs $target
* @property Model $target
* @property int $user_id
* @property User $user
*/
@@ -66,7 +66,7 @@ class ActionLog extends Model implements Nameable, HasSubtitle
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ActionLog::ATTRIBUTE_BATCH_ID,
+1 -1
View File
@@ -29,7 +29,7 @@ class Announcement extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Announcement::ATTRIBUTE_CONTENT,
+1 -1
View File
@@ -29,7 +29,7 @@ class Dump extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Dump::ATTRIBUTE_PATH,
+1 -1
View File
@@ -39,7 +39,7 @@ class Feature extends Model
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Feature::ATTRIBUTE_VALUE,
+1 -1
View File
@@ -57,7 +57,7 @@ class FeaturedTheme extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
FeaturedTheme::ATTRIBUTE_END_AT,
+2 -2
View File
@@ -84,7 +84,7 @@ class User extends Authenticatable implements MustVerifyEmail, Nameable, HasSubt
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
User::ATTRIBUTE_EMAIL,
@@ -117,7 +117,7 @@ class User extends Authenticatable implements MustVerifyEmail, Nameable, HasSubt
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
* @var list<string>
*/
protected $hidden = [
User::ATTRIBUTE_PASSWORD,
+1 -1
View File
@@ -34,7 +34,7 @@ class DiscordThread extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
DiscordThread::ATTRIBUTE_ANIME,
+2 -2
View File
@@ -33,7 +33,7 @@ class Page extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Page::ATTRIBUTE_BODY,
@@ -44,7 +44,7 @@ class Page extends BaseModel
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
* @var list<string>
*/
protected $hidden = [
Page::ATTRIBUTE_BODY,
+1 -1
View File
@@ -47,7 +47,7 @@ class ExternalEntry extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ExternalEntry::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -47,7 +47,7 @@ class ExternalToken extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ExternalToken::ATTRIBUTE_ACCESS_TOKEN,
+1 -1
View File
@@ -64,7 +64,7 @@ class ExternalProfile extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ExternalProfile::ATTRIBUTE_EXTERNAL_USER_ID,
+1 -1
View File
@@ -68,7 +68,7 @@ class Playlist extends BaseModel implements HasHashids, Viewable
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Playlist::ATTRIBUTE_DESCRIPTION,
+1 -1
View File
@@ -61,7 +61,7 @@ class PlaylistTrack extends BaseModel implements HasHashids
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
PlaylistTrack::ATTRIBUTE_ENTRY,
+1 -1
View File
@@ -86,7 +86,7 @@ class Anime extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Anime::ATTRIBUTE_NAME,
+1 -1
View File
@@ -43,7 +43,7 @@ class AnimeSynonym extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeSynonym::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -67,7 +67,7 @@ class AnimeTheme extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeTheme::ATTRIBUTE_ANIME,
@@ -65,7 +65,7 @@ class AnimeThemeEntry extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeThemeEntry::ATTRIBUTE_EPISODES,
+1 -1
View File
@@ -59,7 +59,7 @@ class Artist extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Artist::ATTRIBUTE_NAME,
+27 -1
View File
@@ -14,6 +14,7 @@ use CyrildeWit\EloquentViewable\Contracts\Viewable;
use CyrildeWit\EloquentViewable\InteractsWithViews;
use Database\Factories\Wiki\AudioFactory;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Arr;
use Illuminate\Support\Collection;
/**
@@ -22,6 +23,7 @@ use Illuminate\Support\Collection;
* @property int $audio_id
* @property string $basename
* @property string $filename
* @property string $link
* @property string $mimetype
* @property string $path
* @property int $size
@@ -38,6 +40,7 @@ class Audio extends BaseModel implements Streamable, Viewable
final public const ATTRIBUTE_BASENAME = 'basename';
final public const ATTRIBUTE_FILENAME = 'filename';
final public const ATTRIBUTE_ID = 'audio_id';
final public const ATTRIBUTE_LINK = 'link';
final public const ATTRIBUTE_MIMETYPE = 'mimetype';
final public const ATTRIBUTE_PATH = 'path';
final public const ATTRIBUTE_SIZE = 'size';
@@ -48,7 +51,7 @@ class Audio extends BaseModel implements Streamable, Viewable
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Audio::ATTRIBUTE_BASENAME,
@@ -86,6 +89,29 @@ class Audio extends BaseModel implements Streamable, Viewable
*/
protected $primaryKey = Audio::ATTRIBUTE_ID;
/**
* The accessors to append to the model's array form.
*
* @var list<string>
*/
protected $appends = [
Audio::ATTRIBUTE_LINK,
];
/**
* The link of the audio.
*
* @return string|null
*/
public function getLinkAttribute(): ?string
{
if (Arr::exists($this->attributes, Audio::ATTRIBUTE_BASENAME)) {
return route('audio.show', $this);
}
return null;
}
/**
* Get the route key for the model.
*
+1 -1
View File
@@ -53,7 +53,7 @@ class ExternalResource extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ExternalResource::ATTRIBUTE_EXTERNAL_ID,
+1 -1
View File
@@ -40,7 +40,7 @@ class Group extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Group::ATTRIBUTE_NAME,
+31 -1
View File
@@ -23,6 +23,8 @@ use App\Pivots\Wiki\StudioImage;
use Database\Factories\Wiki\ImageFactory;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Storage;
/**
* Class Image.
@@ -31,6 +33,7 @@ use Illuminate\Support\Collection;
* @property Collection<int, Artist> $artists
* @property ImageFacet|null $facet
* @property int $image_id
* @property string $link
* @property string $mimetype
* @property string $path
* @property Collection<int, Playlist> $playlists
@@ -46,6 +49,7 @@ class Image extends BaseModel
final public const ATTRIBUTE_FACET = 'facet';
final public const ATTRIBUTE_ID = 'image_id';
final public const ATTRIBUTE_PATH = 'path';
final public const ATTRIBUTE_LINK = 'link';
final public const RELATION_ANIME = 'anime';
final public const RELATION_ARTISTS = 'artists';
@@ -55,7 +59,7 @@ class Image extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Image::ATTRIBUTE_FACET,
@@ -91,6 +95,15 @@ class Image extends BaseModel
*/
protected $primaryKey = Image::ATTRIBUTE_ID;
/**
* The accessors to append to the model's array form.
*
* @var list<string>
*/
protected $appends = [
Image::ATTRIBUTE_LINK,
];
/**
* Get the attributes that should be cast.
*
@@ -123,6 +136,23 @@ class Image extends BaseModel
return $this->path;
}
/**
* The link of the image model.
*
* @return string|null
*/
public function getLinkAttribute(): ?string
{
if ($this->path) {
/** @var \Illuminate\Filesystem\FilesystemAdapter $fs */
$fs = Storage::disk(Config::get('image.disk'));
return $fs->url($this->getAttribute(Image::ATTRIBUTE_PATH));
}
return null;
}
/**
* Get the anime that use this image.
*
+1 -1
View File
@@ -41,7 +41,7 @@ class Series extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Series::ATTRIBUTE_NAME,
+1 -1
View File
@@ -51,7 +51,7 @@ class Song extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Song::ATTRIBUTE_TITLE,
+1 -1
View File
@@ -48,7 +48,7 @@ class Studio extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Studio::ATTRIBUTE_NAME,
+20 -2
View File
@@ -28,6 +28,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Support\Arr;
use Illuminate\Support\Collection;
/**
@@ -38,6 +39,7 @@ use Illuminate\Support\Collection;
* @property int|null $audio_id
* @property string $basename
* @property string $filename
* @property string $link
* @property bool $lyrics
* @property string $mimetype
* @property bool $nc
@@ -66,6 +68,7 @@ class Video extends BaseModel implements Streamable, Viewable
final public const ATTRIBUTE_BASENAME = 'basename';
final public const ATTRIBUTE_FILENAME = 'filename';
final public const ATTRIBUTE_ID = 'video_id';
final public const ATTRIBUTE_LINK = 'link';
final public const ATTRIBUTE_LYRICS = 'lyrics';
final public const ATTRIBUTE_MIMETYPE = 'mimetype';
final public const ATTRIBUTE_NC = 'nc';
@@ -92,7 +95,7 @@ class Video extends BaseModel implements Streamable, Viewable
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
Video::ATTRIBUTE_AUDIO,
@@ -141,12 +144,27 @@ class Video extends BaseModel implements Streamable, Viewable
/**
* The accessors to append to the model's array form.
*
* @var array<int, string>
* @var list<string>
*/
protected $appends = [
Video::ATTRIBUTE_LINK,
Video::ATTRIBUTE_TAGS,
];
/**
* The link of the video.
*
* @return string|null
*/
public function getLinkAttribute(): ?string
{
if (Arr::exists($this->attributes, Video::ATTRIBUTE_BASENAME)) {
return route('video.show', $this);
}
return null;
}
/**
* The array of tags used to uniquely identify the video within the context of a theme.
*
+1 -1
View File
@@ -36,7 +36,7 @@ class VideoScript extends BaseModel
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
VideoScript::ATTRIBUTE_PATH,
+1 -1
View File
@@ -55,7 +55,7 @@ class PlaylistImage extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
PlaylistImage::ATTRIBUTE_IMAGE,
+1 -1
View File
@@ -55,7 +55,7 @@ class AnimeImage extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeImage::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -38,7 +38,7 @@ class AnimeResource extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeResource::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -55,7 +55,7 @@ class AnimeSeries extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeSeries::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -55,7 +55,7 @@ class AnimeStudio extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeStudio::ATTRIBUTE_ANIME,
+1 -1
View File
@@ -59,7 +59,7 @@ class AnimeThemeEntryVideo extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
AnimeThemeEntryVideo::ATTRIBUTE_ENTRY,
+1 -1
View File
@@ -55,7 +55,7 @@ class ArtistImage extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ArtistImage::ATTRIBUTE_ARTIST,
+1 -1
View File
@@ -39,7 +39,7 @@ class ArtistMember extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ArtistMember::ATTRIBUTE_ALIAS,
+1 -1
View File
@@ -38,7 +38,7 @@ class ArtistResource extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ArtistResource::ATTRIBUTE_ARTIST,
+1 -1
View File
@@ -40,7 +40,7 @@ class ArtistSong extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
ArtistSong::ATTRIBUTE_ARTIST,
+1 -1
View File
@@ -38,7 +38,7 @@ class SongResource extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
SongResource::ATTRIBUTE_SONG,
+1 -1
View File
@@ -55,7 +55,7 @@ class StudioImage extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
StudioImage::ATTRIBUTE_IMAGE,
+1 -1
View File
@@ -38,7 +38,7 @@ class StudioResource extends BasePivot
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
* @var list<string>
*/
protected $fillable = [
StudioResource::ATTRIBUTE_AS,
+4 -4
View File
@@ -71,7 +71,7 @@ class ExternalEntryPolicy extends BasePolicy
public function create(User $user): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
/** @var ExternalProfile|null $profile */
@@ -92,7 +92,7 @@ class ExternalEntryPolicy extends BasePolicy
public function update(User $user, BaseModel|Model $entry): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
/** @var ExternalProfile|null $profile */
@@ -113,7 +113,7 @@ class ExternalEntryPolicy extends BasePolicy
public function delete(User $user, BaseModel|Model $entry): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
/** @var ExternalProfile|null $profile */
@@ -134,7 +134,7 @@ class ExternalEntryPolicy extends BasePolicy
public function restore(User $user, BaseModel|Model $entry): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
/** @var ExternalProfile|null $profile */
+4 -4
View File
@@ -61,7 +61,7 @@ class ExternalProfilePolicy extends BasePolicy
public function create(User $user): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
return $user->can(CrudPermission::CREATE->format(ExternalProfile::class));
@@ -77,7 +77,7 @@ class ExternalProfilePolicy extends BasePolicy
public function update(User $user, BaseModel|Model $profile): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
return !$profile->trashed() && $user->getKey() === $profile->user_id && $user->can(CrudPermission::UPDATE->format(ExternalProfile::class));
@@ -93,7 +93,7 @@ class ExternalProfilePolicy extends BasePolicy
public function delete(User $user, BaseModel|Model $profile): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
return !$profile->trashed() && $user->getKey() === $profile->user_id && $user->can(CrudPermission::DELETE->format(ExternalProfile::class));
@@ -109,7 +109,7 @@ class ExternalProfilePolicy extends BasePolicy
public function restore(User $user, BaseModel|Model $profile): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole('Admin');
return $user->hasRole('Admin');
}
return $profile->trashed() && $user->getKey() === $profile->user_id && $user->can(ExtendedCrudPermission::RESTORE->format(ExternalProfile::class));
@@ -73,7 +73,7 @@ class PlaylistTrackPolicy extends BasePolicy
public function create(User $user): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole(RoleEnum::ADMIN->value);
return $user->hasRole(RoleEnum::ADMIN->value);
}
/** @var Playlist|null $playlist */
@@ -94,7 +94,7 @@ class PlaylistTrackPolicy extends BasePolicy
public function update(User $user, BaseModel|Model $track): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole(RoleEnum::ADMIN->value);
return $user->hasRole(RoleEnum::ADMIN->value);
}
/** @var Playlist|null $playlist */
@@ -115,7 +115,7 @@ class PlaylistTrackPolicy extends BasePolicy
public function delete(User $user, BaseModel|Model $track): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole(RoleEnum::ADMIN->value);
return $user->hasRole(RoleEnum::ADMIN->value);
}
/** @var Playlist|null $playlist */
@@ -136,7 +136,7 @@ class PlaylistTrackPolicy extends BasePolicy
public function restore(User $user, BaseModel|Model $track): bool
{
if (Filament::isServing()) {
return $user !== null && $user->hasRole(RoleEnum::ADMIN->value);
return $user->hasRole(RoleEnum::ADMIN->value);
}
/** @var Playlist|null $playlist */
@@ -26,8 +26,8 @@ class DistinctIgnoringDirectionRule implements ValidationRule
{
$values = Str::of($value)->explode(',');
/** @phpstan-ignore-next-line */
$duplicateValues = $values->duplicates(function (mixed $sort) {
/** @phpstan-ignore-next-line */
if (is_string($sort) && Str::startsWith($sort, '-')) {
return Str::replaceFirst('-', '', $sort);
}
@@ -44,7 +44,7 @@ class WhereCriteria extends Criteria
if (BinaryLogicalOperator::OR === $this->criteria->getLogicalOperator()) {
if (ComparisonOperator::NE === $this->criteria->getComparisonOperator()) {
return $builder->should((new BoolQueryBuilder())->mustNot($clause));
return $builder->should(new BoolQueryBuilder()->mustNot($clause));
}
return $builder->should($clause);
@@ -45,7 +45,7 @@ class WhereInCriteria extends Criteria
if (BinaryLogicalOperator::OR === $this->criteria->getLogicalOperator()) {
if ($this->not) {
return $builder->should((new BoolQueryBuilder())->mustNot($clause));
return $builder->should(new BoolQueryBuilder()->mustNot($clause));
}
return $builder->should($clause);
@@ -27,18 +27,18 @@ class SynonymQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('text')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('text')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('text')
->query($criteria->getTerm())
->operator('AND')
@@ -28,18 +28,18 @@ class EntryQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('version')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version')
->query($criteria->getTerm())
->operator('AND')
@@ -47,18 +47,18 @@ class EntryQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -66,18 +66,18 @@ class EntryQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -85,18 +85,18 @@ class EntryQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -104,26 +104,26 @@ class EntryQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('theme.anime.name')
->query($criteria->getTerm())
)
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.anime.name')
->query($criteria->getTerm())
->operator('AND')
@@ -131,13 +131,13 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.anime.name')
->query($criteria->getTerm())
->operator('AND')
@@ -147,16 +147,16 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime.synonyms')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('theme.anime.synonyms.text')
->query($criteria->getTerm())
)
@@ -164,16 +164,16 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime.synonyms')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.anime.synonyms.text')
->query($criteria->getTerm())
->operator('AND')
@@ -182,16 +182,16 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.anime.synonyms')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.anime.synonyms.text')
->query($criteria->getTerm())
->operator('AND')
@@ -202,26 +202,26 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.song')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('theme.song.title')
->query($criteria->getTerm())
)
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.song')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.song.title')
->query($criteria->getTerm())
->operator('AND')
@@ -229,13 +229,13 @@ class EntryQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('theme.song')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('theme.song.title')
->query($criteria->getTerm())
->operator('AND')
@@ -28,18 +28,18 @@ class ArtistQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('name')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
@@ -47,26 +47,26 @@ class ArtistQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs.pivot')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('songs.pivot.as')
->query($criteria->getTerm())
)
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs.pivot')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('songs.pivot.as')
->query($criteria->getTerm())
->operator('AND')
@@ -74,13 +74,13 @@ class ArtistQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('songs.pivot')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('songs.pivot.as')
->query($criteria->getTerm())
->operator('AND')
@@ -27,18 +27,18 @@ class SeriesQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('name')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
@@ -27,18 +27,18 @@ class SongQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('title')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('title')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('title')
->query($criteria->getTerm())
->operator('AND')
@@ -27,18 +27,18 @@ class StudioQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('name')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('name')
->query($criteria->getTerm())
->operator('AND')
@@ -28,18 +28,18 @@ class VideoQuery extends ElasticQuery
{
$query = Query::bool()
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('filename')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('filename')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('filename')
->query($criteria->getTerm())
->operator('AND')
@@ -47,18 +47,18 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('tags')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('tags')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('tags')
->query($criteria->getTerm())
->operator('AND')
@@ -66,18 +66,18 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('tags_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('tags_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('tags_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -85,18 +85,18 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('version_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -104,18 +104,18 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('anime_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -123,18 +123,18 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
->operator('AND')
)
->should(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('synonym_slug')
->query($criteria->getTerm())
->operator('AND')
@@ -142,16 +142,16 @@ class VideoQuery extends ElasticQuery
->fuzziness('AUTO')
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('entries.theme.anime.name')
->query($criteria->getTerm())
)
@@ -159,16 +159,16 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.anime.name')
->query($criteria->getTerm())
->operator('AND')
@@ -177,16 +177,16 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.anime.name')
->query($criteria->getTerm())
->operator('AND')
@@ -197,19 +197,19 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime.synonyms')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('entries.theme.anime.synonyms.text')
->query($criteria->getTerm())
)
@@ -218,19 +218,19 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime.synonyms')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.anime.synonyms.text')
->query($criteria->getTerm())
->operator('AND')
@@ -240,19 +240,19 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.anime.synonyms')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.anime.synonyms.text')
->query($criteria->getTerm())
->operator('AND')
@@ -264,16 +264,16 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.song')
->query(
(new MatchPhraseQueryBuilder())
new MatchPhraseQueryBuilder()
->field('entries.theme.song.title')
->query($criteria->getTerm())
)
@@ -281,16 +281,16 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.song')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.song.title')
->query($criteria->getTerm())
->operator('AND')
@@ -299,16 +299,16 @@ class VideoQuery extends ElasticQuery
)
)
->should(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme')
->query(
(new NestedQueryBuilder())
new NestedQueryBuilder()
->path('entries.theme.song')
->query(
(new MatchQueryBuilder())
new MatchQueryBuilder()
->field('entries.theme.song.title')
->query($criteria->getTerm())
->operator('AND')
+21 -21
View File
@@ -19,7 +19,7 @@
}
],
"require": {
"php": "^8.2",
"php": "^8.4",
"ext-fileinfo": "*",
"ext-gd": "*",
"ext-intl": "*",
@@ -30,49 +30,49 @@
"bepsvpt/secure-headers": "^7.5",
"bezhansalleh/filament-exceptions": "^2.1.2",
"cyrildewit/eloquent-viewable": "^7.0.3",
"fakerphp/faker": "^1.24",
"filament/filament": "^3.2.124",
"filament/forms": "^3.2.124",
"fakerphp/faker": "^1.24.1",
"filament/filament": "^3.2.128",
"filament/forms": "^3.2.128",
"flowframe/laravel-trend": ">=0.3",
"guzzlehttp/guzzle": "^7.9.2",
"laravel-notification-channels/discord": "^1.6",
"laravel/fortify": "^1.24.5",
"laravel/framework": "^11.32",
"laravel/horizon": "^5.29.3",
"laravel/fortify": "^1.25.0",
"laravel/framework": "^11.34.2",
"laravel/horizon": "^5.29.4",
"laravel/pennant": "^1.13",
"laravel/pulse": "^1.2.6",
"laravel/sanctum": "^4.0.3",
"laravel/scout": "^10.11.7",
"laravel/pulse": "^1.2.7",
"laravel/sanctum": "^4.0.5",
"laravel/scout": "^10.11.8",
"laravel/tinker": "^2.10",
"league/flysystem-aws-s3-v3": "3.0",
"leandrocfe/filament-apex-charts": "^3.1.4",
"malzariey/filament-daterangepicker-filter": "2.7",
"propaganistas/laravel-disposable-email": "^2.4.7",
"spatie/db-dumper": "^3.7.0",
"propaganistas/laravel-disposable-email": "^2.4.8",
"spatie/db-dumper": "^3.7.1",
"spatie/laravel-permission": "^6.10.1",
"staudenmeir/belongs-to-through": "^2.16.2",
"staudenmeir/laravel-adjacency-list": "^1.23.1",
"symfony/http-client": "^6.4.15",
"symfony/http-client": "^6.4.16",
"symfony/mailgun-mailer": "^6.4.13",
"vinkla/hashids": "^12.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.14.7",
"barryvdh/laravel-debugbar": "^3.14.9",
"brianium/paratest": "^7.4.8",
"larastan/larastan": "^2.9.11",
"laravel/pint": "^1.18.1",
"laravel/sail": "^1.38",
"larastan/larastan": "^3.0.2",
"laravel/pint": "^1.18.3",
"laravel/sail": "^1.39.1",
"mockery/mockery": "^1.6.12",
"nunomaduro/collision": "^8.5",
"phpunit/phpunit": "^10.5.38",
"predis/predis": "^2.2.2",
"spatie/laravel-ignition": "^2.8"
"predis/predis": "^2.3.0",
"spatie/laravel-ignition": "^2.9"
},
"config": {
"optimize-autoloader": true,
"platform": {
"ext-pcntl": "8.2",
"ext-posix": "8.2"
"ext-pcntl": "8.4",
"ext-posix": "8.4"
},
"preferred-install": "dist",
"sort-packages": true,
Generated
+571 -574
View File
File diff suppressed because it is too large Load Diff
@@ -27,8 +27,7 @@ class AnnouncementFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -28,8 +28,7 @@ class DumpFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -28,8 +28,7 @@ class FeatureFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -28,8 +28,7 @@ class FeaturedThemeFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -35,8 +35,7 @@ class UserFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class DiscordThreadFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -28,8 +28,7 @@ class PageFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -29,8 +29,7 @@ class ExternalEntryFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -28,8 +28,7 @@ class ExternalTokenFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -33,8 +33,7 @@ class ExternalProfileFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class PlaylistTrackFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
+1 -2
View File
@@ -35,8 +35,7 @@ class PlaylistFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class PlaylistImageFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class AnimeImageFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -28,8 +28,7 @@ class AnimeResourceFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class AnimeSeriesFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class AnimeStudioFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class AnimeThemeEntryVideoFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{
@@ -27,8 +27,7 @@ class ArtistImageFactory extends Factory
/**
* Define the model's default state.
*
* @phpstan-ignore-next-line
* @return array
* @return array<string, mixed>
*/
public function definition(): array
{

Some files were not shown because too many files have changed in this diff Show More