38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
session_start([
|
|
'cookie_httponly' => true,
|
|
'cookie_secure' => !empty($_SERVER['HTTPS']),
|
|
'cookie_samesite' => 'Lax',
|
|
]);
|
|
|
|
require __DIR__ . '/../vendor/autoload.php';
|
|
|
|
use DI\Container;
|
|
use DigiWill\Controllers\UserController;
|
|
use Slim\Factory\AppFactory;
|
|
use Slim\Views\Twig;
|
|
use Slim\Views\TwigMiddleware;
|
|
use Tests\Fakes\FakeUserRepository;
|
|
use DigiWill\Repositories\UserRepository;
|
|
use DigiWill\MiddleWare\AuthMiddleware;
|
|
|
|
$container = new Container([
|
|
UserRepository::class => DI\create(FakeUserRepository::class),
|
|
]);
|
|
|
|
$app = AppFactory::createFromContainer($container);
|
|
|
|
$twig = Twig::create(__DIR__ . '/../templates', ['cache' => false]);
|
|
|
|
$auth = new AuthMiddleware();
|
|
|
|
$app->add(TwigMiddleware::create($app, $twig));
|
|
$app->addErrorMiddleware(true, false, false);
|
|
|
|
$app->get('/', [UserController::class, 'home']);
|
|
$app->get('/login', [UserController::class, 'login']);
|
|
$app->get('/logout', [UserController::class, 'logout']);
|
|
$app->post('/login', [UserController::class, 'doLogin']);
|
|
$app->get('/dashboard', [UserController::class, 'dashboard'])->add($auth);
|
|
|
|
$app->run();
|