group(function () { Route::get('/dashboard', [DashboardController::class, 'dashboard'])->name('dashboard'); Route::get('/profile', [DashboardController::class, 'profile'])->name('my_profile'); Route::get('/my_school', [DashboardController::class, 'my_school'])->name('my_school'); Route::get('/my_invoice', [DashboardController::class, 'my_invoice'])->name('my_invoice'); Route::get('/pdf-invoice/{school}', PdfInvoiceController::class)->name('pdf_invoice'); }); // Entry Related Routes Route::middleware([ 'auth', 'verified', 'can:create,App\Models\Entry', ])->controller(EntryController::class)->group(function () { Route::get('/entries', 'index')->name('entries.index'); Route::get('/entries/create', 'create')->name('entries.create'); Route::post('/entries', 'store')->name('entries.store'); Route::delete('/entries/{entry}', 'destroy')->name('entries.destroy'); }); //// User Related Routes //// TODO: Consider this block for removal //Route::middleware(['auth', 'verified'])->controller(UserController::class)->group(function () { // Route::patch('/users/{user}/set_school', 'set_school')->name('users.set_school'); // Route::patch('/user_profile/{$user}', 'update')->name('users.update'); //}); // Student Related Routes Route::middleware([ 'auth', 'verified', 'can:create,App\Models\Student', ])->controller(StudentController::class)->group(function () { Route::get('/students', 'index')->name('students.index'); Route::post('students', 'store')->name('students.store'); Route::get('/students/{student}/edit', 'edit')->name('students.edit'); Route::patch('/students/{student}', 'update')->name('students.update'); Route::delete('/students/{student}', 'destroy')->name('students.destroy'); }); // School Related Routes Route::middleware(['auth', 'verified'])->controller(SchoolController::class)->group(function () { Route::get('/schools/create', 'create')->name('schools.create'); Route::post('/schools', 'store')->name('schools.store'); Route::get('/schools/{school}/edit', 'edit')->name('schools.edit'); Route::get('/schools/{school}', 'show')->name('schools.show'); Route::patch('/schools/{school}', 'update')->name('schools.update'); Route::post('schools/{school}/add_director', 'addDirector')->name('schools.add_director'); Route::get('/schools/{school}/set_head_director/{user}', 'setHeadDirector')->name('schools.set_head_director'); Route::post('/schools/{school}/add_domain', 'addDomain')->name('schools.add_domain'); Route::get('/schools/delete_domain/{domain}', 'deleteDomain')->name('schools.delete_domain'); }); // Doubler Related Routes Route::middleware([ 'auth', 'verified', 'can:viewAny,App\Models\DoublerRequest', ])->controller(DoublerRequestController::class)->prefix('doubler_request')->group(function () { Route::get('/', 'index')->name('doubler_request.index'); Route::post('/', 'makeRequest')->name('doubler_request.make_request'); });