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

121 lines
4.9 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\ParticipationController;
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,
]
);
});
// * Others routes
Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set');
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);
// * PRODUCTS
Route::resource('products', ProductController::class);
// * FAQ - THEMES
Route::resource('faq-themes', FaqThemeController::class)->except('show');
// * FAQ - QUESTIONS
Route::resource('faq-questions', FaqQuestionController::class)->except('show')
->withoutMiddleware('htmlsanitize')
->middleware('htmlsanitize:answer');
// * PRIZES
Route::resource('prizes', PrizeController::class)
->withoutMiddleware('htmlsanitize')
->middleware(['htmlsanitize:arg_content']);
// * SETTINGS.
Route::resource('settings', SettingsController::class)
->parameters(['settings' => 'settings'])
->only(['edit', 'update']);
// * INSTANT WIN
Route::prefix('instant-win')->name('instant-win.')->group(function () {
Route::get('/', [InstantWinController::class, 'index'])->name('index');
Route::get('generate', [InstantWinController::class, 'generate'])->name('generate');
});
// * PARTICIPATIONS
Route::prefix('participations')->name('participations.')->group(function () {
// * WINNERS LIST
Route::get('winners-list', [ParticipationController::class, 'viewWinnerList'])->name('winners-list');
Route::get('{participation}/set-comment', [ParticipationController::class, 'setComment'])
->name('set-comment');
Route::patch('{participation}/set-comment', [ParticipationController::class, 'setCommentSubmit'])
->name('set-comment-submit');
Route::patch('{participation}/change-prize-sent', [ParticipationController::class, 'changePrizeSent'])
->name('change-prize-sent');
});
// * UNIQUES CODES.
Route::prefix('codes')->name('codes.')->group(function () {
Route::get('/', [CodeController::class, 'index'])->name('index');
Route::post('/', [CodeController::class, 'generate'])->name('generate');
Route::get('search', [CodeController::class, 'search'])->name('search');
Route::post('export', [CodeController::class, 'export'])->name('export');
});
// * BANNED IPS
Route::resource('banned_ips', BannedIpController::class)->except('show');
});
});