/home/bdqbpbxa/api-uniferx.goodface.com.ua/app/Http/Resources/Pages/Languages/LanguageResource.php
<?php
namespace App\Http\Resources\Pages\Languages;

use App\Helpers\ResourceHelper;
use App\Http\Resources\Pages\Countries\CountryListCollection;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

/**
 * @OA\Schema(title="LanguageResource",description="Language resource",
 *     @OA\Xml(name="LanguageResource")
 * )
 */
class LanguageResource extends JsonResource
{

    /**
     * @OA\Property(property="name", type="string", example="UK"),
     * @OA\Property(property="icon", type="string", example="https://uniferx-backend.test/storage/icon.png"),
     * @OA\Property(property="code", type="string", example="uk "),
     */
    public string|null $name;
    public array|string|null $icon;
    public string|null $code;
    public function __construct($resource)
    {
        parent::__construct($resource);
        $this->name = $resource->name;
        $this->icon = $resource->icon;
        $this->code = $resource->code;
    }



    public function toArray(Request $request): array
    {
        return [
            'name' => $this->name,
            'icon' => ResourceHelper::getImage($this->icon ?? null),
            'code' => $this->code,
        ];
    }

    public static function collection($resource): LanguageCollection
    {
        return new LanguageCollection($resource);
    }
}