%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/UsersController.php

<?php

namespace App\Http\Controllers\Api;

use App\Http\Requests\Users\ChangePasswordRequest;
use App\Http\Requests\Users\UserEditRequest;
use App\Http\Requests\Users\UserStoreRequest;
use App\Models\Log;
use App\Models\User;
use App\Transformers\UserTransformer;
use Illuminate\Http\Request;

class UsersController extends ApiController
{
    protected $user;

    public function __construct()
    {
        $this->user = auth()->guard('api')->user();
    }
    /**
     * @return UsersController
     */
    public function index(Request $request)
    {
        $result = User::query();
        if ($request->name) {
            $result = $result->where('name', 'like', "$request->name%");
        }
        if ($request->surname) {
            $result = $result->where('surname', 'like', "$request->surname%");
        }
        $result = $result->paginate(10);
        return $this->withPaginated($result, new UserTransformer());
    }

    /**
     * @param UserStoreRequest $request
     * @return \Illuminate\Http\JsonResponse
     */
    public function store(UserStoreRequest $request)
    {
        $user = User::query()->create([
            'name' => $request->get('name'),
            'surname' => $request->get('surname'),
            'username' => $request->get('username'),
            'role_id' => $request->get('role_id'),
            'is_enabled' => true,
            'password' => bcrypt($request->get('password'))
        ]);
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" shtoi nje user te ri ne sistem.';
            Log::info($this->user->id, 'Add', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($user, new UserTransformer);
    }

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

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

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

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

    /**
     * @param ChangePasswordRequest $request
     * @param $id
     * @return \Illuminate\Http\JsonResponse
     */
    public function updatePassword(ChangePasswordRequest $request, $id)
    {
        $user = User::query()->findOrFail($id);
        $user->password = bcrypt($request->get('password'));
        $user->save();
        try {
            $msg = 'Perdoruesi "' . $this->user->username . '" ndryshoi password per userin me id=' . $id . '.';
            Log::info($this->user->id, 'Edit', $msg);
        } catch (\Exception $e) {
        }
        return $this->item($user, new UserTransformer);
    }


}

Zerion Mini Shell 1.0