src/Entity/User.php line 16

Open in your IDE?
  1. <?php
  2. # src/Entity/User.php
  3. namespace App\Entity;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  7. use Doctrine\Common\Collections\ArrayCollection;
  8. use Doctrine\Common\Collections\Collection;
  9. #[ORM\Entity]
  10. #[ORM\Table(name'users')]
  11. #[ORM\HasLifecycleCallbacks]
  12. class User implements UserInterfacePasswordAuthenticatedUserInterface
  13. {
  14.     #[ORM\Id]
  15.     #[ORM\GeneratedValue]
  16.     #[ORM\Column(type'integer')]
  17.     private ?int $id null;
  18.     #[ORM\Column(type'string'length255nullabletrue)]
  19.     private ?string $name null;
  20.     #[ORM\Column(type'string'length255nullabletrue)]
  21.     private ?string $lastname null;
  22.     #[ORM\Column(type'string'length255uniquetrue)]
  23.     private ?string $email null;
  24.     #[ORM\Column(type'string'length255nullabletrue)]
  25.     private ?string $password null;
  26.     #[ORM\Column(type'string'length255)]
  27.     private string $roles 'ROLE_USER';
  28.     #[ORM\Column(type'string'length2nullabletrue)]
  29.     private ?string $language 'de';
  30.     #[ORM\Column(type'string'length255nullabletrue)]
  31.     private ?string $street null;
  32.     #[ORM\Column(type'string'length255nullabletrue)]
  33.     private ?string $city null;
  34.     #[ORM\Column(type'string'length20nullabletrue)]
  35.     private ?string $postal_code null;
  36.     #[ORM\Column(type'string'length100nullabletrue)]
  37.     private ?string $country null;
  38.     #[ORM\Column(type'string'length20nullabletrue)]
  39.     private ?string $payment_method null;
  40.     #[ORM\Column(type'binary'nullabletrue)]
  41.     private $credit_card_number null;
  42.     #[ORM\Column(type'date'nullabletrue)]
  43.     private ?\DateTimeInterface $credit_card_expiry null;
  44.     #[ORM\Column(type'binary'nullabletrue)]
  45.     private $credit_card_cvc null;
  46.     #[ORM\Column(type'string'length255nullabletrue)]
  47.     private ?string $paypal_token null;
  48.     #[ORM\Column(type'string'length255nullabletrue)]
  49.     private ?string $google_token null;
  50.     #[ORM\Column(type'datetime')]
  51.     private ?\DateTimeInterface $created_at null;
  52.     #[ORM\Column(type'datetime')]
  53.     private ?\DateTimeInterface $updated_at null;
  54.     #[ORM\Column(type'boolean')]
  55.     private bool $is_active true// Hinzugefügtes Feld für Aktivstatus
  56.     #[ORM\OneToMany(targetEntityTicket::class, mappedBy'user'cascade: ['persist''remove'])]
  57.     private Collection $tickets;
  58.     private ?string $plainPassword null;
  59.     // Füge einen Konstruktor hinzu, um die Tickets-Collection zu initialisieren
  60.     public function __construct()
  61.     {
  62.         $this->tickets = new ArrayCollection();
  63.     }
  64.     public function getPlainPassword(): ?string
  65.     {
  66.         return $this->plainPassword;
  67.     }
  68.     public function setPlainPassword(?string $plainPassword): self
  69.     {
  70.         $this->plainPassword $plainPassword;
  71.         return $this;
  72.     }
  73.     // Getters and Setters for all fields
  74.     public function getId(): ?int
  75.     {
  76.         return $this->id;
  77.     }
  78.     public function getName(): ?string
  79.     {
  80.         return $this->name;
  81.     }
  82.     public function setName(string $name): self
  83.     {
  84.         $this->name $name;
  85.         return $this;
  86.     }
  87.     public function getLastname(): ?string
  88.     {
  89.         return $this->lastname;
  90.     }
  91.     public function setLastname(string $lastname): self
  92.     {
  93.         $this->lastname $lastname;
  94.         return $this;
  95.     }
  96.     public function getEmail(): ?string
  97.     {
  98.         return $this->email;
  99.     }
  100.     public function setEmail(string $email): self
  101.     {
  102.         $this->email $email;
  103.         return $this;
  104.     }
  105.     public function getRoles(): array
  106.     {
  107.         return [$this->roles];
  108.     }
  109.     public function setRoles(array $roles): self
  110.     {
  111.         $this->roles $roles[0] ?? 'ROLE_USER';
  112.         return $this;
  113.     }
  114.     public function getPassword(): ?string
  115.     {
  116.         return $this->password;
  117.     }
  118.     public function setPassword(?string $password): self
  119.     {
  120.         $this->password $password;
  121.         return $this;
  122.     }
  123.     public function getLanguage(): ?string
  124.     {
  125.         return $this->language;
  126.     }
  127.     public function setLanguage(string $language): self
  128.     {
  129.         $this->language $language;
  130.         return $this;
  131.     }
  132.     public function getStreet(): ?string
  133.     {
  134.         return $this->street;
  135.     }
  136.     public function setStreet(?string $street): self
  137.     {
  138.         $this->street $street;
  139.         return $this;
  140.     }
  141.     public function getCity(): ?string
  142.     {
  143.         return $this->city;
  144.     }
  145.     public function setCity(?string $city): self
  146.     {
  147.         $this->city $city;
  148.         return $this;
  149.     }
  150.     public function getPostalCode(): ?string
  151.     {
  152.         return $this->postal_code;
  153.     }
  154.     public function setPostalCode(?string $postal_code): self
  155.     {
  156.         $this->postal_code $postal_code;
  157.         return $this;
  158.     }
  159.     public function getCountry(): ?string
  160.     {
  161.         return $this->country;
  162.     }
  163.     public function setCountry(?string $country): self
  164.     {
  165.         $this->country $country;
  166.         return $this;
  167.     }
  168.     public function getPaymentMethod(): ?string
  169.     {
  170.         return $this->payment_method;
  171.     }
  172.     public function setPaymentMethod(string $payment_method): self
  173.     {
  174.         $this->payment_method $payment_method;
  175.         return $this;
  176.     }
  177.     public function getCreditCardNumber()
  178.     {
  179.         return $this->credit_card_number;
  180.     }
  181.     public function setCreditCardNumber($credit_card_number): self
  182.     {
  183.         $this->credit_card_number $credit_card_number;
  184.         return $this;
  185.     }
  186.     public function getCreditCardExpiry(): ?\DateTimeInterface
  187.     {
  188.         return $this->credit_card_expiry;
  189.     }
  190.     public function setCreditCardExpiry(?\DateTimeInterface $credit_card_expiry): self
  191.     {
  192.         $this->credit_card_expiry $credit_card_expiry;
  193.         return $this;
  194.     }
  195.     public function getCreditCardCvc()
  196.     {
  197.         return $this->credit_card_cvc;
  198.     }
  199.     public function setCreditCardCvc($credit_card_cvc): self
  200.     {
  201.         $this->credit_card_cvc $credit_card_cvc;
  202.         return $this;
  203.     }
  204.     public function getPaypalToken(): ?string
  205.     {
  206.         return $this->paypal_token;
  207.     }
  208.     public function setPaypalToken(?string $paypal_token): self
  209.     {
  210.         $this->paypal_token $paypal_token;
  211.         return $this;
  212.     }
  213.     public function getGoogleToken(): ?string
  214.     {
  215.         return $this->google_token;
  216.     }
  217.     public function setGoogleToken(?string $google_token): self
  218.     {
  219.         $this->google_token $google_token;
  220.         return $this;
  221.     }
  222.     public function getCreatedAt(): ?\DateTimeInterface
  223.     {
  224.         return $this->created_at;
  225.     }
  226.     public function setCreatedAt(\DateTimeInterface $createdAt): self
  227.     {
  228.         $this->created_at $createdAt;
  229.         return $this;
  230.     }
  231.     #[ORM\PrePersist]
  232.     public function setCreatedAtValue(): void
  233.     {
  234.         $this->created_at = new \DateTime();
  235.         $this->updated_at = new \DateTime();
  236.     }
  237.     #[ORM\PreUpdate]
  238.     public function setUpdatedAtValue(): void
  239.     {
  240.         $this->updated_at = new \DateTime();
  241.     }
  242.     public function getUpdatedAt(): ?\DateTimeInterface
  243.     {
  244.         return $this->updated_at;
  245.     }
  246.     public function setUpdatedAt(\DateTimeInterface $updatedAt): self
  247.     {
  248.         $this->updated_at $updatedAt;
  249.         return $this;
  250.     }
  251.     public function getIsActive(): bool
  252.     {
  253.         return $this->is_active;
  254.     }
  255.     public function setIsActive(bool $isActive): self
  256.     {
  257.         $this->is_active $isActive;
  258.         return $this;
  259.     }
  260.     public function getUserIdentifier(): string
  261.     {
  262.         return $this->email;
  263.     }
  264.     public function eraseCredentials(): void
  265.     {
  266.         // Sensible Daten löschen, falls vorhanden.
  267.     }
  268.     public function getSalt(): ?string
  269.     {
  270.         return null;
  271.     }
  272.     /**
  273.      * @return Collection<int, Ticket>
  274.      */
  275.     public function getTickets(): Collection
  276.     {
  277.         return $this->tickets;
  278.     }
  279.     public function addTicket(Ticket $ticket): self
  280.     {
  281.         if (!$this->tickets->contains($ticket)) {
  282.             $this->tickets[] = $ticket;
  283.             $ticket->setUser($this);
  284.         }
  285.         return $this;
  286.     }
  287.     public function removeTicket(Ticket $ticket): self
  288.     {
  289.         if ($this->tickets->removeElement($ticket)) {
  290.             // Set the owning side to null (unless already changed)
  291.             if ($ticket->getUser() === $this) {
  292.                 $ticket->setUser(null);
  293.             }
  294.         }
  295.         return $this;
  296.     }
  297. }