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'); });