ldc-groupe/routes/web-back.php
2025-12-01 14:51:11 +01:00

121 lines
6.5 KiB
PHP

<?php
use App\Helpers\InertiaErrorHelper;
use App\Http\Controllers\Back\CompanyController;
use App\Http\Controllers\Back\CompanyActivityController;
use App\Http\Controllers\Back\CompanySectorController;
use App\Http\Controllers\Back\ContactController;
use App\Http\Controllers\Back\DynamicPageController;
use App\Http\Controllers\Back\NewsController;
use App\Http\Controllers\Back\PageConfigController;
use App\Http\Controllers\Back\UploadController;
use Illuminate\Http\Request;
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');
// * COMPANIES.
Route::get('/companies/trash', [CompanyController::class, 'index'])
->name('companies.trash');
Route::patch('/companies/{company}/restore', [CompanyController::class, 'restore'])
->name('companies.restore');
Route::delete('/companies/{company}/force', [CompanyController::class, 'forceDestroy'])
->name('companies.forceDestroy');
Route::resource('companies', CompanyController::class);
Route::get('/companies/{company}/duplicate', [CompanyController::class, 'duplicate'])
->name('companies.duplicate');
// * COMPANY SECTORS.
Route::get('/company-sectors/trash', [CompanySectorController::class, 'index'])
->name('company-sectors.trash');
Route::patch('/company-sectors/{company_sector}/restore', [CompanySectorController::class, 'restore'])
->name('company-sectors.restore');
Route::delete('/company-sectors/{company_sector}/force', [CompanySectorController::class, 'forceDestroy'])
->name('company-sectors.forceDestroy');
Route::resource('company-sectors', CompanySectorController::class);
Route::get('/company-sectors/{company_sector}/duplicate', [CompanySectorController::class, 'duplicate'])
->name('company-sectors.duplicate');
// * COMPANY ACTIVITIES.
Route::get('/company-activities/trash', [CompanyActivityController::class, 'index'])
->name('company-activities.trash');
Route::patch('/company-activities/{company_activity}/restore', [CompanyActivityController::class, 'restore'])
->name('company-activities.restore');
Route::delete('/company-activities/{company_activity}/force', [CompanyActivityController::class, 'forceDestroy'])
->name('company-activities.forceDestroy');
Route::resource('company-activities', CompanyActivityController::class);
Route::get('/company-activities/{company_activity}/duplicate', [CompanyActivityController::class, 'duplicate'])
->name('company-activities.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');
});