Your IP : 216.73.217.79


Current Path : /var/www/v3.cesa.co.za/src/UserBundle/Entity/
Upload File :
Current File : /var/www/v3.cesa.co.za/src/UserBundle/Entity/UserLogin.php

<?php

namespace App\UserBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\LegacyPasswordAuthenticatedUserInterface;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * Member portal login (user_login table).
 *
 * @ORM\Table(name="user_login")
 * @ORM\Entity(repositoryClass="App\UserBundle\Repository\UserLoginRepository")
 */
class UserLogin implements UserInterface, LegacyPasswordAuthenticatedUserInterface
{
    /** @var list<string>|null */
    private ?array $roles = null;

    private ?int $memberFirmId = null;

    private bool $memberFirmPresent = false;

    /**
     * @ORM\Id
     * @ORM\Column(name="id", type="integer")
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private ?int $id = null;

    /**
     * Maps to Contacts.ContactsID / MemberContacts.ContactID (member portal).
     *
     * @ORM\Column(name="contact_id", type="integer", nullable=true)
     */
    private ?int $contactId = null;

    /**
     * @ORM\Column(name="username", type="string", length=12, nullable=true)
     */
    private ?string $username = null;

    /**
     * @ORM\Column(name="password", type="string", length=50, nullable=true)
     */
    private ?string $password = null;

    /**
     * @ORM\Column(name="salt", type="string", length=50, nullable=true)
     */
    private ?string $salt = null;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getContactId(): ?int
    {
        return $this->contactId;
    }

    public function setContactId(int $contactId): static
    {
        $this->contactId = $contactId;

        return $this;
    }

    public function getUsername(): ?string
    {
        return $this->username;
    }

    public function setUsername(string $username): static
    {
        $this->username = $username;

        return $this;
    }

    public function getPassword(): ?string
    {
        return $this->password;
    }

    public function setPassword(string $password): static
    {
        $this->password = $password;

        return $this;
    }

    public function getSalt(): ?string
    {
        return $this->salt;
    }

    public function setSalt(?string $salt): static
    {
        $this->salt = $salt;

        return $this;
    }

    public function getUserIdentifier(): string
    {
        return (string) $this->username;
    }

    /**
     * @param list<string> $roles
     */
    public function setResolvedRoles(array $roles): void
    {
        $this->roles = $roles;
    }

    /**
     * @return list<string>
     */
    public function getRoles(): array
    {
        return $this->roles ?? ['NONE'];
    }

    public function getGranted(string $roleName): bool
    {
        return in_array($roleName, $this->getRoles(), true);
    }

    public function setMemberFirmContext(?int $memberFirmId, bool $present): void
    {
        $this->memberFirmId = $memberFirmId;
        $this->memberFirmPresent = $present;
    }

    public function getMemberFirmId(): ?int
    {
        return $this->memberFirmId;
    }

    public function hasMemberFirm(): bool
    {
        return $this->memberFirmPresent && $this->memberFirmId !== null;
    }

    public function eraseCredentials(): void
    {
    }

    public function __toString(): string
    {
        return (string) $this->username;
    }
}