Private
Public Access
1
0

chg: dev: small refactors on back-end #8

This commit is contained in:
2026-04-20 21:11:17 +02:00
parent 2ec37a802b
commit 4944d2aa21
6 changed files with 14 additions and 15 deletions

View File

@@ -13,6 +13,7 @@ namespace App\Controller;
use App\Entity\User; use App\Entity\User;
use App\Security\PasskeyToken; use App\Security\PasskeyToken;
use App\Service\WebAuthnService; use App\Service\WebAuthnService;
use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
@@ -25,6 +26,7 @@ use Webauthn\PublicKeyCredentialCreationOptions;
use Webauthn\PublicKeyCredentialParameters; use Webauthn\PublicKeyCredentialParameters;
use Webauthn\PublicKeyCredentialRpEntity; use Webauthn\PublicKeyCredentialRpEntity;
use Webauthn\PublicKeyCredentialUserEntity; use Webauthn\PublicKeyCredentialUserEntity;
use function random_bytes;
/** /**
* Class WebAuthnController * Class WebAuthnController
@@ -78,7 +80,7 @@ class WebAuthnController extends AbstractController
$creationOptions = PublicKeyCredentialCreationOptions::create( $creationOptions = PublicKeyCredentialCreationOptions::create(
$rpEntity, $rpEntity,
$userEntity, $userEntity,
\random_bytes(32), random_bytes(32),
$credentialParameters, $credentialParameters,
$authenticatorSelectionCriteria, $authenticatorSelectionCriteria,
PublicKeyCredentialCreationOptions::ATTESTATION_CONVEYANCE_PREFERENCE_DIRECT PublicKeyCredentialCreationOptions::ATTESTATION_CONVEYANCE_PREFERENCE_DIRECT
@@ -113,7 +115,7 @@ class WebAuthnController extends AbstractController
]; ];
return new JsonResponse($response); return new JsonResponse($response);
} catch (\Exception $e) { } catch (Exception $e) {
return new JsonResponse( return new JsonResponse(
['error' => $e->getMessage()], ['error' => $e->getMessage()],
Response::HTTP_BAD_REQUEST Response::HTTP_BAD_REQUEST
@@ -155,7 +157,7 @@ class WebAuthnController extends AbstractController
$request->getSession()->remove('webauthn_credential_name'); $request->getSession()->remove('webauthn_credential_name');
return new JsonResponse(['success' => true]); return new JsonResponse(['success' => true]);
} catch (\Exception $e) { } catch (Exception $e) {
return new JsonResponse( return new JsonResponse(
['error' => 'Registration failed: ' . $e->getMessage()], ['error' => 'Registration failed: ' . $e->getMessage()],
Response::HTTP_BAD_REQUEST Response::HTTP_BAD_REQUEST
@@ -219,7 +221,7 @@ class WebAuthnController extends AbstractController
} }
return new JsonResponse(['error' => 'Credential not found'], Response::HTTP_NOT_FOUND); return new JsonResponse(['error' => 'Credential not found'], Response::HTTP_NOT_FOUND);
} catch (\Exception $e) { } catch (Exception $e) {
return new JsonResponse( return new JsonResponse(
['error' => $e->getMessage()], ['error' => $e->getMessage()],
Response::HTTP_BAD_REQUEST Response::HTTP_BAD_REQUEST
@@ -232,7 +234,7 @@ class WebAuthnController extends AbstractController
{ {
try { try {
/** Generate challenge */ /** Generate challenge */
$challenge = \random_bytes(32); $challenge = random_bytes(32);
/** Store in session for verification later */ /** Store in session for verification later */
$request->getSession()->set('webauthn_request_challenge', $challenge); $request->getSession()->set('webauthn_request_challenge', $challenge);
@@ -250,7 +252,7 @@ class WebAuthnController extends AbstractController
]; ];
return new JsonResponse($response); return new JsonResponse($response);
} catch (\Exception $e) { } catch (Exception $e) {
return new JsonResponse( return new JsonResponse(
['error' => $e->getMessage()], ['error' => $e->getMessage()],
Response::HTTP_BAD_REQUEST Response::HTTP_BAD_REQUEST
@@ -304,7 +306,7 @@ class WebAuthnController extends AbstractController
'redirect' => '/', 'redirect' => '/',
'message' => 'Successfully authenticated with passkey', 'message' => 'Successfully authenticated with passkey',
]); ]);
} catch (\Exception $e) { } catch (Exception $e) {
return new JsonResponse( return new JsonResponse(
['error' => $e->getMessage()], ['error' => $e->getMessage()],
Response::HTTP_BAD_REQUEST Response::HTTP_BAD_REQUEST

View File

@@ -24,7 +24,7 @@ use DateTime;
* @link www.splendidbear.org * @link www.splendidbear.org
* @since 2026. 04. 20. * @since 2026. 04. 20.
*/ */
readonly class ProfileChartDataFactory readonly final class ProfileChartDataFactory
{ {
public function __construct(private PlayedGameRepository $repo) { } public function __construct(private PlayedGameRepository $repo) { }

View File

@@ -29,8 +29,7 @@ use Doctrine\ORM\Mapping\Table;
* @link www.splendidbear.org * @link www.splendidbear.org
* @since 2026. 04. 15. * @since 2026. 04. 15.
*/ */
#[Entity(repositoryClass: ContactMessageRepository::class)] #[Entity(repositoryClass: ContactMessageRepository::class), Table(name: 'contact_messages')]
#[Table(name: 'contact_messages')]
class ContactMessage class ContactMessage
{ {
#[Id, GeneratedValue, Column] #[Id, GeneratedValue, Column]

View File

@@ -36,8 +36,7 @@ use Symfony\Component\Security\Core\User\UserInterface;
* @link www.splendidbear.org * @link www.splendidbear.org
* @since 2026. 04. 09. * @since 2026. 04. 09.
*/ */
#[Table(name: 'app_user')] #[Entity(repositoryClass: UserRepository::class), Table(name: 'app_user')]
#[Entity(repositoryClass: UserRepository::class)]
#[UniqueEntity(fields: ['username'], message: 'This username is already taken.')] #[UniqueEntity(fields: ['username'], message: 'This username is already taken.')]
#[UniqueEntity(fields: ['email'], message: 'This email address is already registered.')] #[UniqueEntity(fields: ['email'], message: 'This email address is already registered.')]
class User implements UserInterface, PasswordAuthenticatedUserInterface, TotpTwoFactorInterface, BackupCodeInterface class User implements UserInterface, PasswordAuthenticatedUserInterface, TotpTwoFactorInterface, BackupCodeInterface

View File

@@ -30,7 +30,7 @@ use Doctrine\ORM\Mapping\Table;
* @link www.splendidbear.org * @link www.splendidbear.org
* @since 2026. 04. 20. * @since 2026. 04. 20.
*/ */
#[Entity(repositoryClass: UserStatsRepository::class, readOnly: true), Table] #[Entity(repositoryClass: UserStatsRepository::class, readOnly: true)]
class UserStats class UserStats
{ {
#[Id, Column(name: 'user_id')] #[Id, Column(name: 'user_id')]

View File

@@ -33,8 +33,7 @@ use RuntimeException;
* @link www.splendidbear.org * @link www.splendidbear.org
* @since 2026. 04. 12. * @since 2026. 04. 12.
*/ */
#[Table(name: 'app_webauthn_credential')] #[Entity(repositoryClass: WebAuthnCredentialRepository::class), Table(name: 'app_webauthn_credential')]
#[Entity(repositoryClass: WebAuthnCredentialRepository::class)]
class WebAuthnCredential class WebAuthnCredential
{ {
#[Id, GeneratedValue, Column] #[Id, GeneratedValue, Column]