BaseController   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 6
eloc 7
c 2
b 0
f 0
dl 0
loc 57
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A deleteBulk() 0 3 1
A __construct() 0 5 3
A updateBulk() 0 3 1
A createBulk() 0 3 1
1
<?php
2
3
namespace SoliDry\Extension;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Http\Response;
7
use Illuminate\Routing\Route;
8
use SoliDry\Exceptions\HeadersException;
9
use SoliDry\Helpers\Request as RequestHelper;
10
use SoliDry\Types\ErrorsInterface;
11
12
class BaseController extends ApiController
13
{
14
15
    /**
16
     * BaseController constructor.
17
     *
18
     * @param Route $route
19
     * @throws HeadersException
20
     * @throws \Illuminate\Contracts\Container\BindingResolutionException
21
     * @throws \ReflectionException
22
     */
23
    public function __construct(Route $route)
24
    {
25
        parent::__construct($route);
26
        if (\in_array($route->getActionMethod(), self::AVAILABLE_BULKS, true) && RequestHelper::isExt(request(), self::EXT_BULK) === false) {
27
            throw new HeadersException(ErrorsInterface::JSON_API_ERRORS[ErrorsInterface::HTTP_CODE_BULK_EXT_ERROR], ErrorsInterface::HTTP_CODE_BULK_EXT_ERROR);
28
        }
29
    }
30
31
    /**
32
     * Creates bulk of items in transaction mode
33
     *
34
     * @param Request $request
35
     * @return Response
36
     * @throws \LogicException
37
     * @throws \InvalidArgumentException
38
     * @throws \SoliDry\Exceptions\AttributesException
39
     */
40
    public function createBulk(Request $request) : Response
41
    {
42
        return $this->saveBulk($request);
43
    }
44
45
    /**
46
     * Update bulk of items in transaction mode
47
     *
48
     * @param Request $request
49
     * @return Response
50
     * @throws \InvalidArgumentException
51
     * @throws \LogicException
52
     * @throws \SoliDry\Exceptions\AttributesException
53
     */
54
    public function updateBulk(Request $request) : Response
55
    {
56
        return $this->mutateBulk($request);
57
    }
58
59
    /**
60
     * Delete bulk of items in transaction mode
61
     *
62
     * @param Request $request
63
     * @return Response
64
     * @throws \LogicException
65
     */
66
    public function deleteBulk(Request $request) : Response
67
    {
68
        return $this->removeBulk($request);
69
    }
70
}