42 lines
1.0 KiB
PHP
42 lines
1.0 KiB
PHP
<?php
|
|
require_once __DIR__ . '/../vendor/autoload.php';
|
|
|
|
$dotenv = Dotenv\Dotenv::createImmutable(dirname(__DIR__));
|
|
$dotenv->load();
|
|
|
|
use DI\Container;
|
|
use Slim\Factory\AppFactory;
|
|
|
|
$container = new Container();
|
|
|
|
$container->set('databases', function () {
|
|
$dsn = "pgsql:host=${_ENV['DATABASES_HOST']};port=5432;dbname=${_ENV['DATABASES_NAME']}";
|
|
return new PDO($dsn, $_ENV['DATABASES_USER'], $_ENV['DATABASES_PASS']);
|
|
});
|
|
|
|
AppFactory::setContainer($container);
|
|
$app = AppFactory::create();
|
|
|
|
$app->get(
|
|
'/',
|
|
'TorstenHettstedt\TimekeepingApi\Controller\HelloWorldController:read'
|
|
);
|
|
|
|
$app->get(
|
|
'/views/working-hours/weekly',
|
|
'TorstenHettstedt\TimekeepingApi\Controller\WorkingHoursViewController:browseWeekly'
|
|
);
|
|
|
|
$app->get(
|
|
'/views/working-hours/monthly',
|
|
'TorstenHettstedt\TimekeepingApi\Controller\WorkingHoursViewController:browseMonthly'
|
|
);
|
|
|
|
$app->get(
|
|
'/views/working-hours/yearly',
|
|
'TorstenHettstedt\TimekeepingApi\Controller\WorkingHoursViewController:browseYearly'
|
|
);
|
|
|
|
$app->addErrorMiddleware(true, true, true);
|
|
|
|
$app->run(); |