ldc-groupe/routes/web-back.php

189 lines
10 KiB
PHP

<?php
use App\Helpers\InertiaErrorHelper;
use App\Http\Controllers\Back\CompanyActivityController;
use App\Http\Controllers\Back\CompanyController;
use App\Http\Controllers\Back\CompanySectorController;
use App\Http\Controllers\Back\ContactController;
use App\Http\Controllers\Back\DocumentCategoryController;
use App\Http\Controllers\Back\DocumentController;
use App\Http\Controllers\Back\DocumentTagController;
use App\Http\Controllers\Back\DynamicPageController;
use App\Http\Controllers\Back\InputsController;
use App\Http\Controllers\Back\NewsCategoryController;
use App\Http\Controllers\Back\NewsController;
use App\Http\Controllers\Back\NewsTagController;
use App\Http\Controllers\Back\PageConfigController;
use App\Http\Controllers\Back\AuthenticatedSessionController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use Uwil\LaravelBackend\Controllers\UserController;
use Uwil\LaravelCommon\Controllers\Controller;
Route::prefix('admin')
->middleware(['admin-secure'])
->name('back.')
->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');
// * MODEL LIST (USED FOR SELECT MODEL INPUT).
Route::post('/model/list', [InputsController::class, 'modelList'])->name('model.list');
// * IMAGE UPLOAD (USED FOR WYSIWYG INPUT).
Route::post('/wysiwyg/upload', [InputsController::class, 'uploadFile'])->name('wysiwyg.upload');
// * INTERNAL LINK (USED FOR WYSIWYG INPUT).
Route::post('/wysiwyg/model-access', [InputsController::class, 'modelAccess'])
->name('wysiwyg.model-access');
Route::post('/wysiwyg/retrieve-data-from-token', [InputsController::class, 'retrieveDataFromToken'])
->name('wysiwyg.retrieve-data-from-token');
// * 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');
// * 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');
// * NEWS CATEGORIES.
Route::get('/news-categories/trash', [NewsCategoryController::class, 'index'])
->name('news-categories.trash');
Route::patch('/news-categories/{news_category}/restore', [NewsCategoryController::class, 'restore'])
->name('news-categories.restore');
Route::delete('/news-categories/{news_category}/force', [NewsCategoryController::class, 'forceDestroy'])
->name('news-categories.forceDestroy');
Route::resource('news-categories', NewsCategoryController::class);
Route::get('/news-categories/{news_category}/duplicate', [NewsCategoryController::class, 'duplicate'])
->name('news-categories.duplicate');
// * NEWS TAGS.
Route::get('/news-tags/trash', [NewsTagController::class, 'index'])
->name('news-tags.trash');
Route::patch('/news-tags/{news_tag}/restore', [NewsTagController::class, 'restore'])
->name('news-tags.restore');
Route::delete('/news-tags/{news_tag}/force', [NewsTagController::class, 'forceDestroy'])
->name('news-tags.forceDestroy');
Route::resource('news-tags', NewsTagController::class);
Route::get('/news-tags/{news_tag}/duplicate', [NewsTagController::class, 'duplicate'])
->name('news-tags.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');
// * DOCUMENTS.
Route::resource('documents', DocumentController::class);
Route::get('/documents/{document}/duplicate', [DocumentController::class, 'duplicate'])
->name('documents.duplicate');
// * DOCUMENTS CATEGORIES.
Route::get('/document-categories/trash', [DocumentCategoryController::class, 'index'])
->name('document-categories.trash');
Route::patch('/document-categories/{document_category}/restore', [
DocumentCategoryController::class, 'restore',
])->name('document-categories.restore');
Route::delete('/document-categories/{document_category}/force', [
DocumentCategoryController::class, 'forceDestroy',
])->name('document-categories.forceDestroy');
Route::resource('document-categories', DocumentCategoryController::class);
Route::get('/document-categories/{document_category}/duplicate', [
DocumentCategoryController::class, 'duplicate',
])->name('document-categories.duplicate');
// * DOCUMENTS TAGS.
Route::get('/document-tags/trash', [DocumentTagController::class, 'index'])
->name('document-tags.trash');
Route::patch('/document-tags/{document_tag}/restore', [DocumentTagController::class, 'restore'])
->name('document-tags.restore');
Route::delete('/document-tags/{document_tag}/force', [DocumentTagController::class, 'forceDestroy'])
->name('document-tags.forceDestroy');
Route::resource('document-tags', DocumentTagController::class);
Route::get('/document-tags/{document_tag}/duplicate', [DocumentTagController::class, 'duplicate'])
->name('document-tags.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');
});