73 lines
4.2 KiB
PHP
73 lines
4.2 KiB
PHP
<?php
|
|
|
|
use Modules\ProfessionalProject\Http\Controllers\GanttApiController;
|
|
use Modules\ProfessionalProject\Http\Controllers\GanttController;
|
|
use Modules\ProfessionalProject\Http\Controllers\IntegrationController;
|
|
use Modules\ProfessionalProject\Http\Controllers\InstallController;
|
|
use Modules\ProfessionalProject\Http\Controllers\MilestoneController;
|
|
use Modules\ProfessionalProject\Http\Controllers\ProjectController;
|
|
use Modules\ProfessionalProject\Http\Controllers\TaskController;
|
|
use Modules\ProfessionalProject\Http\Controllers\TaskStatusController;
|
|
|
|
Route::middleware('web', 'authh', 'SetSessionData', 'auth', 'language', 'timezone', 'AdminSidebarMenu')
|
|
->prefix('professional-project')
|
|
->group(function () {
|
|
|
|
// Install
|
|
Route::get('/install', [InstallController::class, 'index']);
|
|
Route::post('/install', [InstallController::class, 'install']);
|
|
Route::get('/install/uninstall', [InstallController::class, 'uninstall']);
|
|
Route::get('/install/update', [InstallController::class, 'update']);
|
|
|
|
// Projects
|
|
Route::get('/projects', [ProjectController::class, 'index']);
|
|
Route::get('/projects/create', [ProjectController::class, 'create']);
|
|
Route::post('/projects', [ProjectController::class, 'store']);
|
|
Route::get('/projects/{id}', [ProjectController::class, 'show']);
|
|
Route::get('/projects/{id}/edit', [ProjectController::class, 'edit']);
|
|
Route::put('/projects/{id}', [ProjectController::class, 'update']);
|
|
Route::delete('/projects/{id}', [ProjectController::class, 'destroy']);
|
|
Route::put('/projects/{id}/status', [ProjectController::class, 'postStatus']);
|
|
Route::put('/projects/{id}/archive', [ProjectController::class, 'archive']);
|
|
|
|
// Tasks
|
|
Route::get('/tasks', [TaskController::class, 'index']);
|
|
Route::get('/tasks/create', [TaskController::class, 'create']);
|
|
Route::post('/tasks', [TaskController::class, 'store']);
|
|
Route::get('/tasks/{id}/edit', [TaskController::class, 'edit']);
|
|
Route::put('/tasks/{id}', [TaskController::class, 'update']);
|
|
Route::delete('/tasks/{id}', [TaskController::class, 'destroy']);
|
|
Route::post('/tasks/kanban-position', [TaskController::class, 'updateKanbanPosition']);
|
|
Route::post('/tasks/dependency', [TaskController::class, 'storeDependency']);
|
|
Route::delete('/tasks/dependency/{id}', [TaskController::class, 'destroyDependency']);
|
|
Route::get('/tasks/milestones/{project_id}', [TaskController::class, 'getMilestonesByProject']);
|
|
|
|
// Milestones
|
|
Route::get('/projects/{project_id}/milestones', [MilestoneController::class, 'index']);
|
|
Route::post('/milestones', [MilestoneController::class, 'store']);
|
|
Route::put('/milestones/{id}', [MilestoneController::class, 'update']);
|
|
Route::delete('/milestones/{id}', [MilestoneController::class, 'destroy']);
|
|
|
|
// Gantt
|
|
Route::get('/projects/{project_id}/gantt', [GanttController::class, 'index']);
|
|
|
|
// Gantt API (session auth)
|
|
Route::post('/gantt/task', [GanttApiController::class, 'storeTask']);
|
|
Route::put('/gantt/task/{id}', [GanttApiController::class, 'updateTask']);
|
|
Route::delete('/gantt/task/{id}', [GanttApiController::class, 'destroyTask']);
|
|
Route::post('/gantt/link', [GanttApiController::class, 'storeLink']);
|
|
Route::put('/gantt/link/{id}', [GanttApiController::class, 'updateLink']);
|
|
Route::delete('/gantt/link/{id}', [GanttApiController::class, 'destroyLink']);
|
|
|
|
// Task statuses
|
|
Route::get('/task-statuses', [TaskStatusController::class, 'index']);
|
|
Route::post('/task-statuses', [TaskStatusController::class, 'store']);
|
|
Route::put('/task-statuses/{id}', [TaskStatusController::class, 'update']);
|
|
Route::delete('/task-statuses/{id}', [TaskStatusController::class, 'destroy']);
|
|
|
|
// Integrations
|
|
Route::post('/integrations/essentials/todo/{task_id}', [IntegrationController::class, 'createEssentialsTodo']);
|
|
Route::post('/integrations/essentials/reminder/{task_id}', [IntegrationController::class, 'createEssentialsReminder']);
|
|
Route::post('/integrations/crm/follow-up/{task_id}', [IntegrationController::class, 'createCrmFollowUp']);
|
|
});
|