<?php

namespace App\Packages\User\Transformer;

use App\Packages\User\Models\User;
use App\Packages\User\Models\UserMention;
use App\Packages\User\Repository\UserRepository;
use Illuminate\Support\Collection;

/**
 * Class UserMentionTransformer
 * @package App\Packages\User\Transformer
 */
class UserMentionTransformer
{
    /**
     * @param Collection[]
     *
     * @return array
     */
    public static function smallObject($mentioned)
    {
        $result = [];
        foreach ( $mentioned as $mention ) {
            /** @var UserMention $mention */
            /** @var User $user */
            $user = UserRepository::init()->firstByUuid($mention->user_uuid);

            if ( $user ) {
                $result[] = UserTransformer::objectMentionedUser($user);
            } else {
                $result[] = UserTransformer::objectMentionedUserDeleted($mention->user_uuid);
            }
        }

        return $result;
    }
}