MenuItemController::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
rs 9.4286
cc 1
eloc 4
nc 1
nop 3
1
<?php namespace Modules\Menu\Http\Controllers\Api;
2
3
use Illuminate\Contracts\Cache\Repository;
4
use Illuminate\Http\Request;
5
use Illuminate\Routing\Controller;
6
use Illuminate\Support\Facades\Response;
7
use Modules\Menu\Repositories\MenuItemRepository;
8
use Modules\Menu\Services\MenuOrdener;
9
10
class MenuItemController extends Controller
11
{
12
    /**
13
     * @var Repository
14
     */
15
    private $cache;
16
    /**
17
     * @var MenuOrdener
18
     */
19
    private $menuOrdener;
20
    /**
21
     * @var MenuItemRepository
22
     */
23
    private $menuItem;
24
25
    public function __construct(MenuOrdener $menuOrdener, Repository $cache, MenuItemRepository $menuItem)
26
    {
27
        $this->cache = $cache;
28
        $this->menuOrdener = $menuOrdener;
29
        $this->menuItem = $menuItem;
30
    }
31
32
    /**
33
     * Update all menu items
34
     * @param Request $request
35
     */
36
    public function update(Request $request)
37
    {
38
        $this->cache->tags('menuItems')->flush();
0 ignored issues
show
Bug introduced by
The method tags() does not seem to exist on object<Illuminate\Contracts\Cache\Repository>.

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
39
40
        $this->menuOrdener->handle($request->get('menu'));
41
    }
42
43
    /**
44
     * Delete a menu item
45
     * @param Request $request
46
     * @return mixed
47
     */
48
    public function delete(Request $request)
49
    {
50
        $menuItem = $this->menuItem->find($request->get('menuitem'));
51
52
        if (! $menuItem) {
53
            return Response::json(['errors' => true]);
54
        }
55
56
        $this->menuItem->destroy($menuItem);
57
58
        return Response::json(['errors' => false]);
59
    }
60
}
61