Issues (115)

src/Services/ResponseService.php (1 issue)

Severity
1
<?php
2
3
namespace VGirol\JsonApi\Services;
4
5
use Illuminate\Http\JsonResponse;
6
use Illuminate\Http\Resources\Json\JsonResource;
7
use VGirol\JsonApi\Resources\ErrorResourceCollection;
8
9
class ResponseService
10
{
11
    /**
12
     * Undocumented function
13
     *
14
     * @param JsonResource|mixed|null $content
15
     *
16
     * @return JsonResponse
17
     */
18
    public function ok($content): JsonResponse
19
    {
20
        return $this->createResponse(JsonResponse::HTTP_OK, $content);
21
    }
22
23
    /**
24
     * Undocumented function
25
     *
26
     * @param JsonResource|mixed|null $content
27
     *
28
     * @return JsonResponse
29
     */
30
    public function created($content): JsonResponse
31
    {
32
        return $this->createResponse(JsonResponse::HTTP_CREATED, $content);
33
    }
34
35
    /**
36
     * Undocumented function
37
     *
38
     * @return JsonResponse
39
     */
40
    public function noContent(): JsonResponse
41
    {
42
        return $this->createResponse(JsonResponse::HTTP_NO_CONTENT);
43
    }
44
45
    /**
46
     * Undocumented function
47
     *
48
     * @return JsonResponse
49
     */
50
    public function createErrorResponse(): JsonResponse
51
    {
52
        $resource = new ErrorResourceCollection(jsonapiError()->errors());
53
54
        return $this->createResponse($resource->getStatusCode(), $resource);
55
    }
56
57
    /**
58
     * Undocumented function
59
     *
60
     * @param integer                 $code
61
     * @param JsonResource|mixed|null $content
62
     *
63
     * @return JsonResponse
64
     */
65
    public function createResponse(int $code, $content = null): JsonResponse
66
    {
67
        if (is_null($content)) {
68
            return response()->json(null, $code);
69
        }
70
        if (is_a($content, 'Illuminate\Http\Resources\Json\JsonResource')) {
71
            return $content->response()->setStatusCode($code);
72
        }
73
74
        return JsonResponse::create($content, $code);
0 ignored issues
show
Deprecated Code introduced by
The function Symfony\Component\HttpFo...\JsonResponse::create() has been deprecated: since Symfony 5.1, use __construct() instead. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

74
        return /** @scrutinizer ignore-deprecated */ JsonResponse::create($content, $code);

This function has been deprecated. The supplier of the function has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.

Loading history...
75
    }
76
}
77