feat: register bundled-scenario and match-action routes
This commit is contained in:
+39
-1
@@ -5,10 +5,17 @@ declare(strict_types=1);
|
|||||||
use BattleForge\Http\CsrfToken;
|
use BattleForge\Http\CsrfToken;
|
||||||
use BattleForge\Http\Handlers\GetAssets;
|
use BattleForge\Http\Handlers\GetAssets;
|
||||||
use BattleForge\Http\Handlers\GetBattlefieldEditor;
|
use BattleForge\Http\Handlers\GetBattlefieldEditor;
|
||||||
|
use BattleForge\Http\Handlers\GetBundledScenario;
|
||||||
|
use BattleForge\Http\Handlers\GetBundledScenarios;
|
||||||
use BattleForge\Http\Handlers\GetHomePage;
|
use BattleForge\Http\Handlers\GetHomePage;
|
||||||
|
use BattleForge\Http\Handlers\GetMatchView;
|
||||||
use BattleForge\Http\Handlers\GetTeamEditor;
|
use BattleForge\Http\Handlers\GetTeamEditor;
|
||||||
use BattleForge\Http\Handlers\PostBattlefieldEditor;
|
use BattleForge\Http\Handlers\PostBattlefieldEditor;
|
||||||
use BattleForge\Http\Handlers\PostImageUpload;
|
use BattleForge\Http\Handlers\PostImageUpload;
|
||||||
|
use BattleForge\Http\Handlers\PostMatchAbility;
|
||||||
|
use BattleForge\Http\Handlers\PostMatchAttack;
|
||||||
|
use BattleForge\Http\Handlers\PostMatchEndTurn;
|
||||||
|
use BattleForge\Http\Handlers\PostMatchMove;
|
||||||
use BattleForge\Http\Handlers\PostStartMatch;
|
use BattleForge\Http\Handlers\PostStartMatch;
|
||||||
use BattleForge\Http\Handlers\PostTeamEditor;
|
use BattleForge\Http\Handlers\PostTeamEditor;
|
||||||
use BattleForge\Http\Request;
|
use BattleForge\Http\Request;
|
||||||
@@ -96,7 +103,11 @@ $request = new Request(
|
|||||||
$uploadsRoot = __DIR__ . '/../var/uploads';
|
$uploadsRoot = __DIR__ . '/../var/uploads';
|
||||||
$placeholderDir = __DIR__ . '/assets/placeholders';
|
$placeholderDir = __DIR__ . '/assets/placeholders';
|
||||||
|
|
||||||
$homePage = static fn (Request $r, array $p): Response => (new GetHomePage())->handle($r, $p);
|
$scenariosDir = __DIR__ . '/assets/scenarios';
|
||||||
|
|
||||||
|
$homePage = static function (Request $r, array $p) use ($scenariosDir): Response {
|
||||||
|
return (new GetHomePage($scenariosDir))->handle($r, $p);
|
||||||
|
};
|
||||||
$getTeam = static fn (Request $r, array $p): Response => (new GetTeamEditor())->handle($r, $p);
|
$getTeam = static fn (Request $r, array $p): Response => (new GetTeamEditor())->handle($r, $p);
|
||||||
$postTeam = static fn (Request $r, array $p): Response => (new PostTeamEditor())->handle($r, $p);
|
$postTeam = static fn (Request $r, array $p): Response => (new PostTeamEditor())->handle($r, $p);
|
||||||
$getBattlefield = static fn (Request $r, array $p): Response => (new GetBattlefieldEditor())->handle($r, $p);
|
$getBattlefield = static fn (Request $r, array $p): Response => (new GetBattlefieldEditor())->handle($r, $p);
|
||||||
@@ -113,9 +124,36 @@ $getUploadedAsset = static function (Request $r, array $p) use ($placeholderDir,
|
|||||||
['kind' => 'uploads', 'userToken' => $p['userToken'] ?? '', 'filename' => $p['filename'] ?? ''],
|
['kind' => 'uploads', 'userToken' => $p['userToken'] ?? '', 'filename' => $p['filename'] ?? ''],
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
$getBundledList = static function (Request $r, array $p) use ($scenariosDir): Response {
|
||||||
|
return (new GetBundledScenarios($scenariosDir))->handle($r, $p);
|
||||||
|
};
|
||||||
|
$getBundledOne = static function (Request $r, array $p) use ($scenariosDir): Response {
|
||||||
|
return (new GetBundledScenario($scenariosDir))->handle($r, $p);
|
||||||
|
};
|
||||||
|
$getMatchView = static fn (Request $r, array $p): Response => (new GetMatchView())->handle($r, $p);
|
||||||
|
$secret = (string) ($_SERVER['__csrf_secret'] ?? '');
|
||||||
|
$postMatchMove = static function (Request $r, array $p) use ($secret): Response {
|
||||||
|
return (new PostMatchMove($secret))->handle($r, $p);
|
||||||
|
};
|
||||||
|
$postMatchAttack = static function (Request $r, array $p) use ($secret): Response {
|
||||||
|
return (new PostMatchAttack($secret))->handle($r, $p);
|
||||||
|
};
|
||||||
|
$postMatchAbility = static function (Request $r, array $p) use ($secret): Response {
|
||||||
|
return (new PostMatchAbility($secret))->handle($r, $p);
|
||||||
|
};
|
||||||
|
$postMatchEndTurn = static function (Request $r, array $p) use ($secret): Response {
|
||||||
|
return (new PostMatchEndTurn($secret))->handle($r, $p);
|
||||||
|
};
|
||||||
|
|
||||||
$router = new Router();
|
$router = new Router();
|
||||||
$router->add('GET', '/', $homePage);
|
$router->add('GET', '/', $homePage);
|
||||||
|
$router->add('GET', '/scenarios/bundled', $getBundledList);
|
||||||
|
$router->add('GET', '/scenarios/bundled/{id}', $getBundledOne);
|
||||||
|
$router->add('GET', '/matches/current', $getMatchView);
|
||||||
|
$router->add('POST', '/matches/current/move', $postMatchMove);
|
||||||
|
$router->add('POST', '/matches/current/attack', $postMatchAttack);
|
||||||
|
$router->add('POST', '/matches/current/ability', $postMatchAbility);
|
||||||
|
$router->add('POST', '/matches/current/end-turn', $postMatchEndTurn);
|
||||||
$router->add('GET', '/scenarios/{id}/edit/team', $getTeam);
|
$router->add('GET', '/scenarios/{id}/edit/team', $getTeam);
|
||||||
$router->add('POST', '/scenarios/{id}/edit/team', $postTeam);
|
$router->add('POST', '/scenarios/{id}/edit/team', $postTeam);
|
||||||
$router->add('GET', '/scenarios/{id}/edit/battlefield', $getBattlefield);
|
$router->add('GET', '/scenarios/{id}/edit/battlefield', $getBattlefield);
|
||||||
|
|||||||
Reference in New Issue
Block a user