121 lines
4.9 KiB
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('admin-secure', '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');
|
|
});
|
|
});
|