From 0d0f6138a492920a8db5ed5f806fb6030dde98f4 Mon Sep 17 00:00:00 2001 From: maxime Date: Fri, 9 Feb 2024 19:29:28 +0100 Subject: [PATCH] fix preflight requests --- public/api/index.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/public/api/index.php b/public/api/index.php index be2e8a3..4c5eb50 100644 --- a/public/api/index.php +++ b/public/api/index.php @@ -9,14 +9,20 @@ use IQBall\Api\Controller\APIAccountsController; use IQBall\Api\Controller\APIAuthController; use IQBall\Api\Controller\APIServerController; use IQBall\Api\Controller\APITacticController; +use IQBall\Api\Controller\APITeamController; use IQBall\App\Session\PhpSessionHandle; use IQBall\Core\Action; use IQBall\Core\Connection; use IQBall\Core\Data\Account; use IQBall\Core\Gateway\AccountGateway; +use IQBall\Core\Gateway\MemberGateway; use IQBall\Core\Gateway\TacticInfoGateway; +use IQBall\Core\Gateway\TeamGateway; use IQBall\Core\Model\AuthModel; use IQBall\Core\Model\TacticModel; +use IQBall\Core\Model\TeamModel; +use IQBall\Core\Http\HttpResponse; +use IQBall\Core\Http\HttpCodes; $basePath = get_base_path() . "/api"; @@ -41,18 +47,18 @@ function getServerController(): APIServerController { return new APIServerController($basePath, get_database()); } -function getAPITeamController(): \IQBall\Api\Controller\APITeamController { +function getAPITeamController(): APITeamController { $con = new Connection(get_database()); - return new \IQBall\Api\Controller\APITeamController(new \IQBall\Core\Model\TeamModel(new \IQBall\Core\Gateway\TeamGateway($con), new \IQBall\Core\Gateway\MemberGateway($con), new AccountGateway($con))); + return new APITeamController(new TeamModel(new TeamGateway($con), new MemberGateway($con), new AccountGateway($con))); } - - function getRoutes(): AltoRouter { global $basePath; $router = new AltoRouter(); $router->setBasePath($basePath); + $router->map("OPTIONS", "*", Action::noAuth(fn() => HttpResponse::fromCode(HttpCodes::OK))); + $router->map("POST", "/auth", Action::noAuth(fn() => getAuthController()->authorize())); $router->map("POST", "/tactic/[i:id]/edit/name", Action::auth(fn(int $id, Account $acc) => getTacticController()->updateName($id, $acc))); $router->map("POST", "/tactic/[i:id]/save", Action::auth(fn(int $id, Account $acc) => getTacticController()->saveContent($id, $acc)));