Completed
Push — 2.0 ( 03661f...650eb0 )
by Nicolas
02:54
created

CategoryController::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Modules\Blog\Http\Controllers\Api\V1;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Http\Response;
7
use Illuminate\Routing\Controller;
8
use Modules\Blog\Entities\Category;
9
use Modules\Blog\Http\Requests\StoreCategoryRequest;
10
use Modules\Blog\Http\Requests\UpdateCategoryRequest;
11
use Modules\Blog\Repositories\CategoryRepository;
12
13
class CategoryController extends Controller
14
{
15
    /**
16
     * @var CategoryRepository
17
     */
18
    private $category;
19
20
    public function __construct(CategoryRepository $category)
21
    {
22
        $this->category = $category;
23
    }
24
25
    public function index()
26
    {
27
        $categories = $this->category->all();
28
29
        return response()->json([
30
            'errors' => false,
31
            'count' => $categories->count(),
32
            'data' => $categories,
33
        ]);
34
    }
35
36
    public function store(StoreCategoryRequest $request)
37
    {
38
        $category = $this->category->create($request->all());
39
40
        return response()->json([
41
            'errors' => false,
42
            'message' => trans('blog::messages.category created'),
43
            'data' => $category,
44
        ], Response::HTTP_CREATED);
45
    }
46
47
    public function update(Category $category, Request $request)
48
    {
49
        $category = $this->category->update($category, $request->all());
50
51
        return response()->json([
52
            'errors' => false,
53
            'message' => trans('blog::messages.category updated'),
54
            'data' => $category,
55
        ], Response::HTTP_CREATED);
56
    }
57
58
    public function destroy(Category $category)
59
    {
60
        $this->category->destroy($category);
61
62
        return response()->json([
63
            'errors' => false,
64
            'message' => trans('blog::messages.category deleted'),
65
        ], Response::HTTP_ACCEPTED);
66
    }
67
}
68