Files
shopit-back/app/Domains/Forms/Resources/MerchandiseFormResource.php

33 lines
916 B
PHP

<?php
namespace App\Domains\Forms\Resources;
use App\Domains\Catalog\Models\AttributeOption;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Collection;
class MerchandiseFormResource extends JsonResource
{
/** @return array<string, mixed> */
public function toArray(Request $request): array
{
return [
'colors' => $this->options($this->resource['colors']),
'sizes' => $this->options($this->resource['sizes']),
];
}
/**
* @param Collection<int, AttributeOption> $options
* @return Collection<int, array{value: string, label: string}>
*/
private function options(Collection $options): Collection
{
return $options->map(fn (AttributeOption $option): array => [
'value' => $option->value,
'label' => $option->label,
])->values();
}
}