Passed
Push — master ( f91ec2...890d92 )
by Fu
31:36 queued 27:07
created

ResponseHandleTrait::handleContinue()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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