chg: usr: fine-tune the recent battle list #8
All checks were successful
Deploy to Production / deploy (push) Successful in 27s
All checks were successful
Deploy to Production / deploy (push) Successful in 27s
This commit is contained in:
@@ -46,6 +46,7 @@ final readonly class ProfileGameDto implements JsonSerializable
|
||||
public float $blueBonusPoints,
|
||||
public array $redBonusStats,
|
||||
public array $blueBonusStats,
|
||||
public bool $bothRegistered,
|
||||
) {
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,8 @@ final readonly class ProfileGameDtoFactory
|
||||
redBonusPoints: $game->redBonusPoints ?? 0.0,
|
||||
blueBonusPoints: $game->blueBonusPoints ?? 0.0,
|
||||
redBonusStats: $game->redBonusStats ?? [],
|
||||
blueBonusStats: $game->blueBonusStats ?? [],
|
||||
blueBonusStats: $game->blueBonusStats ?? [],
|
||||
bothRegistered: $game->red !== null && $game->blue !== null,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -128,6 +129,7 @@ final readonly class ProfileGameDtoFactory
|
||||
blueBonusPoints: $battle->blueBonusPoints,
|
||||
redBonusStats: $battle->redBonusStats,
|
||||
blueBonusStats: $battle->blueBonusStats,
|
||||
bothRegistered: !$battle->oppIsGuest,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,9 +40,19 @@ class RecentBattleRepository extends ServiceEntityRepository
|
||||
|
||||
public function findRecentForUser(int $userId, int $limit = 30): array
|
||||
{
|
||||
return $this->createQueryBuilder('rb')
|
||||
->where('rb.userId = :uid')
|
||||
$qb = $this->createQueryBuilder('rb');
|
||||
|
||||
return $qb
|
||||
->where($qb->expr()->eq('rb.userId', ':uid'))
|
||||
->andWhere(
|
||||
$qb->expr()->orX(
|
||||
$qb->expr()->eq('rb.oppIsGuest', ':false'),
|
||||
$qb->expr()->isNotNull('rb.redPoints'),
|
||||
$qb->expr()->isNotNull('rb.bluePoints')
|
||||
),
|
||||
)
|
||||
->setParameter('uid', $userId)
|
||||
->setParameter('false', false)
|
||||
->orderBy('rb.updated', 'DESC')
|
||||
->setMaxResults($limit)
|
||||
->getQuery()
|
||||
|
||||
Reference in New Issue
Block a user