fix: removes preference options db table
This commit is contained in:
@@ -3,14 +3,20 @@
|
||||
namespace App\Twig\Components;
|
||||
|
||||
use Aimeos\Map;
|
||||
use App\User\Database\CodecList;
|
||||
use App\User\Database\QualityList;
|
||||
use App\User\Database\ResolutionList;
|
||||
use App\User\Dto\PreferenceOptions;
|
||||
use App\User\Dto\PreferenceOptionsFactory;
|
||||
use App\User\Dto\UserPreferencesFactory;
|
||||
use App\User\Framework\Repository\PreferencesRepository;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Bundle\SecurityBundle\Security;
|
||||
use Symfony\UX\LiveComponent\Attribute\AsLiveComponent;
|
||||
use Symfony\UX\LiveComponent\DefaultActionTrait;
|
||||
|
||||
#[AsLiveComponent]
|
||||
final class Filter
|
||||
final class Filter extends AbstractController
|
||||
{
|
||||
use DefaultActionTrait;
|
||||
|
||||
@@ -21,15 +27,20 @@ final class Filter
|
||||
public array $reverseMappedQualities = [];
|
||||
|
||||
public function __construct(
|
||||
private readonly PreferencesRepository $preferencesRepository,
|
||||
private readonly Security $security,
|
||||
) {
|
||||
$this->preferences = Map::from($this->preferencesRepository->findEnabled())
|
||||
->rekey(fn($element) => $element->getId())
|
||||
->map(fn($element) => $element->getPreferenceOptions()->toArray())
|
||||
->toArray();
|
||||
$this->userPreferences = Map::from($this->security->getUser()->getUserPreferenceValues())
|
||||
->toArray();
|
||||
$this->preferences = (array) PreferenceOptionsFactory::createSelectOptions();
|
||||
$this->userPreferences = (array) UserPreferencesFactory::createFromUser($security->getUser());
|
||||
$this->reverseMappedQualities = QualityList::getAsReverseMap();
|
||||
}
|
||||
|
||||
public function getResolutionOptions()
|
||||
{
|
||||
return ResolutionList::asSelectOptions();
|
||||
}
|
||||
|
||||
public function getCodecOptions()
|
||||
{
|
||||
return CodecList::asSelectOptions();
|
||||
}
|
||||
}
|
||||
|
||||
14
src/User/Dto/PreferenceOptions.php
Normal file
14
src/User/Dto/PreferenceOptions.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace App\User\Dto;
|
||||
|
||||
class PreferenceOptions
|
||||
{
|
||||
public function __construct(
|
||||
public readonly array $resolutions,
|
||||
public readonly array $codecs,
|
||||
public readonly array $languages,
|
||||
public readonly array $providers,
|
||||
public readonly array $qualities,
|
||||
) {}
|
||||
}
|
||||
23
src/User/Dto/PreferenceOptionsFactory.php
Normal file
23
src/User/Dto/PreferenceOptionsFactory.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\User\Dto;
|
||||
|
||||
use App\User\Database\CodecList;
|
||||
use App\User\Database\CountryLanguages;
|
||||
use App\User\Database\ProviderList;
|
||||
use App\User\Database\QualityList;
|
||||
use App\User\Database\ResolutionList;
|
||||
|
||||
class PreferenceOptionsFactory
|
||||
{
|
||||
public static function createSelectOptions(): PreferenceOptions
|
||||
{
|
||||
return new PreferenceOptions(
|
||||
resolutions: ResolutionList::asSelectOptions(),
|
||||
codecs: CodecList::asSelectOptions(),
|
||||
languages: CountryLanguages::asSelectOptions(),
|
||||
providers: ProviderList::asSelectOptions(),
|
||||
qualities: QualityList::asSelectOptions(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -82,7 +82,7 @@ class PreferencesController extends AbstractController
|
||||
$downloadPreferences = $this->getUser()->getDownloadPreferences();
|
||||
$formData = (array) UserPreferencesFactory::createFromUser($this->getUser());
|
||||
$form = $this->createForm(UserMediaPreferencesForm::class, $formData);
|
||||
|
||||
|
||||
$saveUserDownloadPreferencesHandler->handle($input->toCommand());
|
||||
|
||||
$this->broadcaster->alert(
|
||||
|
||||
Reference in New Issue
Block a user