fix: monitor logging

This commit is contained in:
2025-07-07 14:08:42 -05:00
parent 3fe28c74a1
commit 073a37c080
5 changed files with 96 additions and 54 deletions

View File

@@ -0,0 +1,15 @@
<?php
namespace App\User\Dto;
class UserPreferences
{
public function __construct(
public readonly string $resolution,
public readonly string $codec,
public readonly string $language,
public readonly string $provider,
public readonly string $quality,
) {}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\User\Dto;
use App\User\Framework\Entity\User;
class UserPreferencesFactory
{
public static function createFromUser(User $user): UserPreferences
{
return new UserPreferences(
resolution: $user->getUserPreference('resolution')->getPreferenceValue(),
codec: $user->getUserPreference('codec')->getPreferenceValue(),
language: $user->getUserPreference('language')->getPreferenceValue(),
provider: $user->getUserPreference('provider')->getPreferenceValue(),
quality: $user->getUserPreference('quality')->getPreferenceValue(),
);
}
}

View File

@@ -153,13 +153,14 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface
return $this->userPreferences;
}
public function getUserPreference(string $preferenceName)
public function getUserPreference(string $preferenceName): ?UserPreference
{
foreach ($this->userPreferences as $userPreference) {
if ($userPreference->getPreference()->getName() === $preferenceName) {
return $userPreference->getPreference();
return $userPreference;
}
}
return null;
}
public function hasUserPreference(string $preferenceName): bool