aiblog/app/Http/Resources/ApiResource.php
2024-11-17 11:30:01 +08:00

50 lines
No EOL
1,021 B
PHP

<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Request;
class ApiResource extends JsonResource
{
public static $wrap = null;
protected bool $success = true;
protected string $message = 'Success';
protected ?array $meta = null;
public function success(bool $success): self
{
$this->success = $success;
return $this;
}
public function message(string $message): self
{
$this->message = $message;
return $this;
}
public function meta(array $meta): self
{
$this->meta = $meta;
return $this;
}
public function toArray(Request $request): array
{
$response = [
'success' => $this->success,
'message' => $this->message,
'data' => parent::toArray($request),
];
if ($this->meta) {
$response['meta'] = $this->meta;
}
return $response;
}
}