ldc-gen-game-web/routes/web-bo.php

101 lines
4.2 KiB
PHP

<?php
use App\Http\Controllers\Bo\ActivityLogController;
use App\Http\Controllers\Bo\BannedIpController;
use App\Http\Controllers\Bo\CodeController;
use App\Http\Controllers\Bo\DashboardController;
use App\Http\Controllers\Bo\FaqQuestionController;
use App\Http\Controllers\Bo\FaqThemeController;
use App\Http\Controllers\Bo\InstantWinController;
use App\Http\Controllers\Bo\PrizeController;
use App\Http\Controllers\Bo\ProductController;
use App\Http\Controllers\Bo\RangeController;
use App\Http\Controllers\Bo\SettingsController;
use App\Http\Controllers\Bo\StaticPageController;
use App\Http\Controllers\Bo\UserController;
use App\Http\Controllers\Bo\WinnerListController;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
Route::prefix('bo')->name('bo.')->group(function () {
// * Authenticable routes
Route::namespace('\App\Http\Controllers\Bo')->group(function () {
Auth::routes(
[
'confirm' => false,
'login' => true,
'logout' => true,
'register' => false,
'reset' => false,
'verify' => false,
]
);
});
Route::middleware('auth:backend')->group(function () {
Route::get('/', [DashboardController::class, 'index'])->name('dashboard');
// * USERS.
Route::resource('users', UserController::class)->except('show');
Route::patch('users/{user}/change-published', [
UserController::class, 'changePublished'
])->name('users.change-published');
Route::get('users/{user}/duplicate', [
UserController::class, 'duplicate'
])->name('users.duplicate');
// * StaticPages
Route::resource('pages', StaticPageController::class)
->names([
'index' => 'static_pages.index',
'edit' => 'static_pages.edit',
'update' => 'static_pages.update',
])->parameters(['pages' => 'static_page'])
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:content')
->only(['index', 'edit', 'update']);
Route::middleware('can:isConceptor')->group(function () {
// * ACTIVITY LOGS.
Route::resource('activity_logs', ActivityLogController::class)->only(['index', 'show']);
});
// * RANGES
Route::resource('ranges', RangeController::class)
->except('show');
// * PRODUCTS
Route::resource('products', ProductController::class)
->except('show');
Route::middleware(['is-super-admin'])->group(function () {
// * FAQ - THEMES
Route::resource('faq-themes', FaqThemeController::class)->except('show');
// * FAQ - QUESTIONS
Route::resource('faq-questions', FaqQuestionController::class)->except('show');
// * PRIZES
Route::resource('prizes', PrizeController::class)
->except('show')
->withoutMiddleware('htmlsanitize')
->middleware(['htmlsanitize:arg_content']);
// * SETTINGS.
Route::resource('settings', SettingsController::class)
->only(['edit', 'update']);
// * WINNERS LIST
Route::get('winners-list', [WinnerListController::class, 'index'])->name('winners-list');
// * INSTANT WIN
Route::get('instant-win', [InstantWinController::class, 'index'])->name('instant-win');
Route::get('ajax/instant-win-generate', [InstantWinController::class, 'instantWinGenerate']);
// * UNIQUES CODES.
Route::get('codes', [CodeController::class, 'index'])->name('codes');
Route::post('codes', [CodeController::class, 'generate'])->name('generate-codes');
Route::get('codes/search', [CodeController::class, 'search'])->name('codes.search');
Route::post('codes/export', [CodeController::class, 'export'])->name('export-codes');
// * BANNED IPS
Route::resource('banned_ips', BannedIpController::class)->except('show');
});
});
// * Others routes
Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set');
});