<?php declare(strict_types=1);
namespace openvk\Web\Models\Entities;

use openvk\Web\Models\RowModel;
use openvk\Web\Models\Entities\{User, Club};
use openvk\Web\Models\Repositories\{Users, Clubs};

class Alias extends RowModel
{
    protected $tableName = "aliases";
    
    function getOwnerId(): int
    {
        return $this->getRecord()->owner_id;
    }

    function getType(): string
    {
        if ($this->getOwnerId() < 0)
            return "club";

        return "user";
    }

    function getUser(): ?User
    {
        return (new Users)->get($this->getOwnerId());
    }

    function getClub(): ?Club
    {
        return (new Clubs)->get($this->getOwnerId() * -1);
    }
}