Files
2026-09-01 10:46:29 -03:00

53 lines
2.2 KiB
PHP
Executable File

<?php
/**
* SysCMS - Content Management System
*
* Copyright (c) 2025 Marco Costa
* All rights reserved.
*
* Author: Marco Costa
* Email: contato@syspanel.com.br
* Project: SysCMS
*
* This software is licensed, not sold.
* Permission is granted to use this software
* subject to the terms of the SysCMS Commercial License.
*
* Redistribution, sublicensing, resale, or
* disclosure of this software, in whole or in part,
* is strictly prohibited without prior written permission.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
*/
use Kernel\Application;
/**
* Register pagebuilder module routes
*
* @param Application $app
* @return void
*/
return function (Application $app) {
// Public page routes
$app->addRoute('GET', '/home', [\Modules\PageBuilder\Controllers\PageController::class, 'home']);
$app->addRoute('GET', '/pages/about', [\Modules\PageBuilder\Controllers\PageController::class, 'about']);
$app->addRoute('GET', '/pages/services', [\Modules\PageBuilder\Controllers\PageController::class, 'services']);
// Custom pages
$app->addRoute('GET', '/pages/{slug}', [\Modules\PageBuilder\Controllers\PageController::class, 'show']);
// Admin page routes (require authentication)
$app->addRoute('GET', '/admin/pages', [\Modules\PageBuilder\Controllers\AdminController::class, 'index']);
$app->addRoute('GET', '/admin/pages/create', [\Modules\PageBuilder\Controllers\AdminController::class, 'create']);
$app->addRoute('POST', '/admin/pages', [\Modules\PageBuilder\Controllers\AdminController::class, 'store']);
$app->addRoute('GET', '/admin/pages/{id}/edit', [\Modules\PageBuilder\Controllers\AdminController::class, 'edit']);
$app->addRoute('PUT', '/admin/pages/{id}', [\Modules\PageBuilder\Controllers\AdminController::class, 'update']);
$app->addRoute('DELETE', '/admin/pages/{id}', [\Modules\PageBuilder\Controllers\AdminController::class, 'destroy']);
// Page status management
$app->addRoute('POST', '/admin/pages/{id}/publish', [\Modules\PageBuilder\Controllers\AdminController::class, 'publish']);
$app->addRoute('POST', '/admin/pages/{id}/unpublish', [\Modules\PageBuilder\Controllers\AdminController::class, 'unpublish']);
};