fix: separates preference options from db to files

This commit is contained in:
2025-07-23 23:19:19 -05:00
parent d1ae26db45
commit 0988517bd0
11 changed files with 69 additions and 300 deletions

View File

@@ -12,8 +12,8 @@ class UserPreferencesFactory
public static function createFromUser(UserInterface $user): UserPreferences
{
return new UserPreferences(
resolution: self::getNestedValue($user, 'resolution'),
codec: self::getNestedValue($user, 'codec'),
resolution: self::getValue($user, 'resolution'),
codec: self::getValue($user, 'codec'),
language: self::getValue($user, 'language'),
provider: self::getValue($user, 'provider'),
quality: self::getValue($user, 'quality'),
@@ -29,19 +29,4 @@ class UserPreferencesFactory
}
return $value;
}
/** @param User $user */
private static function getNestedValue(UserInterface $user, string $preferenceId): ?string
{
$preference = $user->getUserPreference($preferenceId);
if (null === $preference || "" === $preference || null === $preference->getPreferenceValue() || "" === $preference->getPreferenceValue()) {
return null;
}
return $preference->getPreference()
->getPreferenceOptions()
->filter(fn (PreferenceOption $option) => (string) $option->getId() === $preference->getPreferenceValue())
->first()
->getId()
;
}
}