use username for multi games
This commit is contained in:
4 files changed
+21
-26
No files matched your search
@@ -1,7 +1,6 @@
|
||||
<?php namespace MapGuesser\Controller;
|
||||
|
||||
use DateTime;
|
||||
use Faker\Factory;
|
||||
use SokoWeb\Interfaces\Authentication\IAuthenticationRequired;
|
||||
use SokoWeb\Response\HtmlContent;
|
||||
use SokoWeb\Response\JsonContent;
|
||||
@@ -12,6 +11,7 @@ use MapGuesser\PersistentData\Model\Challenge;
|
||||
use MapGuesser\PersistentData\Model\MultiRoom;
|
||||
use MapGuesser\PersistentData\Model\PlaceInChallenge;
|
||||
use MapGuesser\PersistentData\Model\UserInChallenge;
|
||||
use MapGuesser\PersistentData\Model\User;
|
||||
use MapGuesser\Repository\ChallengeRepository;
|
||||
use MapGuesser\Repository\MapRepository;
|
||||
use MapGuesser\Repository\MultiRoomRepository;
|
||||
@@ -190,13 +190,17 @@ class GameController implements IAuthenticationRequired
|
||||
|
||||
public function prepareMultiGame(): IContent
|
||||
{
|
||||
$roomId = \Container::$request->query('roomId');
|
||||
$userName = \Container::$request->post('userName');
|
||||
if (empty($userName)) {
|
||||
$faker = Factory::create();
|
||||
$userName = $faker->userName;
|
||||
/**
|
||||
* @var User|null $user
|
||||
*/
|
||||
$user = \Container::$request->user();
|
||||
if ($user === null)
|
||||
{
|
||||
return new JsonContent(['error' => 'anonymous_user']);
|
||||
}
|
||||
|
||||
$roomId = \Container::$request->query('roomId');
|
||||
|
||||
$room = $this->multiRoomRepository->getByRoomId($roomId);
|
||||
|
||||
if (!isset($room)) {
|
||||
@@ -225,7 +229,7 @@ class GameController implements IAuthenticationRequired
|
||||
$this->multiConnector->sendMessage('join_room', [
|
||||
'roomId' => $roomId,
|
||||
'token' => $token,
|
||||
'userName' => $userName
|
||||
'userName' => $user->getDisplayName()
|
||||
]);
|
||||
|
||||
return new JsonContent([
|
||||
|
||||
Reference in new issue
Block a user