ekart/backend/app/Http/Resources/ProductResource.php
kusowl ae008fbc9c chore: add isFavorite in produtcs response
- refactor code to use query
- add active column in products
2026-03-05 13:32:49 +05:30

37 lines
1.2 KiB
PHP

<?php
namespace App\Http\Resources;
use App\Data\ProductDTO;
use App\Data\ProductImageDTO;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Storage;
/**
* @property ProductDTO $resource
*/
class ProductResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->resource->id,
'title' => $this->resource->title,
'slug' => $this->resource->slug,
'description' => $this->resource->description,
'actualPrice' => $this->resource->actualPrice,
'listPrice' => $this->resource->listPrice,
'category' => [
'name' => $this->resource->category->name,
'slug' => $this->resource->category->slug,
],
'productImages' => array_map(function (ProductImageDTO $productImage) {
return Storage::disk('public')->url($productImage->path);
}, $this->resource->productImages),
'updatedAt' => $this->resource->updatedAt,
'isFavorite' => $this->resource->isFavorite,
];
}
}