diff --git a/api/html/index.php b/api/html/index.php index d9a872c..cbd9aca 100644 --- a/api/html/index.php +++ b/api/html/index.php @@ -7,10 +7,12 @@ $dotenv->load(); use DI\Container; use Slim\Factory\AppFactory; use Slim\Routing\RouteCollectorProxy; +use TorstenHettstedt\TimekeepingApi\Controller\PreflightController; use TorstenHettstedt\TimekeepingApi\Controller\WorkingHoursController; use TorstenHettstedt\TimekeepingApi\Controller\WorkingHoursViewController; use TorstenHettstedt\TimekeepingApi\Middleware\ErrorHandler; use TorstenHettstedt\TimekeepingApi\Middleware\JsonBodyParserMiddleware; +use TorstenHettstedt\TimekeepingApi\Middleware\OriginAccessControlHandler; $container = new Container(); @@ -22,17 +24,25 @@ $container->set('databases', function () { AppFactory::setContainer($container); $app = AppFactory::create(); $app->add(new JsonBodyParserMiddleware()); +$app->addBodyParsingMiddleware(); +$app->add(new OriginAccessControlHandler()); +$app->addRoutingMiddleware(); $app->group('/views/working-hours', function (RouteCollectorProxy $group) { + $group->options('/weekly', PreflightController::class . ':preflight'); $group->get('/weekly', WorkingHoursViewController::class . ':browseWeekly'); + $group->options('/monthly', PreflightController::class . ':preflight'); $group->get('/monthly', WorkingHoursViewController::class . ':browseMonthly'); + $group->options('/yearly', PreflightController::class . ':preflight'); $group->get('/yearly', WorkingHoursViewController::class . ':browseYearly'); }); $app->group('/working-hours', function (RouteCollectorProxy $group) { + $group->options('', PreflightController::class . ':preflight'); $group->get('', WorkingHoursController::class . ':browse'); $group->post('', WorkingHoursController::class . ':creat'); $group->group('/{id:\d\d\d\d-\d\d-\d\d}', function (RouteCollectorProxy $group) { + $group->options('', PreflightController::class . ':preflight'); $group->get('', WorkingHoursController::class . ':read'); $group->put('', WorkingHoursController::class . ':update'); });