Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
6 / 6
ApiResponse
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
6 / 6
 __construct
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
 toArray
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
3 / 3
1<?php
2
3namespace App\Http\Resources\Api\V2;
4
5use App\Enums\ApiStatus;
6use Illuminate\Http\Resources\Json\JsonResource;
7use stdClass;
8
9class ApiResponse extends JsonResource
10{
11    /** @var stdClass */
12    protected $data;
13
14    /** @var \App\Enums\ApiStatus */
15    protected $status;
16
17    /**
18     * @param stdClass  $data
19     * @param ApiStatus $status
20     */
21    public function __construct(stdClass $data = null, ApiStatus $status)
22    {
23        $this->status = $status;
24        $this->data   = $data;
25    }
26
27    /**
28     * Transform the resource into an array.
29     *
30     * @param  mixed  $request
31     * @return array
32     */
33    // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass, Squiz.Commenting.FunctionComment.Missing
34    public function toArray($request): array
35    {
36        return [
37            'status' => $this->status->value,
38            'data' => (array)$this->data,
39            'version' => config('api.version')
40        ];
41    }
42}