<?phpnamespace Wits\PaymentBundle\Entity;use App\Entity\User;use DateTime;use Doctrine\ORM\Mapping as ORM;/** * @ORM\Entity(repositoryClass=Wits\PaymentBundle\Repository\PaymentMethodRepository::class) */class PaymentMethod{ /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private int $id; /** * @ORM\Column(type="string", length=10) */ private string $type; /** * @ORM\Column(type="string", length=255, nullable=true) */ private ?string $stripeId=null; /** * @ORM\Column(type="string", length=255, nullable=true) */ private ?string $description=null; /** * @ORM\ManyToOne(targetEntity=User::class, inversedBy="paymentMethods") * @ORM\JoinColumn(nullable=false) */ private User $user; /** * @ORM\Column(type="datetime", nullable=true) * @var DateTime|null */ private ?DateTime $expireAt=null; /** * @ORM\Column(type="datetime", nullable=true) * @var DateTime|null */ private ?DateTime $userNotifiedOfExpirationAt=null; /** * @var boolean * @ORM\Column(type="boolean", options={"default" : true}) */ private bool $valid=true; public function getLabel(): string { return $this->type . ' | ' . $this->stripeId; } public function getId(): ?int { return $this->id; } public function getType(): ?string { return $this->type; } public function setType(string $type): self { $this->type = $type; return $this; } public function getStripeId(): ?string { return $this->stripeId; } public function setStripeId(?string $stripeId): self { $this->stripeId = $stripeId; return $this; } public function getUser(): ?User { return $this->user; } public function setUser(?User $user): self { $this->user = $user; return $this; } public function getDescription(): ?string { return $this->description; } /** * @param mixed $description */ public function setDescription($description): void { $this->description = $description; } public function getExpireAt(): ?DateTime { return $this->expireAt; } public function setExpireAt(?DateTime $expireAt): void { $this->expireAt = $expireAt; } public function getUserNotifiedOfExpirationAt(): ?DateTime { return $this->userNotifiedOfExpirationAt; } public function setUserNotifiedOfExpirationAt(?DateTime $userNotifiedOfExpirationAt): void { $this->userNotifiedOfExpirationAt = $userNotifiedOfExpirationAt; } public function isValid(): bool { return $this->valid; } public function expire(): void { $this->valid = false; }}