HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/creativefellows.nl/mygeomil.creativefellows.nl/v0.1/config/routes.php
<?php

use App\Action\Preflight\PreflightAction;

use App\Action\Login\LoginAction;
use App\Action\Login\LogoutAction;
use App\Action\Login\PostLoginAction;
use App\Action\View\PageAction;

use App\Action\Article\ListArticleCategoryAction;
use App\Action\Article\SearchArticleAction;
use App\Action\Article\SearchArticleCategoryAction;

use App\Action\Cart\CartPostAction;
use App\Action\Cart\CartDeleteAction;
use App\Action\Cart\CartPatchAction;
use App\Action\Cart\CartViewAction;

use App\Action\Order\OrderPostAction;

use App\Action\Addressbook\AddressbookPostAction;

// ADMIN
use App\Action\Admin\AdminViewAction;
use App\Action\Admin\AdminViewGroupAction;

	// POST
	use App\Action\Admin\Post\PostArticleAction;
	use App\Action\Admin\Post\PostUserAction;
	use App\Action\Admin\Post\PostGroupAction;
	use App\Action\Admin\Post\PostSettingAction;

	// DELETE
	use App\Action\Admin\Delete\DeleteGroupAction;
	use App\Action\Admin\Delete\DeleteUserAction;
	use App\Action\Admin\Delete\DeleteArticleAction;

	// PATCH
	use App\Action\Admin\Patch\PatchGroupAction;
	use App\Action\Admin\Patch\PatchArticleAction;
	use App\Action\Admin\Patch\PatchUserAction;
	
	// GET
	use App\Action\Admin\Get\GetGroupAction;
	use App\Action\Admin\Get\GetUserAction;
	use App\Action\Admin\Get\GetArticleAction;


use App\Middleware\AuthMiddleware;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Slim\App;
use Slim\Interfaces\RouteCollectorProxyInterface as Group;


return function (App $app) {

  	// preflight headers
	//$app->options('/{routes:.*}', PreflightAction::class);
	
	
	// login
	$app->get('/', LoginAction::class)->setName('login');	
	$app->get('/logoff', LogoutAction::class)->setName('logoff');	
	$app->post('/login', PostLoginAction::class)->setName('login');	
	
	
	// dashboard
	$app->get('/dashboard', \App\Action\Dashboard\DashboardAction::class)->setName('dashboard')->add(AuthMiddleware::class);
    $app->get('/dashboard/{page:[0-9]+}', \App\Action\Dashboard\DashboardAction::class)->setName('dashboard.view.page')->add(AuthMiddleware::class);
	$app->post('/dashboard/order/{id}', \App\Action\Order\OrderGetAction::class)->setName('dashboard.order.get')->add(AuthMiddleware::class);

	
	// articles
    $app->group('/articles', function (Group $group) {
      	
		// list all
		$group->get('', \App\Action\Article\ListArticleAction::class)->setName('articles.view')->add(AuthMiddleware::class);
		
		// search
	    $group->group('/search/', function (Group $search){
	        $search->post('{search}', SearchArticleAction::class)->setName('articles.search');
	        $search->post('{category}/{search}', SearchArticleCategoryAction::class)->setName('articles.search');
		});
		
       	// page
        $group->get('/{page:[0-9]+}', \App\Action\Article\ListArticleAction::class)->setName('articles.viewpage');
		
		// category + page
        $group->get('/{category}[/{page:[0-9]+}]', ListArticleCategoryAction::class)->setName('articles.viewcategory');
        $group->get('/{category}/{child}[/{page:[0-9]+}]', ListArticleCategoryAction::class)->setName('articles.viewcategory.child');
  
    });
	
	
	// service
	$app->get('/service', \App\Action\Maintenance\MaintenanceAction::class)->setName('service')->add(AuthMiddleware::class);
	
	
	// cart
    $app->group('/cart', function (Group $group) {
        
		$group->get('', CartViewAction::class)->setName('cart.view');
		$group->post('/save', \App\Action\Order\OrderSaveAction::class)->setName('order.save');
		
		$group->post('/saved/{saved_id}', \App\Action\Order\OrderLoadAction::class)->setName('order.save');
		$group->get('/saved/{saved_id}', \App\Action\Order\OrderGetSavedAction::class)->setName('order.save');
		$group->delete('/saved/{saved_id}', \App\Action\Order\OrderDeleteSavedAction::class)->setName('order.save');

		
		$group->delete('/empty', \App\Action\Cart\CartEmptyAction::class)->setName('cart.empty');
		
		
		$group->post('/{id}/{quantity}', CartPostAction::class)->setName('cart.post');
		$group->patch('/{id}/{quantity}', CartPatchAction::class)->setName('cart.patch');
		$group->delete('/{id}', CartDeleteAction::class)->setName('cart.delete');
		
		
		
		$group->post('', OrderPostAction::class)->setName('order.post');
		$group->get('/{section}', PageAction::class)->setName('order.complete');
		
	});
	
	
	// addressbook
    $app->group('/addressbook', function (Group $group) {
       		
		$group->post('', AddressbookPostAction::class)->setName('addressbook.post');	
	
	});
	
	
	// admin
	$app->group('/admin', function (Group $group) {
		
		// get		
		$group->get('[/{setting}]', AdminViewAction::class)->setName('admin.view');
		
		
		// article groups
		$group->post('/article-group', PostGroupAction::class)->setName('admin.post.group');
		$group->get('/article-group/{id}', GetGroupAction::class)->setName('admin.get.group');			
		$group->patch('/article-group/{id}', PatchGroupAction::class)->setName('admin.patch.group');
		$group->delete('/article-group/{id}', DeleteGroupAction::class)->setName('admin.delete.group');
		$group->post('/article-group/article', \App\Action\Admin\Post\PostGroupArticleAction::class)->setName('admin.post.group.article');
		
		
		// articles 
		$group->post('/articles', PostArticleAction::class)->setName('admin.post.article');
		$group->get('/articles/{id:[0-9]+}', GetArticleAction::class)->setName('admin.view.article');
		$group->delete('/articles/{id}', DeleteArticleAction::class)->setName('admin.delete.article');
		$group->patch('/articles/{id}', PatchArticleAction::class)->setName('admin.patch.article');
		$group->get('/articles/page:{page:[0-9]+}', AdminViewAction::class)->setName('admin.view.articlepage');
		
		// user
		$group->post('/user', PostUserAction::class)->setName('admin.post.user');
		$group->delete('/user/{id}', DeleteUserAction::class)->setName('admin.delete.user');
		$group->get('/user/{id}', GetUserAction::class)->setName('admin.get.user');
		$group->patch('/user/{id}', PatchUserAction::class)->setName('admin.get.user');
		
		// settings
		$group->post('/settings', PostSettingAction::class)->setName('admin.post.setting');
		
		
	
	});
	
	
	// other
	$app->get('/{section}', PageAction::class)->setName('service')->add(AuthMiddleware::class);
	

};