<?php declare(strict_types=1); use App\Http\Controllers\Api\V1\ProjectController; use App\Http\Controllers\Api\V1\ProjectGroupController; use Illuminate\Support\Facades\Route; Route::group(['prefix' => '/v1/project', 'middleware' => 'auth:sanctum'], function (): void { Route::post('import', [ProjectController::class, 'import']); Route::get('{modelID}/list', [ProjectController::class, 'index']); Route::get('{modelID}/list-except-delete', [ProjectController::class, 'listExceptDelete']); Route::post('{modelID}/add-article', [ProjectController::class, 'addArticleToProject']); Route::post('{modelID}/payments/export', [ProjectController::class, 'excelExport']); Route::get('{modelID}/with-payments', [ProjectController::class, 'projectsWithPayments']); Route::get('{modelID}/grouped-list', [ProjectController::class, 'groupedList']); Route::get('{modelID}/{projectID}', [ProjectController::class, 'show']); Route::get('{modelID}/{projectID}/payments', [ProjectController::class, 'payments']); Route::post('{modelID}/create', [ProjectController::class, 'store']); Route::patch('{modelID}/{projectID}/update-limits', [ProjectController::class, 'updateLimitsProject']); Route::patch('{modelID}/{projectID}/update-payment-article', [ProjectController::class, 'updatePaymentArticle']); Route::delete('{modelID}/{projectID}/delete-payment-article', [ProjectController::class, 'deletePaymentArticle']); Route::post('{modelID}/{projectID}/update', [ProjectController::class, 'update']); Route::delete('{modelID}/{projectID}', [ProjectController::class, 'destroy']); }); Route::group(['prefix' => '/v1/project-group', 'middleware' => 'auth:sanctum'], function (): void { Route::group(['prefix' => '/payments-by-article', 'middleware' => 'auth:sanctum'], function (): void { Route::get('{modelID}/{groupID}', [ProjectGroupController::class, 'getGroupedByArticle']); }); Route::get('{modelID}/list', [ProjectGroupController::class, 'index']); Route::get('{modelID}/{groupID}', [ProjectGroupController::class, 'show']); Route::post('{modelID}/create', [ProjectGroupController::class, 'store']); Route::post('{modelID}/{id}/update', [ProjectGroupController::class, 'update']); Route::delete('{modelID}/{groupID}', [ProjectGroupController::class, 'destroy']); });