src/Object/Admin/User.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\Object\Admin;
  3. use Symfony\Component\Security\Core\User\UserInterface;
  4. /**
  5.  * Class User.
  6.  */
  7. class User implements UserInterface
  8. {
  9.     /**
  10.      * @var
  11.      */
  12.     private $id;
  13.     /**
  14.      * @var
  15.      */
  16.     private $login;
  17.     /**
  18.      * @var
  19.      */
  20.     private $lastConnectionDate;
  21.     /**
  22.      * @var
  23.      */
  24.     private $username;
  25.     /**
  26.      * @var
  27.      */
  28.     private $email;
  29.     /**
  30.      * @var
  31.      */
  32.     private $firstName;
  33.     /**
  34.      * @var
  35.      */
  36.     private $lastName;
  37.     /**
  38.      * @var
  39.      */
  40.     private $userParent;
  41.     /**
  42.      * @var array
  43.      */
  44.     private array $roles = [];
  45.     /**
  46.      * @var
  47.      */
  48.     private $password;
  49.     /**
  50.      * @var
  51.      */
  52.     private $lastPasswordUpdateDate;
  53.     /**
  54.      * @var Customer
  55.      */
  56.     private Customer $customer;
  57.     /**
  58.      * @var string
  59.      */
  60.     private string $customerType;
  61.     /**
  62.      * @var
  63.      */
  64.     private $customizations;
  65.     /**
  66.      * @var Role
  67.      */
  68.     private Role $role;
  69.     /**
  70.      * @var
  71.      */
  72.     private $ssoToken;
  73.     /**
  74.      * @var
  75.      */
  76.     private $status;
  77.     /**
  78.      * @var
  79.      */
  80.     private $privileges = [];
  81.     /**
  82.      * @var
  83.      */
  84.     private $modules = [];
  85.     /**
  86.      * @var
  87.      */
  88.     private $twoFactorAuth;
  89.     /**
  90.      * @var
  91.      */
  92.     private $lastApiConnectionDate;
  93.     /**
  94.      * @var
  95.      */
  96.     private int $unreadNotificationsCount;
  97.     private $lastLegacyApiConnectionDate;
  98.     private $widgets = [];
  99.     /**
  100.      * @return null|mixed
  101.      */
  102.     public function getId(): mixed
  103.     {
  104.         return $this->id;
  105.     }
  106.     /**
  107.      * @param mixed $id
  108.      *
  109.      * @return $this
  110.      */
  111.     public function setId($id): self
  112.     {
  113.         $this->id $id;
  114.         return $this;
  115.     }
  116.     /**
  117.      * @param string $login
  118.      *
  119.      * @return $this
  120.      */
  121.     public function setLogin(string $login): self
  122.     {
  123.         $this->login $login;
  124.         return $this;
  125.     }
  126.     /**
  127.      * A visual identifier that represents this user.
  128.      *
  129.      * @see UserInterface
  130.      */
  131.     public function getLogin(): string
  132.     {
  133.         return (string) $this->login;
  134.     }
  135.     /**
  136.      * @see UserInterface
  137.      */
  138.     public function getLastConnectionDate(): ?string
  139.     {
  140.         return $this->lastConnectionDate;
  141.     }
  142.     /**
  143.      * @param string $lastConnectionDate
  144.      *
  145.      * @return $this
  146.      */
  147.     public function setLastConnectionDate(?string $lastConnectionDate): self
  148.     {
  149.         $this->lastConnectionDate $lastConnectionDate;
  150.         return $this;
  151.     }
  152.     /**
  153.      * @param string $username
  154.      *
  155.      * @return $this
  156.      */
  157.     public function setUsername(string $username): self
  158.     {
  159.         $this->username $username;
  160.         return $this;
  161.     }
  162.     /**
  163.      * A visual identifier that represents this user.
  164.      *
  165.      * @see UserInterface
  166.      */
  167.     public function getUsername(): string
  168.     {
  169.         return (string) $this->username;
  170.     }
  171.     /**
  172.      * @return null|string
  173.      */
  174.     public function getEmail(): ?string
  175.     {
  176.         return $this->email;
  177.     }
  178.     /**
  179.      * @param string $email
  180.      *
  181.      * @return $this
  182.      */
  183.     public function setEmail(string $email): self
  184.     {
  185.         $this->email $email;
  186.         return $this;
  187.     }
  188.     public function getFirstName(): ?string
  189.     {
  190.         return $this->firstName;
  191.     }
  192.     /**
  193.      * @param null|string $firstName
  194.      *
  195.      * @return $this
  196.      */
  197.     public function setFirstName(?string $firstName): self
  198.     {
  199.         $this->firstName $firstName;
  200.         return $this;
  201.     }
  202.     public function getLastName(): ?string
  203.     {
  204.         return $this->lastName;
  205.     }
  206.     /**
  207.      * @param null|string $lastName
  208.      *
  209.      * @return $this
  210.      */
  211.     public function setLastName(?string $lastName): self
  212.     {
  213.         $this->lastName $lastName;
  214.         return $this;
  215.     }
  216.     /**
  217.      * @return null|array
  218.      */
  219.     public function getUserParent(): ?array
  220.     {
  221.         return $this->userParent;
  222.     }
  223.     /**
  224.      * @param null|array $userParent
  225.      *
  226.      * @return $this
  227.      */
  228.     public function setUserParent(?array $userParent): self
  229.     {
  230.         $this->userParent $userParent;
  231.         return $this;
  232.     }
  233.     /**
  234.      * @param string $key
  235.      *
  236.      * @return null|string
  237.      */
  238.     public function getUserParentValueByKey(string $key): ?string
  239.     {
  240.         return $this->userParent[$key] ?? null;
  241.     }
  242.     /**
  243.      * @see UserInterface
  244.      */
  245.     public function getRoles(): array
  246.     {
  247.         $roles $this->roles;
  248.         // guarantee every user at least has ROLE_USER
  249.         $roles[] = 'ROLE_USER';
  250.         return array_unique($roles);
  251.     }
  252.     /**
  253.      * @param array $roles
  254.      *
  255.      * @return $this
  256.      */
  257.     public function setRoles(array $roles): self
  258.     {
  259.         $this->roles $roles;
  260.         return $this;
  261.     }
  262.     /**
  263.      * @see UserInterface
  264.      */
  265.     public function getPassword(): string
  266.     {
  267.         return (string) $this->password;
  268.     }
  269.     /**
  270.      * @param string $password
  271.      *
  272.      * @return $this
  273.      */
  274.     public function setPassword(string $password): self
  275.     {
  276.         $this->password $password;
  277.         return $this;
  278.     }
  279.     /**
  280.      * @see UserInterface
  281.      *
  282.      * @return null|string
  283.      */
  284.     public function getLastPasswordUpdateDate(): ?string
  285.     {
  286.         return $this->lastPasswordUpdateDate;
  287.     }
  288.     /**
  289.      * @param string $lastPasswordUpdateDate
  290.      *
  291.      * @return $this
  292.      */
  293.     public function setLastPasswordUpdateDate(?string $lastPasswordUpdateDate): self
  294.     {
  295.         $this->lastPasswordUpdateDate $lastPasswordUpdateDate;
  296.         return $this;
  297.     }
  298.     /**
  299.      * @see UserInterface
  300.      */
  301.     public function getSalt(): void
  302.     {
  303.     }
  304.     /**
  305.      * @see UserInterface
  306.      */
  307.     public function eraseCredentials(): void
  308.     {
  309.     }
  310.     /**
  311.      * @return Customer
  312.      */
  313.     public function getCustomer(): Customer
  314.     {
  315.         return $this->customer;
  316.     }
  317.     /**
  318.      * @param mixed $customer
  319.      *
  320.      * @return $this
  321.      */
  322.     public function setCustomer($customer): self
  323.     {
  324.         $this->customer $customer;
  325.         return $this;
  326.     }
  327.     public function getCustomerType(): ?string
  328.     {
  329.         return $this->customerType;
  330.     }
  331.     public function setCustomerType($customerType): self
  332.     {
  333.         $this->customerType $customerType;
  334.         return $this;
  335.     }
  336.     public function getCustomizations(): ?array
  337.     {
  338.         return $this->customizations;
  339.     }
  340.     public function setCustomizations(?array $customizations): self
  341.     {
  342.         $this->customizations $customizations;
  343.         return $this;
  344.     }
  345.     public function setCustomization($key$val): ?array
  346.     {
  347.         $this->customizations[$key] = $val;
  348.         return $this->customizations;
  349.     }
  350.     public function getCustomization($key)
  351.     {
  352.         return $this->customizations[$key];
  353.     }
  354.     public function hasCustomization($key)
  355.     {
  356.         return isset($this->customizations[$key]);
  357.     }
  358.     public function removeCustomization($key): ?array
  359.     {
  360.         unset($this->customizations[$key]);
  361.         return $this->customizations;
  362.     }
  363.     /**
  364.      * @return Role
  365.      */
  366.     public function getRole(): Role
  367.     {
  368.         return $this->role;
  369.     }
  370.     /**
  371.      * @param Role $role
  372.      *
  373.      * @return $this
  374.      */
  375.     public function setRole(Role $role)
  376.     {
  377.         $this->role $role;
  378.         return $this;
  379.     }
  380.     public function getSsoToken(): ?string
  381.     {
  382.         return $this->ssoToken;
  383.     }
  384.     public function setSsoToken(?string $ssoToken): self
  385.     {
  386.         $this->ssoToken $ssoToken;
  387.         return $this;
  388.     }
  389.     public function getPrivileges(): ?array
  390.     {
  391.         return $this->privileges;
  392.     }
  393.     public function setPrivileges(?array $privileges): self
  394.     {
  395.         $this->privileges $privileges;
  396.         return $this;
  397.     }
  398.     public function getModules(): ?array
  399.     {
  400.         return $this->modules;
  401.     }
  402.     public function setModules(?array $modules): self
  403.     {
  404.         $this->modules $modules;
  405.         return $this;
  406.     }
  407.     public function getStatus(): ?bool
  408.     {
  409.         return $this->status;
  410.     }
  411.     public function setStatus(bool $status): self
  412.     {
  413.         $this->status $status;
  414.         return $this;
  415.     }
  416.     /**
  417.      * @return null|string
  418.      */
  419.     public function getTwoFactorAuth(): ?string
  420.     {
  421.         return $this->twoFactorAuth;
  422.     }
  423.     /**
  424.      * @param null|string $twoFactorAuth
  425.      *
  426.      * @return $this
  427.      */
  428.     public function setTwoFactorAuth(?string $twoFactorAuth): self
  429.     {
  430.         $this->twoFactorAuth $twoFactorAuth;
  431.         return $this;
  432.     }
  433.     /**
  434.      * @return null|string
  435.      */
  436.     public function getApiLastConnectionDate(): ?string
  437.     {
  438.         return $this->lastApiConnectionDate;
  439.     }
  440.     /**
  441.      * @param string $lastApiConnectionDate
  442.      *
  443.      * @return $this
  444.      */
  445.     public function setApiLastConnectionDate(?string $lastApiConnectionDate): self
  446.     {
  447.         $this->lastApiConnectionDate $lastApiConnectionDate;
  448.         return $this;
  449.     }
  450.     public function getUnreadNotificationsCount(): int
  451.     {
  452.         return $this->unreadNotificationsCount;
  453.     }
  454.     public function setUnreadNotificationsCount(int $unreadNotificationsCount): self
  455.     {
  456.         $this->unreadNotificationsCount $unreadNotificationsCount;
  457.         return $this;
  458.     }
  459.     public function hasUnreadNotifications(): bool
  460.     {
  461.         return $this->unreadNotificationsCount 0;
  462.     }
  463.     public function getLegacyApiLastConnectionDate(): ?string
  464.     {
  465.         return $this->lastLegacyApiConnectionDate;
  466.     }
  467.     public function setLegacyApiLastConnectionDate(?string $lastLegacyApiConnectionDate): self
  468.     {
  469.         $this->lastLegacyApiConnectionDate $lastLegacyApiConnectionDate;
  470.         return $this;
  471.     }
  472.     /**
  473.      * @return array
  474.      */
  475.     public function getWidgets(): array
  476.     {
  477.         return $this->widgets;
  478.     }
  479.     /**
  480.      * @param array $widgets
  481.      */
  482.     public function setWidgets(array $widgets): void
  483.     {
  484.         $this->widgets $widgets;
  485.     }
  486. }