get('/[home]', HomePage::class)->setName("home"); $app->get('/healthcheck', HealthCheck::class); // User Routes self::users($app); self::dashboard($app); // Channel Routes self::channels($app); } /** * @param App $app Instantiated Application */ protected static function users(App $app): void { $app->get('/register', RegisterUserPage::class) ->add(FormKeyMiddleware::class) ->setName('user-register-page'); $app->post('/register', RegisterUserAction::class) ->add(FormKeyMiddleware::class) ->add(VerifyPasswordMiddleware::class) ->setName('user-register-action'); $app->get('/login', LoginUserPage::class) ->setName('user-login-page'); $app->post('/login', LoginUserAction::class) ->setName('user-login-action'); $app->get('/logout', LogoutUserAction::class) ->setName('user-logout'); } /** * @param App $app Instantiated Application */ protected static function channels(App $app): void { $app->get('/channel/create', CreateChannelPage::class) ->add(FormKeyMiddleware::class) ->add(AuthenticatedMiddleware::class) ->setName('channel-create-page'); $app->post('/channel/create', CreateChannelAction::class) ->add(FormKeyMiddleware::class) ->add(AuthenticatedMiddleware::class) ->setName("channel-create-action"); } /** * @param App $app Instance of the application */ protected static function dashboard(App $app): void { $app->get('/dashboard', DashboardPage::class) ->add(AuthenticatedMiddleware::class) ->setName('dashboard'); } }