slovocast/app/src/Routes.php

44 lines
1.1 KiB
PHP
Raw Normal View History

<?php
namespace Slovocast;
use Slim\App;
use Slovocast\Controller\HomePage;
use Slovocast\Controller\HealthCheck;
use Slovocast\Controller\User\{
RegisterUserPage,
2024-06-17 00:44:12 +00:00
RegisterUserAction,
LoginUserPage,
LoginUserAction
};
use Slovocast\Middleware\{
VerifyPasswordMiddleware,
AuthenticatedMiddleware
};
class Routes
{
public static function init(App $app): void
{
$app->get('/', HomePage::class);
$app->get('/healthcheck', HealthCheck::class);
// 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');
$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');
$app->post('/login', LoginUserAction::class)
->add(AuthenticatedMiddleware::class)
->setName('user-login-action');
}
}