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

34 lines
2.3 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Modules\TaskManagement\Http\Controllers\TaskController;
use Modules\TaskManagement\Http\Controllers\TaskDelayController;
use Modules\TaskManagement\Http\Controllers\TaskImportController;
use Modules\TaskManagement\Http\Controllers\TaskMaterialController;
Route::middleware(['web', 'auth', 'permission:projects.access'])->group(function () {
// Tasks Index
Route::get('tasks', [TaskController::class, 'index'])->name('projects.tasks.index');
Route::post('tasks', [TaskController::class, 'store'])->name('projects.tasks.store');
Route::put('tasks/{task}', [TaskController::class, 'update'])->name('projects.tasks.update');
Route::delete('tasks/{task}', [TaskController::class, 'destroy'])->name('projects.tasks.destroy');
Route::patch('tasks/{task}/transition', [TaskController::class, 'transition'])->name('projects.tasks.transition');
Route::post('tasks/reorder', [TaskController::class, 'reorder'])->name('projects.tasks.reorder');
// Task Import
Route::get('projects/{project}/tasks/template', [TaskImportController::class, 'template'])->name('projects.tasks.template');
Route::post('projects/{project}/tasks/import', [TaskImportController::class, 'import'])->name('projects.tasks.import');
// Task Materials
Route::post('projects/{project}/tasks/{task}/materials', [TaskMaterialController::class, 'store'])->name('projects.tasks.materials.store');
Route::post('projects/{project}/tasks/{task}/materials/bulk', [TaskMaterialController::class, 'storeBulk'])->name('projects.tasks.materials.storeBulk');
Route::put('projects/{project}/tasks/{task}/materials/{taskMaterial}', [TaskMaterialController::class, 'update'])->name('projects.tasks.materials.update');
Route::delete('projects/{project}/tasks/{task}/materials/{taskMaterial}', [TaskMaterialController::class, 'destroy'])->name('projects.tasks.materials.destroy');
// Task Delays
Route::post('projects/{project}/tasks/{task}/delays', [TaskDelayController::class, 'store'])->name('projects.tasks.delays.store');
Route::put('projects/{project}/tasks/{task}/delays/{delay}', [TaskDelayController::class, 'update'])->name('projects.tasks.delays.update');
Route::delete('projects/{project}/tasks/{task}/delays/{delay}', [TaskDelayController::class, 'destroy'])->name('projects.tasks.delays.destroy');
});