Mahdee Rajon  subception

File "articles.php"

Full Path: /var/www/html/back/routes/api/articles.php
File size: 2.37 KB
MIME-type: text/x-php
Charset: utf-8

<?php

declare(strict_types=1);

use App\Http\Controllers\Api\V1\ArticleController;
use App\Http\Controllers\Api\V1\ArticleGroupController;
use App\Http\Controllers\Api\V1\ArticleToProjectController;
use Illuminate\Support\Facades\Route;

Route::group(['prefix' => '/v1/article', 'middleware' => 'auth:sanctum'], function (): void {
    Route::post('/import', [ArticleController::class,'import']);
    Route::get('{modelID}/grouped-list', [ArticleController::class,'groupedList']);
    Route::get('{modelID}/with-payments', [ArticleController::class,'articlesWithPayments']);
    Route::get('{modelID}/list', [ArticleController::class,'index']);
    Route::post('{modelID}/create', [ArticleController::class,'store']);

    Route::prefix('{modelID}/{articleID}')->group(function () {
        Route::get('', [ArticleController::class,'show']);
        Route::post('/update', [ArticleController::class,'update']);
        Route::delete('', [ArticleController::class,'destroy']);
        Route::get('payments', [ArticleController::class,'payments']);
        Route::post('set_default_in_project', [ArticleController::class,'setDefaultInProject']);
        Route::post('unset_default_in_project', [ArticleController::class,'unsetDefaultInProject']);
    });

});
Route::group(['prefix' => '/v1/article-project', 'middleware' => 'auth:sanctum'], function (): void{
    Route::get('{modelID}/', [ArticleToProjectController::class,'allProjects']);
    Route::get('{modelID}/{projectId}', [ArticleToProjectController::class,'index']);
    Route::post('{modelID}/{articleID}', [ArticleToProjectController::class,'store']);
    Route::delete('{modelID}/{articleID}', [ArticleToProjectController::class,'destroy']);
    Route::patch('{modelID}/{articleID}', [ArticleToProjectController::class,'update']);
});
Route::group(['prefix' => '/v1/article-group', 'middleware' => 'auth:sanctum'], function (): void {
    Route::get('{modelID}/list', [ArticleGroupController::class,'index']);
    Route::get('{modelID}/{groupID}', [ArticleGroupController::class,'show']);
    Route::post('{modelID}/create', [ArticleGroupController::class,'store']);
    Route::post('{modelID}/{articleGroupID}/update', [ArticleGroupController::class,'update']);
    Route::patch('{modelID}/update-articles-limits', [ArticleGroupController::class,'updateArticlesLimits']);
    Route::delete('{modelID}/{groupID}', [ArticleGroupController::class,'destroy']);
});