group(function () { Route::get('scheduling', [MilestoneController::class, 'index'])->name('projects.scheduling.index'); Route::post('scheduling/milestones', [MilestoneController::class, 'store'])->name('projects.milestones.store'); Route::put('scheduling/milestones/{milestone}', [MilestoneController::class, 'update'])->name('projects.milestones.update'); Route::delete('scheduling/milestones/{milestone}', [MilestoneController::class, 'destroy'])->name('projects.milestones.destroy'); // Gantt Schedule & Dependencies Route::get('projects/{project}/gantt', [ScheduleController::class, 'gantt'])->name('projects.gantt'); Route::get('projects/{project}/gantt/data', [ScheduleController::class, 'ganttData'])->name('projects.gantt.data'); Route::patch('projects/{project}/tasks/{task}/schedule', [ScheduleController::class, 'updateSchedule'])->name('projects.schedule.update'); Route::post('dependencies', [ScheduleController::class, 'storeDependency'])->name('dependencies.store'); Route::delete('dependencies/{dependency}', [ScheduleController::class, 'destroyDependency'])->name('dependencies.destroy'); Route::post('milestones', [ScheduleController::class, 'storeMilestone'])->name('milestones.store'); Route::patch('milestones/{milestone}/achieve', [ScheduleController::class, 'achieveMilestone'])->name('milestones.achieve'); Route::delete('milestones/{milestone}', [ScheduleController::class, 'destroyMilestone'])->name('milestones.destroy'); });