189 lines
10 KiB
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');
|
|
});
|