92 lines
4.3 KiB
PHP
92 lines
4.3 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Bo\ActivityLogsController;
|
|
use App\Http\Controllers\Bo\AnswerController;
|
|
use App\Http\Controllers\Bo\BrandController;
|
|
use App\Http\Controllers\Bo\CustomerController;
|
|
use App\Http\Controllers\Bo\DashboardController;
|
|
use App\Http\Controllers\Bo\QuestionController;
|
|
use App\Http\Controllers\Bo\ServiceController;
|
|
use App\Http\Controllers\Bo\SingleOptinController;
|
|
use App\Http\Controllers\Bo\StatsController;
|
|
use App\Http\Controllers\Bo\UsersController;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::middleware(['throttle:web', 'admin-secure'])->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', UsersController::class)->except('show');
|
|
Route::post('/users/{user}/change-published', [
|
|
UsersController::class, 'changePublished'
|
|
])->name('users.change-published');
|
|
Route::get('/users/{user}/duplicate', [
|
|
UsersController::class, 'duplicate'
|
|
])->name('users.duplicate');
|
|
|
|
Route::middleware('can:isConceptor')->group(function () {
|
|
// * ACTIVITY LOGS.
|
|
Route::resource('activity_logs', ActivityLogsController::class)->only(['index', 'show']);
|
|
});
|
|
|
|
// * Marques
|
|
Route::resource('brands', BrandController::class)->except(['delete']);
|
|
Route::match(['get', 'post'], '/brand/manage/{brand?}', [BrandController::class, 'manage'])
|
|
->name('manage-brand');
|
|
Route::get('/brands/json/paginate', [BrandController::class, 'jsonPaginate'])
|
|
->name('brands.json-paginate');
|
|
|
|
// * Services
|
|
Route::resource('services', ServiceController::class)->except(['delete']);
|
|
Route::post('/services/{service}/token/generate', [ServiceController::class, 'generateServicePassword'])
|
|
->name('generate-token-service');
|
|
|
|
// * Clients
|
|
Route::get('/customers', [CustomerController::class, 'index'])->name('customers.index');
|
|
Route::get('/customers/{customer}/{brand}', [CustomerController::class, 'show'])->name('customers.show');
|
|
Route::delete('/customers/{customer}/{brand}', [CustomerController::class, 'delete'])->name('customers.delete');
|
|
Route::get('/customers/export', [CustomerController::class, 'export'])->name('customers.export');
|
|
Route::post('/customers/export', [CustomerController::class, 'exportSubmit'])->name('customers.exportSubmit');
|
|
|
|
// * Single optins
|
|
Route::resource('single_optins', SingleOptinController::class);
|
|
Route::post('/single_optins/{id}/delete', [SingleOptinController::class, 'delete'])
|
|
->name('single-optins-delete');
|
|
|
|
// * Questions
|
|
Route::get('/questions/export', [QuestionController::class, 'export'])->name('questions.export');
|
|
Route::post('/questions/export', [QuestionController::class, 'exportSubmit'])->name('questions.exportSubmit');
|
|
Route::resource('questions', QuestionController::class);
|
|
Route::resource('questions.answers', AnswerController::class);
|
|
|
|
// * Stats
|
|
Route::match(['get', 'post'], '/stats/brand', [StatsController::class, 'viewStatsByBrand'])
|
|
->name('stats.viewByBrand');
|
|
Route::get('/stats/brand/csv', [StatsController::class, 'exportByBrandCsv'])
|
|
->name('stats.viewByBrandExportCsv');
|
|
Route::match(['get', 'post'], '/stats/question', [StatsController::class, 'viewByQuestion'])
|
|
->name('stats.viewByQuestion');
|
|
Route::get('/stats/question/csv', [StatsController::class, 'exportByQuestionCsv'])
|
|
->name('stats.viewByQuestionExportCSV');
|
|
|
|
// * Others routes
|
|
Route::post('theme/set', [Controller::class, 'setTheme'])->name('theme.set');
|
|
});
|
|
});
|