![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/Corals/modules/Medad/Http/Controllers/API/ |
<?php namespace Corals\Modules\Medad\Http\Controllers\API; use Corals\Foundation\Http\Controllers\APIBaseController; use Corals\Modules\Medad\DataTables\ProjectsDataTable; use Corals\Modules\Medad\Http\Requests\ProjectRequest; use Corals\Modules\Medad\Models\Branch; use Corals\Modules\Medad\Models\Project; use Corals\Modules\Medad\Services\ProjectService; use Corals\Modules\Medad\Transformers\API\ProjectPresenter; use Illuminate\Http\JsonResponse; class ProjectsController extends APIBaseController { protected $projectService; public function __construct(ProjectService $projectService) { $this->projectService = $projectService; $this->projectService->setPresenter(new ProjectPresenter()); parent::__construct(); } /** * @param ProjectRequest $request * @param ProjectsDataTable $dataTable * @param Branch $branch * @return mixed */ public function index(ProjectRequest $request, ProjectsDataTable $dataTable, Branch $branch) { $projects = $dataTable->query(new Project()); return $this->projectService->index($projects, $dataTable); } /** * @param ProjectRequest $request * @param Branch $branch * @return JsonResponse */ public function store(ProjectRequest $request, Branch $branch) { try { $project = $this->projectService->store($request, Project::class, ['branch_id' => $branch->id]); return apiResponse($this->projectService->getModelDetails(), trans('Corals::messages.success.created', ['item' => $project->name])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param ProjectRequest $request * @param Branch $branch * @param Project $project * @return JsonResponse */ public function show(ProjectRequest $request, Branch $branch, Project $project) { try { return apiResponse($this->projectService->getModelDetails($project)); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param ProjectRequest $request * @param Branch $branch * @param Project $project * @return JsonResponse */ public function update(ProjectRequest $request, Branch $branch, Project $project) { try { $this->projectService->update($request, $project); return apiResponse($this->projectService->getModelDetails(), trans('Corals::messages.success.updated', ['item' => $project->name])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } /** * @param ProjectRequest $request * @param Branch $branch * @param Project $project * @return JsonResponse */ public function destroy(ProjectRequest $request, Branch $branch, Project $project) { try { $this->projectService->destroy($request, $project); return apiResponse([], trans('Corals::messages.success.deleted', ['item' => $project->name])); } catch (\Exception $exception) { return apiExceptionResponse($exception); } } }