ldc-crm/app/Http/Resources/Api/V2/ApiResponse.php
2025-09-08 14:59:53 +02:00

44 lines
1 KiB
PHP

<?php
namespace App\Http\Resources\Api\V2;
use App\Enums\ApiStatus;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use stdClass;
class ApiResponse extends JsonResource
{
/** @var \stdClass|null */
protected $data;
/** @var \App\Enums\ApiStatus */
protected $status;
/**
* @param \App\Enums\ApiStatus $status
* @param \stdClass|null $data
*/
public function __construct(ApiStatus $status, stdClass|null $data = null)
{
$this->status = $status;
$this->data = $data;
}
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
* @phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClass
*/
public function toArray(Request $request): array
{
//phpcs:enable
return [
'status' => $this->status->value(),
'data' => (array) ($this->data ?? []),
'version' => '3.0.6'
];
}
}