ldc-groupe/routes/web-back.php
2025-11-12 16:48:20 +01:00

85 lines
4.1 KiB
PHP

<?php
use App\Helpers\InertiaErrorHelper;
use App\Http\Controllers\Back\DynamicPageController;
use App\Http\Controllers\Back\PageConfigController;
use App\Http\Controllers\Back\UploadController;
use Illuminate\Http\Request;
use App\Http\Controllers\Back\ContactController;
use App\Http\Controllers\Back\NewsController;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use Uwil\LaravelBackend\Controllers\AuthenticatedSessionController;
use Uwil\LaravelBackend\Controllers\UserController;
use Uwil\LaravelCommon\Controllers\Controller;
Route::prefix('admin')
->name('back.')
->middleware(['lang'])
->group(function () {
Route::get('/', fn() => redirect()->route('back.dashboard.index'))->name('redirect.dashboard');
Route::middleware('guest:backend')->group(function () {
Route::get('login', [AuthenticatedSessionController::class, 'create'])->name('login');
Route::post('login', [AuthenticatedSessionController::class, 'store']);
});
Route::middleware(['auth:backend', 'verified'])->group(function () {
Route::get('logout', [AuthenticatedSessionController::class, 'destroy'])->name('logout');
Route::get('/dashboard', function () {
return Inertia::render('Dashboard/Index');
})->name('dashboard.index');
// * USERS.
Route::resource('users', UserController::class);
Route::get('/users/{user}/duplicate', [UserController::class, 'duplicate'])->name('users.duplicate');
// * DYNAMIC PAGES.
Route::get('/dynamic-pages/trash', [DynamicPageController::class, 'index'])
->name('dynamic-pages.trash');
Route::patch('/dynamic-pages/{dynamic_page}/restore', [DynamicPageController::class, 'restore'])
->name('dynamic-pages.restore');
Route::delete('/dynamic-pages/{dynamic_page}/force', [DynamicPageController::class, 'forceDestroy'])
->name('dynamic-pages.forceDestroy');
Route::resource('dynamic-pages', DynamicPageController::class);
Route::get('/dynamic-pages/{dynamic_page}/duplicate', [DynamicPageController::class, 'duplicate'])
->name('dynamic-pages.duplicate');
// * PAGE CONFIGURATIONS.
Route::get('/page-configs/trash', [PageConfigController::class, 'index'])
->name('page-configs.trash');
Route::patch('/page-configs/{page_config}/restore', [PageConfigController::class, 'restore'])
->name('page-configs.restore');
Route::delete('/page-configs/{page_config}/force', [PageConfigController::class, 'forceDestroy'])
->name('page-configs.forceDestroy');
Route::resource('page-configs', PageConfigController::class);
Route::get('/page-configs/{page_config}/duplicate', [PageConfigController::class, 'duplicate'])
->name('page-configs.duplicate');
// * UPLOAD (USED FOR WYSIWYG).
Route::post('/wysiwyg/upload', [UploadController::class, 'uploadFile'])->name('wysiwyg.upload');
// * CONTACT COUNT
Route::get('/contact-counts', [ContactController::class, 'index'])->name('contact-counts.index');
// * NEWS
Route::get('/news/trash', [NewsController::class, 'index'])
->name('news.trash');
Route::patch('/news/{news}/restore', [NewsController::class, 'restore'])
->name('news.restore');
Route::delete('/news/{news}/force', [NewsController::class, 'forceDestroy'])
->name('news.forceDestroy');
Route::resource('news', NewsController::class);
Route::get('/news/{news}/duplicate', [NewsController::class, 'duplicate'])
->name('news.duplicate');
});
// * UPDATE LANGUAGES.
Route::post('/lang/set', [Controller::class, 'setLang'])->name('lang.set');
// * FALLBACK ROUTE.
Route::fallback(function (Request $request) {
return InertiaErrorHelper::render($request, 404);
})->name('redirect.fallback');
});