mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-07-11 01:24:46 +02:00
chore: update to php 8.4 (#763)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
@@ -1,4 +1,4 @@
|
||||
version: 8.2
|
||||
version: 8.4.1
|
||||
preset: laravel
|
||||
finder:
|
||||
not-name:
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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]);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user