| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <?php
- use App\Http\Controllers\BaseHolidayController;
- use App\Http\Controllers\FranchisorDashboardController;
- use App\Http\Controllers\StudentContractController;
- use App\Http\Controllers\StudentController;
- use Illuminate\Support\Facades\Route;
- /**
- * Fluxo: Dashboard (Franqueadora) — scope `dashboard`.
- *
- * Agrupa todos os endpoints consumidos pela tela de Dashboard, independente do
- * controller de origem, para que a permissão do fluxo seja ajustada num lugar só.
- * As URLs são as mesmas de antes — apenas a definição mudou de arquivo.
- *
- * Ordem: routes/api.php carrega authRoutes/*.php em ordem alfabética, então este
- * arquivo é registrado antes de student.php e student_contract.php. Isso garante
- * que /franchisor/* tenha precedência sobre os /{id} daqueles arquivos.
- *
- * Níveis: view (ler), add (cadastrar), edit (editar/excluir feriado).
- * `menu` é derivado de `view` no front e não gate nenhum endpoint.
- */
- Route::controller(FranchisorDashboardController::class)->prefix('franchisor-dashboard')->group(function () {
- Route::get('/overview', 'overview')->middleware('permission:dashboard,view');
- });
- Route::controller(StudentController::class)->prefix('student')->group(function () {
- Route::get('/franchisor/summary', 'franchisorSummary')->middleware('permission:dashboard,view');
- Route::get('/franchisor/active', 'franchisorActive')->middleware('permission:dashboard,view');
- Route::get('/franchisor/{id}', 'franchisorStudentDetail')->middleware('permission:dashboard,view');
- });
- Route::controller(StudentContractController::class)->prefix('student-contract')->group(function () {
- Route::get('/franchisor/summary', 'franchisorSummary')->middleware('permission:dashboard,view');
- Route::get('/franchisor/frozen', 'franchisorFrozen')->middleware('permission:dashboard,view');
- Route::get('/franchisor/cancelled', 'franchisorCancelled')->middleware('permission:dashboard,view');
- });
- // Feriados são cadastrados e editados pelos cards do próprio Dashboard.
- Route::controller(BaseHolidayController::class)->prefix('base-holiday')->group(function () {
- Route::get('/', 'index')->middleware('permission:dashboard,view');
- Route::post('/', 'store')->middleware('permission:dashboard,add');
- Route::get('/{id}', 'show')->middleware('permission:dashboard,view');
- Route::put('/{id}', 'update')->middleware('permission:dashboard,edit');
- Route::delete('/{id}', 'destroy')->middleware('permission:dashboard,edit');
- });
|