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

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\ApiController;
use App\Http\Requests\InappropriateWord\InappropriateWordStoreRequest;
use App\Http\Requests\Tag\TagStoreRequest;
use App\Http\Requests\Tag\TagUpdateRequest;
use App\Models\InappropriateWord;
use App\Repositories\InappropriateWord\InappropriateWordRepository;
use App\Repositories\Tag\TagRepository;
use App\Transformers\InappropriateWordTransformer;
use App\Transformers\TagTransformer;
use EllipseSynergie\ApiResponse\Contracts\Response;

class InappropriateWordsController extends ApiController
{
    /**
     * @var InappropriateWordTransformer
     */
    private $transformer;
    /**
     * @var InappropriateWordRepository
     */
    private $inappropriateWordRepository;

    /**
     * InappropriateWordsController constructor.
     * @param Response $response
     * @param InappropriateWordTransformer $transformer
     * @param InappropriateWordRepository $inappropriateWordRepository
     */
    public function __construct(Response $response, InappropriateWordTransformer $transformer, InappropriateWordRepository $inappropriateWordRepository)
    {
        parent::__construct($response);
        $this->transformer = $transformer;
        $this->inappropriateWordRepository = $inappropriateWordRepository;
    }

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

    /**
     * Store a newly created resource in storage.
     *
     * @param InappropriateWordStoreRequest $request
     * @return \Illuminate\Http\Response
     */
    public function store(InappropriateWordStoreRequest $request)
    {
        $word = $this->inappropriateWordRepository->findBy('word', $request->get('word'));
        if ($word) {
            return $this->response->errorWrongArgs('Word already exists');
        }
        $tag = $this->inappropriateWordRepository->create($request->all());
        return $this->response->withItem($tag, $this->transformer);
    }

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

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

}

Zerion Mini Shell 1.0