%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/news/app/Http/Controllers/Api/
Upload File :
Create Path :
Current File : /var/www/html/news/app/Http/Controllers/Api/RolesController.php

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\ApiController;
use App\Http\Requests\Role\RoleStoreRequest;
use App\Http\Requests\Role\RoleUpdateRequest;
use App\Repositories\Role\RolesRepository;
use App\Transformers\RoleTransformer;
use EllipseSynergie\ApiResponse\Contracts\Response;

class RolesController extends ApiController
{

    /**
     * @var RolesRepository
     */
    private $rolesRepository;

    /**
     * UsersController constructor.
     * @param Response $response
     * @param RolesRepository $rolesRepository
     */
    public function __construct(Response $response, RolesRepository $rolesRepository)
    {
        parent::__construct($response);
        $this->transformer = new RoleTransformer;
        $this->rolesRepository = $rolesRepository;
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return $this->response->withPaginator($this->rolesRepository->paginate(), $this->transformer);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param RoleStoreRequest $request
     * @return \Illuminate\Http\Response
     */
    public function store(RoleStoreRequest $request)
    {
        $role = $this->rolesRepository->create($request->all());
        return $this->response->withItem($role, $this->transformer);
    }

    /**
     * Display the specified resource.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        return $this->response->withItem($this->rolesRepository->findOrFail($id), $this->transformer);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param RoleUpdateRequest $request
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function update(RoleUpdateRequest $request, $id)
    {
        $role = $this->rolesRepository->findOrFail($id);
        $role->update($request->all());
        return $this->response->withItem($role, $this->transformer);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $role = $this->rolesRepository->findOrFail($id);
        $result = $this->rolesRepository->delete($role->id);
        if (!$result) {
            return $this->response->errorInternalError('Unexpected error occurred');
        }
        return response([], 204);
    }

}

Zerion Mini Shell 1.0