Passed
Push — feature/optimize ( 7e8046...d11496 )
by Fu
03:29
created

ResponseHandleTrait::handleNoContent()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
4
namespace Modules\Core\Traits\Supports;
5
6
7
use Illuminate\Support\Arr;
8
use Modules\Core\Enums\StatusCodeEnum;
9
use Modules\Core\Supports\Response;
10
11
trait ResponseHandleTrait
12
{
13
    use ResponseParseTrait;
14
15
    /**
16
     * Response Handle
17
     *
18
     * @param int $statusCode
19
     * @param $data
20
     * @param bool $overwrite
21
     * @param string|null $message
22
     * @return \Modules\Core\Supports\Response
23
     */
24
    public static function handle(
25
        int $statusCode,
26
        $data = null,
27
        bool $overwrite = false,
28
        string $message = null
29
    ): Response {
30
        if (($overwrite && is_array($data))) {
31
            $_data = $data;
32
        } else {
33
            $_data = self::parseData($data);
34
        }
35
36
        $_meta = self::parseMeta($data);
37
38
        $_meta = Arr::prepend($_meta, $statusCode, 'status_code');
39
        $_meta = Arr::prepend($_meta, $message ?? StatusCodeEnum::__($statusCode), 'message');
40
41
        Arr::set($response, 'meta', $_meta);
42
43
        if (!is_null($_data)) {
44
            Arr::set($response, 'data', $_data);
45
        }
46
47
        return self::call($response);
48
    }
49
50
    /**
51
     * Response Ok
52
     *
53
     * @param $data
54
     * @param bool $overwrite
55
     * @param string|null $message
56
     * @return \Modules\Core\Supports\Response
57
     */
58
    public static function handleOk($data = null, bool $overwrite = false, string $message = null): Response
59
    {
60
        return self::handle(StatusCodeEnum::HTTP_OK, $data, $overwrite, $message);
61
    }
62
63
    /**
64
     * Response Created
65
     *
66
     * @param $data
67
     * @param bool $overwrite
68
     * @param string|null $message
69
     * @return \Modules\Core\Supports\Response
70
     */
71
    public static function handleCreated($data = null, bool $overwrite = false, string $message = null): Response
72
    {
73
        return self::handle(StatusCodeEnum::HTTP_CREATED, $data, $overwrite, $message);
74
    }
75
76
    /**
77
     * Response Accepted
78
     *
79
     * @param $data
80
     * @param bool $overwrite
81
     * @param string|null $message
82
     * @return \Modules\Core\Supports\Response
83
     */
84
    public static function handleAccepted($data = null, bool $overwrite = false, string $message = null): Response
85
    {
86
        return self::handle(StatusCodeEnum::HTTP_ACCEPTED, $data, $overwrite, $message);
87
    }
88
89
    /**
90
     * Response NoContent
91
     *
92
     * @param $data
93
     * @param bool $overwrite
94
     * @param string|null $message
95
     * @return \Modules\Core\Supports\Response
96
     */
97
    public static function handleNoContent($data = null, bool $overwrite = false, string $message = null): Response
98
    {
99
        return self::handle(StatusCodeEnum::HTTP_NO_CONTENT, $data, $overwrite, $message);
100
    }
101
102
    /**
103
     * Response ResetContent
104
     *
105
     * @param $data
106
     * @param bool $overwrite
107
     * @param string|null $message
108
     * @return \Modules\Core\Supports\Response
109
     */
110
    public static function handleResetContent($data = null, bool $overwrite = false, string $message = null): Response
111
    {
112
        return self::handle(StatusCodeEnum::HTTP_RESET_CONTENT, $data, $overwrite, $message);
113
    }
114
115
    /**
116
     * Response SeeOther
117
     *
118
     * @param $data
119
     * @param bool $overwrite
120
     * @param string|null $message
121
     * @return \Modules\Core\Supports\Response
122
     */
123
    public static function handleSeeOther($data = null, bool $overwrite = false, string $message = null): Response
124
    {
125
        return self::handle(StatusCodeEnum::HTTP_SEE_OTHER, $data, $overwrite, $message);
126
    }
127
128
    /**
129
     * Response BadRequest
130
     *
131
     * @param $data
132
     * @param bool $overwrite
133
     * @param string|null $message
134
     * @return \Modules\Core\Supports\Response
135
     */
136
    public static function handleBadRequest($data = null, bool $overwrite = false, string $message = null): Response
137
    {
138
        return self::handle(StatusCodeEnum::HTTP_BAD_REQUEST, $data, $overwrite, $message);
139
    }
140
141
    /**
142
     * Response Unauthorized
143
     *
144
     * @param $data
145
     * @param bool $overwrite
146
     * @param string|null $message
147
     * @return \Modules\Core\Supports\Response
148
     */
149
    public static function handleUnauthorized($data = null, bool $overwrite = false, string $message = null): Response
150
    {
151
        return self::handle(StatusCodeEnum::HTTP_UNAUTHORIZED, $data, $overwrite, $message);
152
    }
153
154
    /**
155
     * Response PaymentRequired
156
     *
157
     * @param $data
158
     * @param bool $overwrite
159
     * @param string|null $message
160
     * @return \Modules\Core\Supports\Response
161
     */
162
    public static function handlePaymentRequired(
163
        $data = null,
164
        bool $overwrite = false,
165
        string $message = null
166
    ): Response {
167
        return self::handle(StatusCodeEnum::HTTP_PAYMENT_REQUIRED, $data, $overwrite, $message);
168
    }
169
170
    /**
171
     * Response Forbidden
172
     *
173
     * @param $data
174
     * @param bool $overwrite
175
     * @param string|null $message
176
     * @return \Modules\Core\Supports\Response
177
     */
178
    public static function handleForbidden($data = null, bool $overwrite = false, string $message = null): Response
179
    {
180
        return self::handle(StatusCodeEnum::HTTP_PAYMENT_REQUIRED, $data, $overwrite, $message);
181
    }
182
183
    /**
184
     * Response NotFound
185
     *
186
     * @param $data
187
     * @param bool $overwrite
188
     * @param string|null $message
189
     * @return \Modules\Core\Supports\Response
190
     */
191
    public static function handleNotFound($data = null, bool $overwrite = false, string $message = null): Response
192
    {
193
        return self::handle(StatusCodeEnum::HTTP_NOT_FOUND, $data, $overwrite, $message);
194
    }
195
196
    /**
197
     * Response UnprocessableEntity
198
     *
199
     * @param $data
200
     * @param bool $overwrite
201
     * @param string|null $message
202
     * @return \Modules\Core\Supports\Response
203
     */
204
    public static function handleUnprocessableEntity(
205
        $data = null,
206
        bool $overwrite = false,
207
        string $message = null
208
    ): Response {
209
        return self::handle(StatusCodeEnum::HTTP_UNPROCESSABLE_ENTITY, $data, $overwrite, $message);
210
    }
211
212
    /**
213
     * Response Locked
214
     *
215
     * @param $data
216
     * @param bool $overwrite
217
     * @param string|null $message
218
     * @return \Modules\Core\Supports\Response
219
     */
220
    public static function handleLocked($data = null, bool $overwrite = false, string $message = null): Response
221
    {
222
        return self::handle(StatusCodeEnum::HTTP_LOCKED, $data, $overwrite, $message);
223
    }
224
225
    /**
226
     * Response TooManyRequests
227
     *
228
     * @param $data
229
     * @param bool $overwrite
230
     * @param string|null $message
231
     * @return \Modules\Core\Supports\Response
232
     */
233
    public static function handleTooManyRequests(
234
        $data = null,
235
        bool $overwrite = false,
236
        string $message = null
237
    ): Response {
238
        return self::handle(StatusCodeEnum::HTTP_TOO_MANY_REQUESTS, $data, $overwrite, $message);
239
    }
240
241
    /**
242
     * Response InternalServerError
243
     *
244
     * @param $data
245
     * @param bool $overwrite
246
     * @param string|null $message
247
     * @return \Modules\Core\Supports\Response
248
     */
249
    public static function handleInternalServerError(
250
        $data = null,
251
        bool $overwrite = false,
252
        string $message = null
253
    ): Response {
254
        return self::handle(StatusCodeEnum::HTTP_INTERNAL_SERVER_ERROR, $data, $overwrite, $message);
255
    }
256
257
    /**
258
     * Response NotImplemented
259
     *
260
     * @param $data
261
     * @param bool $overwrite
262
     * @param string|null $message
263
     * @return \Modules\Core\Supports\Response
264
     */
265
    public static function handleNotImplemented($data = null, bool $overwrite = false, string $message = null): Response
266
    {
267
        return self::handle(StatusCodeEnum::HTTP_NOT_IMPLEMENTED, $data, $overwrite, $message);
268
    }
269
}