fix: monitor logging
This commit is contained in:
15
src/User/Dto/UserPreferences.php
Normal file
15
src/User/Dto/UserPreferences.php
Normal 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,
|
||||
) {}
|
||||
}
|
||||
19
src/User/Dto/UserPreferencesFactory.php
Normal file
19
src/User/Dto/UserPreferencesFactory.php
Normal 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(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user