2024-05-16 01:42:24 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Slovocast;
|
|
|
|
|
|
|
|
use Slim\App;
|
2024-05-16 02:15:24 +00:00
|
|
|
use Slovocast\Controller\HomePage;
|
2024-06-27 01:10:48 +00:00
|
|
|
use Slovocast\Controller\HealthCheck;
|
2024-05-16 01:42:24 +00:00
|
|
|
use Slovocast\Controller\User\{
|
|
|
|
RegisterUserPage,
|
2024-06-17 00:44:12 +00:00
|
|
|
RegisterUserAction,
|
2024-06-17 01:47:44 +00:00
|
|
|
LoginUserPage,
|
|
|
|
LoginUserAction
|
|
|
|
};
|
|
|
|
use Slovocast\Middleware\{
|
|
|
|
VerifyPasswordMiddleware,
|
|
|
|
AuthenticatedMiddleware
|
2024-05-16 01:42:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class Routes
|
|
|
|
{
|
|
|
|
public static function init(App $app): void
|
|
|
|
{
|
2024-05-16 02:15:24 +00:00
|
|
|
$app->get('/', HomePage::class);
|
2024-06-27 01:10:48 +00:00
|
|
|
$app->get('/healthcheck', HealthCheck::class);
|
2024-05-16 01:42:24 +00:00
|
|
|
// User Routes
|
|
|
|
self::users($app);
|
|
|
|
}
|
|
|
|
|
|
|
|
protected static function users(App $app): void
|
|
|
|
{
|
2024-06-17 00:44:12 +00:00
|
|
|
$app->get('/users/register', RegisterUserPage::class)
|
|
|
|
->setName('user-register-page');
|
2024-06-16 01:50:40 +00:00
|
|
|
$app->post('/users/register', RegisterUserAction::class)
|
2024-06-17 00:44:12 +00:00
|
|
|
->add(VerifyPasswordMiddleware::class)
|
|
|
|
->setName('user-register-action');
|
|
|
|
|
|
|
|
$app->get('/login', LoginUserPage::class)
|
|
|
|
->setName('user-login-page');
|
2024-06-17 01:47:44 +00:00
|
|
|
$app->post('/login', LoginUserAction::class)
|
|
|
|
->add(AuthenticatedMiddleware::class)
|
|
|
|
->setName('user-login-action');
|
2024-05-16 01:42:24 +00:00
|
|
|
}
|
|
|
|
}
|