%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/kpk/api/app/Http/Controllers/Api/
Upload File :
Create Path :
Current File : /var/www/html/kpk/api/app/Http/Controllers/Api/RelatorsController.php

<?php

namespace App\Http\Controllers\Api;

use App\Http\Requests\Relators\RelatorEditRequest;
use App\Http\Requests\Relators\RelatorStoreRequest;
use App\Models\Relator;
use App\Models\Log;
use App\Transformers\RelatorTransformer;
use Illuminate\Http\Request;

class RelatorsController extends ApiController
{
    protected $user;

    public function __construct()
    {
        $this->user = auth()->guard('api')->user();
    }
    /**
     * @param Request $request
     * @return RelatorsController
     */
    public function index(Request $request)
    {
        $result = Relator::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 RelatorTransformer());
    }

    public function getActive(Request $request)
    {
        $result = Relator::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 RelatorTransformer());
    }

    /**
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function show($id)
    {
        $relator = Relator::query()->findOrFail($id);
        return $this->item($relator, new RelatorTransformer());
    }

    /**
     * @param RelatorStoreRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function store(RelatorStoreRequest $request)
    {
        $relator = Relator::query()->create([
            'code' => $request->code,
            'name' => $request->name,
            'is_enabled' => true
        ]);
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" shtoi nje relator te ri.';
            Log::info($this->user->id, 'Add', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($relator, new RelatorTransformer());
    }

    /**
     * @param RelatorEditRequest $request
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function edit(RelatorEditRequest $request, $id)
    {
        $relator = Relator::query()->findOrFail($id);
        $relator->name = $request->name;
        $relator->save();
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" modifikoi relatorin me id=' . $id . '.';
            Log::info($this->user->id, 'Edit', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($relator, new RelatorTransformer());
    }

    /**
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function enable($id)
    {
        $item = Relator::query()->findOrFail($id);
        $item->is_enabled = true;
        $item->save();
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" aktivizoi relatorin me id=' . $id . '.';
            Log::info($this->user->id, 'Edit', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($item, new RelatorTransformer());
    }

    /**
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function disable($id)
    {
        $item = Relator::query()->findOrFail($id);
        $item->is_enabled = false;
        $item->save();
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" c`aktivizoi relatorin me id=' . $id . '.';
            Log::info($this->user->id, 'Edit', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($item, new RelatorTransformer());
    }
}

Zerion Mini Shell 1.0