ApiController::respondCreated()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 7
rs 9.4285
cc 1
eloc 4
nc 1
nop 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: adam
5
 * Date: 23/12/15
6
 * Time: 16:27
7
 */
8
9
namespace App\Http\Controllers;
10
11
12
use Illuminate\Http\Response as IlluminateResponse;
13
use Illuminate\Support\Facades\Response;
14
15
/**
16
 * Class ApiController
17
 * @package App\Http\Controllers
18
 */
19
class ApiController extends Controller
20
{
21
22
    /**
23
     * @var int
24
     */
25
    protected $statusCode = 200;
26
27
    /**
28
     * @return mixed
29
     */
30
    public function getStatusCode()
31
    {
32
        return $this->statusCode;
33
    }
34
35
    /**
36
     * @param mixed $statusCode
37
     * return $this
38
     */
39
    public function setStatusCode($statusCode)
40
    {
41
        $this->statusCode = $statusCode;
42
43
        return $this;
44
    }
45
46
    /**
47
     * @param string $message
48
     * @return mixed
49
     */
50
    public function respondNotFound($message = 'Not Found!')
51
    {
52
        return $this->setStatusCode(IlluminateResponse::HTTP_NOT_FOUND)->respondWithError($message);
53
    }
54
55
56
    /**
57
     * @param string $message
58
     * @return mixed
59
     */
60
    public function respondInternalError($message = 'Internal Error')
61
    {
62
        return $this->setStatusCode(IlluminateResponse::HTTP_INTERNAL_SERVER_ERROR)->respondWithError($message);
63
    }
64
65
    /**
66
     * @param $data
67
     * @param array $headers
68
     * @return mixed
69
     */
70
    public function respond($data, $headers = [])
71
    {
72
        return Response::json($data, $this->getStatusCode(), $headers);
73
    }
74
75
    /**
76
     * @param $message
77
     * @return mixed
78
     */
79
    public function respondWithError($message)
80
    {
81
82
        return $this->respond([
83
84
            'error'=> [
85
                'message' => $message,
86
                'status_code' => $this->getStatusCode()
87
            ]
88
        ]);
89
90
    }
91
92
    /**
93
     * @return mixed
94
     */
95
    protected function respondCreated($message)
96
    {
97
        return $this->setStatusCode(IlluminateResponse::HTTP_CREATED)
98
            ->respond([
99
                'message' => $message
100
            ]);
101
    }
102
103
}