File manager - Edit - /var/www/html/spdc/api/app/Http/Services/ScaleFunctionService.php
Back
<?php namespace App\Http\Services; use Illuminate\Http\Request; use App\Models\ScaleFunction; use Illuminate\Support\Carbon; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\DB; use App\Classes\BaseServiceResponse; use App\Http\Requests\ScaleFunctionRequest; use App\Http\Resources\ScaleFunctionResource; use App\Http\Resources\ScaleFunctionCollection; class ScaleFunctionService extends BaseService { public function index(Request $request): BaseServiceResponse { $query = ScaleFunction::query(); if ($request->has('enable')) { $query->where('enable', intval($request->input('enable', 1))); } if ($request->has('type')) { $query->where('type', $request->type); } $scaleFunctions = $query->paginate(15); return $this->response( ScaleFunctionResource::collection($scaleFunctions) ); } public function store(ScaleFunctionRequest $request): BaseServiceResponse { $scaleFunction = ScaleFunction::create($request->all()); if (isset($request->external_agents)) { $scaleFunction->externalAgents()->attach(treatArrayInput($request->external_agents)); } if (isset($request->internal_agents)) { foreach (treatArrayInput($request->internal_agents) as $internalAgent) { DB::table('internal_agent_scale_function')->insert([ 'user_id' => $internalAgent, 'scale_function_id' => $scaleFunction->id ]); } } return $this->response( new ScaleFunctionResource($scaleFunction->load(['externalAgents', 'internalAgents'])), JsonResponse::HTTP_CREATED ); } public function show(ScaleFunction $scaleFunction): BaseServiceResponse { return $this->response( new ScaleFunctionResource($scaleFunction->load(['externalAgents', 'internalAgents'])), JsonResponse::HTTP_OK ); } public function update(ScaleFunctionRequest $request, ScaleFunction $scaleFunction): BaseServiceResponse { $scaleFunction->fill($request->all()); $scaleFunction->save(); if (isset($request->external_agents)) { $scaleFunction->externalAgents()->sync(treatArrayInput($request->external_agents)); } if (isset($request->internal_agents)) { foreach (treatArrayInput($request->internal_agents) as $internalAgent) { DB::table('internal_agent_scale_function')->insertOrIgnore([ 'user_id' => $internalAgent, 'scale_function_id' => $scaleFunction->id ]); } } return $this->response( new ScaleFunctionResource($scaleFunction->load(['externalAgents', 'internalAgents'])), JsonResponse::HTTP_OK ); } public function disable(Request $request): BaseServiceResponse { ScaleFunction::whereIn('id', $request->scale_functions)->update([ 'enable' => false ]); return $this->response( null, JsonResponse::HTTP_NO_CONTENT ); } public function enable(Request $request): BaseServiceResponse { ScaleFunction::whereIn('id', $request->scale_functions)->update([ 'enable' => true ]); return $this->response( null, JsonResponse::HTTP_NO_CONTENT ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings