%PDF- %PDF-
Direktori : /var/www/html/kpk/api/app/Http/Controllers/Api/ |
Current File : /var/www/html/kpk/api/app/Http/Controllers/Api/InstitutionsController.php |
<?php namespace App\Http\Controllers\Api; use App\Http\Requests\Institutions\InstitutionEditRequest; use App\Http\Requests\Institutions\InstitutionStoreRequest; use App\Models\Institution; use App\Models\Log; use App\Transformers\InstitutionTransformer; use Illuminate\Http\Request; class InstitutionsController extends ApiController { protected $user; public function __construct() { $this->user = auth()->guard('api')->user(); } /** * @param Request $request * @return InstitutionsController */ public function index(Request $request) { $result = Institution::query(); if ($request->code) { $result = $result->where('code', 'like', "$request->code%"); } if ($request->name) { $result = $result->where('name', 'like', "$request->name%"); } $result = $result->paginate(10); return $this->withPaginated($result, new InstitutionTransformer()); } public function show($id) { $institution = Institution::query()->findOrFail($id); return $this->item($institution, new InstitutionTransformer()); } /** * @param Request $request * @return InstitutionsController */ public function getActive(Request $request) { $result = Institution::query()->where('is_enabled',true); if ($search = $request->search) { $result = $result->where('code', 'like', "$search%") ->orWhere('name', 'like', "$search%"); } return $this->collection($result->get(), new InstitutionTransformer()); } /** * @param InstitutionStoreRequest $request * @return \Illuminate\Http\JsonResponse */ public function store(InstitutionStoreRequest $request) { $institution = Institution::query()->create([ 'code' => $request->code, 'name' => $request->name, 'is_enabled' => true ]); try { $msg = 'Perdoruesi "' . $this->user->username . '" shtoi nje institucion te ri.'; Log::info($this->user->id, 'Add', $msg); } catch (\Exception $e) { } return $this->item($institution, new InstitutionTransformer()); } /** * @param InstitutionEditRequest $request * @param $id * @return \Illuminate\Http\JsonResponse */ public function edit(InstitutionEditRequest $request, $id) { $institution = Institution::query()->findOrFail($id); $institution->name = $request->name; $institution->save(); try { $msg = 'Perdoruesi "' . $this->user->username . '" modifikoi institucionin me id=' . $id . '.'; Log::info($this->user->id, 'Edit', $msg); } catch (\Exception $e) { } return $this->item($institution, new InstitutionTransformer()); } /** * @param $id * @return \Illuminate\Http\JsonResponse */ public function enable($id) { $item = Institution::query()->findOrFail($id); $item->is_enabled = true; $item->save(); try { $msg = 'Perdoruesi "' . $this->user->username . '" aktivizoi institucionin me id=' . $id . '.'; Log::info($this->user->id, 'Edit', $msg); } catch (\Exception $e) { } return $this->item($item, new InstitutionTransformer); } /** * @param $id * @return \Illuminate\Http\JsonResponse */ public function disable($id) { $item = Institution::query()->findOrFail($id); $item->is_enabled = false; $item->save(); try { $msg = 'Perdoruesi "' . $this->user->username . 'c`aktivizoi institucionin me id=' . $id . '.'; Log::info($this->user->id, 'Edit', $msg); } catch (\Exception $e) { } return $this->item($item, new InstitutionTransformer); } }