Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ApiResponse
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 toArray
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
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}