<?php

namespace App\Domains\Forms\Services;

use App\Domains\Catalog\Models\Attribute;
use App\Domains\Catalog\Models\AttributeOption;
use App\Domains\Tenant\Models\Tenant;
use Illuminate\Database\Eloquent\Collection;

class MerchandiseFormService
{
    /**
     * @return array{
     *     colors: Collection<int, AttributeOption>,
     *     sizes: Collection<int, AttributeOption>
     * }
     */
    public function get(Tenant $tenant): array
    {
        $attributes = Attribute::query()
            ->where('tenant_codigo', $tenant->codigo)
            ->whereIn('codigo', ['color', 'talle'])
            ->with('options')
            ->get()
            ->keyBy('codigo');

        return [
            'colors' => $attributes->get('color')?->options ?? new Collection,
            'sizes' => $attributes->get('talle')?->options ?? new Collection,
        ];
    }
}
