<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping\Index;
use Doctrine\ORM\Mapping as ORM;
use App\Repository\UserRepository;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
#[ORM\Entity(repositoryClass: UserRepository::class)]
#[Index(name: "user_type", columns: ["type"])]
#[Index(name: "user_visible", columns: ["visible"])]
#[Index(name: "user_status", columns: ["status"])]
class User implements UserInterface, PasswordAuthenticatedUserInterface, EntityInterface
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;
#[ORM\Column(length: 180)]
private ?string $email = null;
#[ORM\Column]
private array $roles = ["ROLE_USER"];
/**
* @var string The hashed password
*/
#[ORM\Column]
private ?string $password = null;
#[ORM\Column(length: 255)]
private ?string $google_id = '';
#[ORM\Column(length: 255)]
private ?string $facebook_id = '';
#[ORM\Column]
private ?int $manager = 0;
#[ORM\Column]
private ?int $referal = 0;
#[ORM\Column(length: 255)]
private ?string $type = '';
#[ORM\Column(length: 255)]
private ?string $name = '';
#[ORM\Column(length: 255)]
private ?string $surname = '';
#[ORM\Column(length: 1)]
private ?string $gender = '';
#[ORM\Column(length: 255)]
private ?string $country = '';
#[ORM\Column(length: 255)]
private ?string $city = '';
#[ORM\Column(length: 255)]
private ?string $address = '';
#[ORM\Column(length: 255)]
private ?string $lat = '';
#[ORM\Column(length: 255)]
private ?string $lon = '';
#[ORM\Column(length: 255)]
private ?string $phone = '';
#[ORM\Column]
private ?int $discount = 0;
#[ORM\Column]
private ?bool $visible = true;
#[ORM\Column(type: Types::SMALLINT)]
private ?int $status = 0;
#[ORM\Column]
private ?int $birth = 0;
#[ORM\Column(length: 255)]
private ?string $ip = '0.0.0.0';
#[ORM\Column]
private ?int $lastlogon = 0;
#[ORM\Column]
private ?int $logons = 0;
#[ORM\Column]
private ?int $created = 0;
#[ORM\Column(length: 255)]
private ?string $color = '';
#[ORM\Column]
private ?bool $opt = false;
#[ORM\Column]
private ?bool $miniopt = false;
#[ORM\Column]
private ?int $lastordertime = 0;
#[ORM\Column]
private ?float $ordersum = 0;
#[ORM\Column]
private ?int $ordernum = 0;
#[ORM\Column(length: 255)]
private ?string $external_id = '';
#[ORM\Column(length: 255)]
private ?string $company_nip = '';
#[ORM\Column(length: 255)]
private ?string $company_name = '';
#[ORM\Column(length: 255)]
private ?string $company_index = '';
#[ORM\Column(length: 255)]
private ?string $company_city = '';
#[ORM\Column(length: 255)]
private ?string $company_street = '';
#[ORM\Column(length: 255)]
private ?string $company_house = '';
#[ORM\Column(length: 255)]
private ?string $company_flat = '';
public function getId(): ?int
{
return $this->id;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
/**
* A visual identifier that represents this user.
*
* @see UserInterface
*/
public function getUserIdentifier(): string
{
return (string) $this->email;
}
/**
* @see UserInterface
*/
public function getRoles(): array
{
$roles = $this->roles;
// guarantee every user at least has ROLE_USER
$roles[] = 'ROLE_USER';
return array_unique($roles);
}
public function setRoles(array $roles): self
{
$this->roles = $roles;
return $this;
}
/**
* @see PasswordAuthenticatedUserInterface
*/
public function getPassword(): string
{
return $this->password;
}
public function setPassword(string $password): self
{
$this->password = $password;
return $this;
}
/**
* @see UserInterface
*/
public function eraseCredentials()
{
// If you store any temporary, sensitive data on the user, clear it here
// $this->plainPassword = null;
}
public function getGoogleId(): ?string
{
return $this->google_id;
}
public function setGoogleId(string $google_id): self
{
$this->google_id = $google_id;
return $this;
}
public function getFacebookId(): ?string
{
return $this->facebook_id;
}
public function setFacebookId(string $facebook_id): self
{
$this->facebook_id = $facebook_id;
return $this;
}
public function getManager(): ?int
{
return $this->manager;
}
public function setManager(int $manager): self
{
$this->manager = $manager;
return $this;
}
public function getReferal(): ?int
{
return $this->referal;
}
public function setReferal(int $referal): self
{
$this->referal = $referal;
return $this;
}
public function getType(): ?string
{
return $this->type;
}
public function setType(string $type): self
{
$this->type = $type;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getSurname(): ?string
{
return $this->surname;
}
public function setSurname(string $surname): self
{
$this->surname = $surname;
return $this;
}
public function getGender(): ?string
{
return $this->gender;
}
public function setGender(string $gender): self
{
$this->gender = $gender;
return $this;
}
public function getCountry(): ?string
{
return $this->country;
}
public function setCountry(string $country): self
{
$this->country = $country;
return $this;
}
public function getCity(): ?string
{
return $this->city;
}
public function setCity(string $city): self
{
$this->city = $city;
return $this;
}
public function getAddress(): ?string
{
return $this->address;
}
public function setAddress(string $address): self
{
$this->address = $address;
return $this;
}
public function getLat(): ?string
{
return $this->lat;
}
public function setLat(string $lat): self
{
$this->lat = $lat;
return $this;
}
public function getLon(): ?string
{
return $this->lon;
}
public function setLon(string $lon): self
{
$this->lon = $lon;
return $this;
}
public function getPhone(): ?string
{
return $this->phone;
}
public function setPhone(string $phone): self
{
$this->phone = $phone;
return $this;
}
public function getDiscount(): ?int
{
return $this->discount;
}
public function setDiscount(int $discount): self
{
$this->discount = $discount;
return $this;
}
public function isVisible(): ?bool
{
return $this->visible;
}
public function setVisible(bool $visible): self
{
$this->visible = $visible;
return $this;
}
public function getStatus(): ?int
{
return $this->status;
}
public function setStatus(int $status): self
{
$this->status = $status;
return $this;
}
public function getBirth(): ?int
{
return $this->birth;
}
public function setBirth(int $birth): self
{
$this->birth = $birth;
return $this;
}
public function getIp(): ?string
{
return $this->ip;
}
public function setIp(string $ip): self
{
$this->ip = $ip;
return $this;
}
public function getLastlogon(): ?int
{
return $this->lastlogon;
}
public function setLastlogon(int $lastlogon): self
{
$this->lastlogon = $lastlogon;
return $this;
}
public function getLogons(): ?string
{
return $this->logons;
}
public function setLogons(string $logons): self
{
$this->logons = $logons;
return $this;
}
public function getCreated(): ?int
{
return $this->created;
}
public function setCreated(int $created): self
{
$this->created = $created;
return $this;
}
public function getColor(): ?string
{
return $this->color;
}
public function setColor(string $color): self
{
$this->color = $color;
return $this;
}
public function isOpt(): ?bool
{
return $this->opt;
}
public function setOpt(bool $opt): self
{
$this->opt = $opt;
return $this;
}
public function isMiniopt(): ?bool
{
return $this->miniopt;
}
public function setMiniopt(bool $miniopt): self
{
$this->miniopt = $miniopt;
return $this;
}
public function getLastordertime(): ?int
{
return $this->lastordertime;
}
public function setLastordertime(int $lastordertime): self
{
$this->lastordertime = $lastordertime;
return $this;
}
public function getOrdernum(): ?float
{
return $this->ordernum;
}
public function setOrdernum(float $ordernum): self
{
$this->ordernum = $ordernum;
return $this;
}
public function getOrdersum(): ?float
{
return $this->ordersum;
}
public function setOrdersum(float $ordersum): self
{
$this->ordersum = $ordersum;
return $this;
}
public function getExternalId(): ?string
{
return $this->external_id;
}
public function setExternalId(string $external_id): self
{
$this->external_id = $external_id;
return $this;
}
/**
* Get the value of company_nip
*/
public function getCompanyNip()
{
return $this->company_nip;
}
/**
* Set the value of company_nip
*
* @return self
*/
public function setCompanyNip($company_nip)
{
$this->company_nip = $company_nip;
return $this;
}
/**
* Get the value of company_name
*/
public function getCompanyName()
{
return $this->company_name;
}
/**
* Set the value of company_name
*
* @return self
*/
public function setCompanyName($company_name)
{
$this->company_name = $company_name;
return $this;
}
/**
* Get the value of company_index
*/
public function getCompanyIndex()
{
return $this->company_index;
}
/**
* Set the value of company_index
*
* @return self
*/
public function setCompanyIndex($company_index)
{
$this->company_index = $company_index;
return $this;
}
/**
* Get the value of company_city
*/
public function getCompanyCity()
{
return $this->company_city;
}
/**
* Set the value of company_city
*
* @return self
*/
public function setCompanyCity($company_city)
{
$this->company_city = $company_city;
return $this;
}
/**
* Get the value of company_street
*/
public function getCompanyStreet()
{
return $this->company_street;
}
/**
* Set the value of company_street
*
* @return self
*/
public function setCompanyStreet($company_street)
{
$this->company_street = $company_street;
return $this;
}
/**
* Get the value of company_house
*/
public function getCompanyHouse()
{
return $this->company_house;
}
/**
* Set the value of company_house
*
* @return self
*/
public function setCompanyHouse($company_house)
{
$this->company_house = $company_house;
return $this;
}
/**
* Get the value of company_flat
*/
public function getCompanyFlat()
{
return $this->company_flat;
}
/**
* Set the value of company_flat
*
* @return self
*/
public function setCompanyFlat($company_flat)
{
$this->company_flat = $company_flat;
return $this;
}
}