mirror of
https://github.com/MarijnDoeve/TijdVoorDeTest.git
synced 2026-03-06 04:44:19 +01:00
Refactor entities and codebase for native property usage
- Replaced getters/setters with direct property access across entities and repositories. - Added and configured `martin-georgiev/postgresql-for-doctrine` for PostgreSQL enhancements. - Updated Doctrine configuration with types, mappings, and JSONB query functions. - Removed unused `EliminationService` and related YAML configurations.
This commit is contained in:
@@ -15,7 +15,7 @@ use Tvdt\Entity\Quiz;
|
||||
use Tvdt\Entity\Season;
|
||||
use Tvdt\Entity\User;
|
||||
|
||||
/** @extends Voter<string, Season> */
|
||||
/** @extends Voter<string, Season|Elimination|Quiz|Candidate|Answer|Question> */
|
||||
final class SeasonVoter extends Voter
|
||||
{
|
||||
public const string EDIT = 'SEASON_EDIT';
|
||||
@@ -28,16 +28,15 @@ final class SeasonVoter extends Voter
|
||||
{
|
||||
return \in_array($attribute, [self::EDIT, self::DELETE, self::ELIMINATION], true)
|
||||
&& (
|
||||
$subject instanceof Season
|
||||
|| $subject instanceof Elimination
|
||||
|| $subject instanceof Quiz
|
||||
$subject instanceof Answer
|
||||
|| $subject instanceof Candidate
|
||||
|| $subject instanceof Answer
|
||||
|| $subject instanceof Elimination
|
||||
|| $subject instanceof Season
|
||||
|| $subject instanceof Question
|
||||
|| $subject instanceof Quiz
|
||||
);
|
||||
}
|
||||
|
||||
/** @param Season|Elimination|Quiz|Candidate|Answer|Question $subject */
|
||||
protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token, ?Vote $vote = null): bool
|
||||
{
|
||||
$user = $token->getUser();
|
||||
@@ -45,21 +44,21 @@ final class SeasonVoter extends Voter
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($user->isAdmin()) {
|
||||
if ($user->isAdmin) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (true) {
|
||||
case $subject instanceof Answer:
|
||||
$season = $subject->getQuestion()->getQuiz()->getSeason();
|
||||
$season = $subject->question->quiz->season;
|
||||
break;
|
||||
case $subject instanceof Elimination:
|
||||
case $subject instanceof Question:
|
||||
$season = $subject->getQuiz()->getSeason();
|
||||
$season = $subject->quiz->season;
|
||||
break;
|
||||
case $subject instanceof Candidate:
|
||||
case $subject instanceof Quiz:
|
||||
$season = $subject->getSeason();
|
||||
$season = $subject->season;
|
||||
break;
|
||||
case $subject instanceof Season:
|
||||
$season = $subject;
|
||||
|
||||
Reference in New Issue
Block a user