121 lines
6.5 KiB
PHP
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');
|
|
});
|