adapt Container usage to new soko-web
This commit is contained in:
23 files changed
+248
-397
No files matched your search
@@ -4,13 +4,11 @@ use DateTime;
|
||||
use SokoWeb\Interfaces\Authentication\IUser;
|
||||
use SokoWeb\Interfaces\Authentication\IAuthenticationRequired;
|
||||
use SokoWeb\Interfaces\Authorization\ISecured;
|
||||
use SokoWeb\Interfaces\Request\IRequest;
|
||||
use SokoWeb\Interfaces\Response\IContent;
|
||||
use MapGuesser\PersistentData\Model\Challenge;
|
||||
use MapGuesser\PersistentData\Model\Map;
|
||||
use MapGuesser\PersistentData\Model\Place;
|
||||
use MapGuesser\PersistentData\Model\PlaceInChallenge;
|
||||
use SokoWeb\PersistentData\PersistentDataManager;
|
||||
use MapGuesser\Repository\ChallengeRepository;
|
||||
use MapGuesser\Repository\GuessRepository;
|
||||
use MapGuesser\Repository\MapRepository;
|
||||
@@ -27,10 +25,6 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
{
|
||||
private static string $unnamedMapName = '[unnamed map]';
|
||||
|
||||
private IRequest $request;
|
||||
|
||||
private PersistentDataManager $pdm;
|
||||
|
||||
private MapRepository $mapRepository;
|
||||
|
||||
private PlaceRepository $placeRepository;
|
||||
@@ -45,10 +39,8 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
|
||||
private UserInChallengeRepository $userInChallengeRepository;
|
||||
|
||||
public function __construct(IRequest $request)
|
||||
public function __construct()
|
||||
{
|
||||
$this->request = $request;
|
||||
$this->pdm = new PersistentDataManager();
|
||||
$this->mapRepository = new MapRepository();
|
||||
$this->placeRepository = new PlaceRepository();
|
||||
$this->userPlayedPlaceRepository = new UserPlayedPlaceRepository();
|
||||
@@ -65,12 +57,12 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
|
||||
public function authorize(): bool
|
||||
{
|
||||
return $this->request->user()->hasPermission(IUser::PERMISSION_ADMIN);
|
||||
return \Container::$request->user()->hasPermission(IUser::PERMISSION_ADMIN);
|
||||
}
|
||||
|
||||
public function getMapEditor(): IContent
|
||||
{
|
||||
$mapId = (int) $this->request->query('mapId');
|
||||
$mapId = (int) \Container::$request->query('mapId');
|
||||
|
||||
if ($mapId) {
|
||||
$map = $this->mapRepository->getById($mapId);
|
||||
@@ -93,7 +85,7 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
|
||||
public function getPlace(): IContent
|
||||
{
|
||||
$placeId = (int) $this->request->query('placeId');
|
||||
$placeId = (int) \Container::$request->query('placeId');
|
||||
|
||||
$place = $this->placeRepository->getById($placeId);
|
||||
|
||||
@@ -102,14 +94,14 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
|
||||
public function saveMap(): IContent
|
||||
{
|
||||
$mapId = (int) $this->request->query('mapId');
|
||||
$mapId = (int) \Container::$request->query('mapId');
|
||||
|
||||
if ($mapId) {
|
||||
$map = $this->mapRepository->getById($mapId);
|
||||
} else {
|
||||
$map = new Map();
|
||||
$map->setName(self::$unnamedMapName);
|
||||
$this->pdm->saveToDb($map);
|
||||
\Container::$persistentDataManager->saveToDb($map);
|
||||
}
|
||||
|
||||
if (isset($_POST['added'])) {
|
||||
@@ -131,7 +123,7 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
$place->setPanoIdCachedTimestampDate(new DateTime('-1 day'));
|
||||
}
|
||||
|
||||
$this->pdm->saveToDb($place);
|
||||
\Container::$persistentDataManager->saveToDb($place);
|
||||
|
||||
$addedIds[] = ['tempId' => $placeRaw['id'], 'id' => $place->getId()];
|
||||
}
|
||||
@@ -153,7 +145,7 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
));
|
||||
$place->setPanoIdCachedTimestampDate(new DateTime('-1 day'));
|
||||
|
||||
$this->pdm->saveToDb($place);
|
||||
\Container::$persistentDataManager->saveToDb($place);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,20 +174,20 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
$map->setUnlisted((bool)$_POST['unlisted']);
|
||||
}
|
||||
|
||||
$this->pdm->saveToDb($map);
|
||||
\Container::$persistentDataManager->saveToDb($map);
|
||||
|
||||
return new JsonContent(['mapId' => $map->getId(), 'added' => $addedIds]);
|
||||
}
|
||||
|
||||
public function deleteMap(): IContent
|
||||
{
|
||||
$mapId = (int) $this->request->query('mapId');
|
||||
$mapId = (int) \Container::$request->query('mapId');
|
||||
|
||||
$map = $this->mapRepository->getById($mapId);
|
||||
|
||||
$this->deletePlaces($map);
|
||||
|
||||
$this->pdm->deleteFromDb($map);
|
||||
\Container::$persistentDataManager->deleteFromDb($map);
|
||||
|
||||
return new JsonContent(['success' => true]);
|
||||
}
|
||||
@@ -203,14 +195,14 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
private function deletePlace(Place $place): void
|
||||
{
|
||||
foreach ($this->userPlayedPlaceRepository->getAllByPlace($place) as $userPlayedPlace) {
|
||||
$this->pdm->deleteFromDb($userPlayedPlace);
|
||||
\Container::$persistentDataManager->deleteFromDb($userPlayedPlace);
|
||||
}
|
||||
|
||||
foreach ($this->challengeRepository->getAllByPlace($place) as $challenge) {
|
||||
$this->deleteChallenge($challenge);
|
||||
}
|
||||
|
||||
$this->pdm->deleteFromDb($place);
|
||||
\Container::$persistentDataManager->deleteFromDb($place);
|
||||
}
|
||||
|
||||
private function deletePlaces(Map $map): void
|
||||
@@ -223,18 +215,18 @@ class MapAdminController implements IAuthenticationRequired, ISecured
|
||||
private function deleteChallenge(Challenge $challenge): void
|
||||
{
|
||||
foreach ($this->userInChallengeRepository->getAllByChallenge($challenge) as $userInChallenge) {
|
||||
$this->pdm->deleteFromDb($userInChallenge);
|
||||
\Container::$persistentDataManager->deleteFromDb($userInChallenge);
|
||||
}
|
||||
|
||||
foreach ($this->guessRepository->getAllInChallenge($challenge, [PlaceInChallenge::class]) as $guess) {
|
||||
$this->pdm->deleteFromDb($guess);
|
||||
\Container::$persistentDataManager->deleteFromDb($guess);
|
||||
}
|
||||
|
||||
foreach ($this->placeInChallengeRepository->getAllByChallenge($challenge) as $placeInChallenge) {
|
||||
$this->pdm->deleteFromDb($placeInChallenge);
|
||||
\Container::$persistentDataManager->deleteFromDb($placeInChallenge);
|
||||
}
|
||||
|
||||
$this->pdm->deleteFromDb($challenge);
|
||||
\Container::$persistentDataManager->deleteFromDb($challenge);
|
||||
}
|
||||
|
||||
private function calculateMapBounds(Map $map): Bounds
|
||||
|
||||
Reference in new issue
Block a user