MAPG-235 guesses of other players in the round are sent after guess

This commit is contained in:
balazs committed 2021-05-13 13:06:24 +02:00
1 parent 93f8fc3f34
commit e7869d67f7
7 files changed
+61 -14

No files matched your search

+22 -1
View File
@@ -39,7 +39,7 @@ class GuessRepository
return $this->pdm->selectFromDb($select, Guess::class);
}
public function getAllInChallenge(int $userId, Challenge $challenge): Generator
public function getAllInChallengeByUser(int $userId, Challenge $challenge): Generator
{
$select = new Select(\Container::$dbConnection);
$select->innerJoin('place_in_challenge', ['place_in_challenge', 'id'], '=', ['guesses', 'place_in_challenge_id']);
@@ -49,4 +49,25 @@ class GuessRepository
yield from $this->pdm->selectMultipleFromDb($select, Guess::class);
}
public function getAllInChallenge(Challenge $challenge): Generator
{
$select = new Select(\Container::$dbConnection);
$select->innerJoin('place_in_challenge', ['guesses', 'place_in_challenge_id'], '=', ['place_in_challenge', 'id']);
$select->where('challenge_id', '=', $challenge->getId());
yield from $this->pdm->selectMultipleFromDb($select, Guess::class);
}
public function getAllInChallengeByRound(int $round, Challenge $challenge): Generator
{
$order = $round + 1;
$select = new Select(\Container::$dbConnection);
$select->innerJoin('place_in_challenge', ['guesses', 'place_in_challenge_id'], '=', ['place_in_challenge', 'id']);
$select->where('challenge_id', '=', $challenge->getId());
$select->where('order', '=', $order);
yield from $this->pdm->selectMultipleFromDb($select, Guess::class);
}
}
+1 -4
View File
@@ -22,10 +22,7 @@ class MapRepository
public function getByPlace(Place $place): ?Map
{
$select = new Select(\Container::$dbConnection);
$select->where('id', '=', $place->getMapId());
return $this->pdm->selectFromDb($select, Map::class);
return $this->getById($place->getMapId());
}
public function getByChallenge(Challenge $challenge): ?Map
+6
View File
@@ -3,6 +3,7 @@
use DateTime;
use Generator;
use MapGuesser\Database\Query\Select;
use MapGuesser\PersistentData\Model\Guess;
use MapGuesser\PersistentData\Model\User;
use MapGuesser\PersistentData\PersistentDataManager;
@@ -44,4 +45,9 @@ class UserRepository
yield from $this->pdm->selectMultipleFromDb($select, User::class);
}
public function getByGuess(Guess $guess): ?User
{
return $this->getById($guess->getUserId());
}
}