Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
peripherad
/
back
/
app
/
Http
/
Controllers
/
Api
/
V1
:
ArticleToProjectController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types=1); namespace App\Http\Controllers\Api\V1; use App\Attributes\OpenApiResponse; use App\Domain\ArticleToProject\Requests\CreateArticleToProjectRequest; use App\Domain\ArticleToProject\Requests\UpdateArticleToProjectRequest; use App\Domain\ArticleToProject\Services\ArticleToProjectService; use App\Http\Controllers\Api\ApiController; use App\Http\Resources\ArticleToProjectResource; use App\Responses\ResponseDto; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Knuckles\Scribe\Attributes\Group; /** * Управление связками статьи и проекта */ class ArticleToProjectController extends ApiController { public function __construct( protected ArticleToProjectService $service ) { } public function allProjects(int $id,Request $request) { return new ResponseDto( data: $this->service->allProjects($id, $request) ); } public function index(int $id, $projectId, Request $request) { $articleType = $request->query('article_type'); return new ResponseDto( data: ArticleToProjectResource::collection($this->service->index($projectId, $articleType)) ); } /** * Создание связки статьи и проекта */ #[Group('articles')] #[OpenApiResponse(ResponseDto::class)] public function store(int $id, Request $request): ResponseDto { return new ResponseDto( status: $this->service->create($request->all()) ); } /** * Обновление связки статьи и проекта */ // #[Group('articles')] // #[OpenApiResponse(ResponseDto::class)] public function update($id, $articleId, Request $request) { $projectId = $request->query('projectId'); $amountLimit = $request->query('amount_limit'); Log::info('id' . json_encode($id)); Log::info('aa' . json_encode($articleId)); Log::info('pp' . json_encode($projectId)); Log::info('amountLimit' . json_encode($amountLimit)); return new ResponseDto( status: $this->service->update($articleId, $projectId, $amountLimit) ); } /** * Удаление связки статьи и проекта */ #[Group('articles')] #[OpenApiResponse(ResponseDto::class)] public function destroy(int $id, $articleId, Request $request): ResponseDto { $projectId = $request->query('projectId'); $newArticleId = $request->query('newArticleId'); return new ResponseDto( status: $this->service->delete($articleId, $projectId, $newArticleId) ); } }