Files
GSB-Construction/Modules/TimelineScheduling/routes/web.php

23 lines
1.7 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Modules\TimelineScheduling\Http\Controllers\MilestoneController;
use Modules\TimelineScheduling\Http\Controllers\ScheduleController;
Route::middleware(['web', 'auth', 'permission:projects.access'])->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');
});