<?php

namespace App\Domains\Forms\Services;

use App\Domains\Tenant\Models\SocialMedia;
use App\Domains\Tenant\Models\Tenant;
use Illuminate\Database\Eloquent\Collection;

class EventFormService
{
    /** @return array{social_media: Collection<int, SocialMedia>} */
    public function get(Tenant $tenant): array
    {
        $urls = $tenant->socialMedia()
            ->pluck('tenant_social_media.url', 'social_media.code');

        return [
            'social_media' => SocialMedia::query()
                ->orderBy('id')
                ->get()
                ->each(fn (SocialMedia $item) => $item->setAttribute(
                    'url',
                    $urls->get($item->code)
                )),
        ];
    }
}
