Passed
Push — dev ( 48fd2d...413832 )
by Mattia
03:24
created

BaseApiController::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 6
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Http\Controllers\Api;
6
7
use App\Core as MinepicCore;
8
use Illuminate\Http\Request;
9
use Illuminate\Http\Response;
10
use Laravel\Lumen\Http\ResponseFactory;
11
use Laravel\Lumen\Routing\Controller as BaseController;
12
13
/**
14
 * Class BaseApiController.
15
 */
16
abstract class BaseApiController extends BaseController
17
{
18
    /**
19
     * @var MinepicCore
20
     */
21
    protected $minepic;
22
23
    /** @var ResponseFactory */
24
    protected $responseFactory;
25
26
    /**
27
     * Api constructor.
28
     *
29
     * @param MinepicCore     $minepic
30
     * @param ResponseFactory $responseFactory
31
     */
32
    public function __construct(
33
        MinepicCore $minepic,
34
        ResponseFactory $responseFactory
35
    ) {
36
        $this->minepic = $minepic;
37
        $this->responseFactory = $responseFactory;
38
    }
39
40
    /**
41
     * @param Request $request
42
     * @param string  $uuidOrName
43
     * @param int     $size
44
     *
45
     * @return Response
46
     */
47
    abstract public function serve(Request $request, $uuidOrName = '', $size = 0): Response;
48
49
    /**
50
     * Isometric Avatar with Size.
51
     *
52
     * @param \Illuminate\Http\Request $request
53
     * @param int                      $size
54
     * @param string                   $uuidOrName
55
     *
56
     * @return Response
57
     */
58
    public function serveWithSize(Request $request, $size = 0, $uuidOrName = ''): Response
59
    {
60
        return $this->serve($request, $uuidOrName, $size);
61
    }
62
}
63