Goal-Calibration/bootstrap/app.php

32 lines
1.1 KiB
PHP

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use DI\Bridge\Slim\Bridge;
use App\View\ViewController;
use App\Text\TextController;
use App\Node\NodeController;
use App\Plan\PlanController;
$container = require __DIR__ . '/container.php';
$app = Bridge::create($container);
// change first param to false for production
$app->addErrorMiddleware(true, true, true);
$app->get('/home', [ViewController::class, 'home']);
$app->get('/admin', [ViewController::class, 'admin']);
$app->get('/admin/texts', [ViewController::class, 'texts']);
$app->get('/admin/texts/{textId}', [ViewController::class, 'text']);
$app->get('/api/texts', [TextController::class, 'getTexts']);
$app->get('/api/texts/{textId}', [TextController::class, 'getText']);
$app->post('/api/texts', [TextController::class, 'createText']);
$app->get('/api/nodes/{textId}', [NodeController::class, 'getNodesOfText']);
$app->post('/api/nodes/bulk', [NodeController::class, 'bulkCreateNodes']);
$app->post('/api/nodes', [NodeController::class, 'createNode']);
$app->post('/api/plans', [PlanController::class, 'createPlan']);
return $app;