src/Entity/Connection.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Security\Core\User\UserInterface;
  5. /**
  6.  * @ORM\Entity(repositoryClass="App\Repository\ConnectionRepository")
  7.  */
  8. class Connection implements UserInterface
  9. {
  10.     /**
  11.      * @ORM\Id()
  12.      * @ORM\GeneratedValue()
  13.      * @ORM\Column(type="integer")
  14.      */
  15.     private ?int $id;
  16.     /**
  17.      * @ORM\Column(name="client_id", type="string", length=255, nullable=true)
  18.      */
  19.     private ?string $clientId;
  20.     /**
  21.      * @ORM\Column(name="api_url", type="string", length=255, nullable=true)
  22.      */
  23.     private ?string $apiUrl;
  24.     /**
  25.      * @ORM\Column(name="api_key", type="string", length=255, nullable=true)
  26.      */
  27.     private ?string $apiKey;
  28.     /**
  29.      * @ORM\OneToOne (
  30.      *     targetEntity="App\Entity\AccountSettings",
  31.      *     mappedBy="connection",
  32.      *     orphanRemoval=true,
  33.      *     cascade={"remove"}
  34.      * )
  35.      */
  36.     private ?AccountSettings $accountSettings;
  37.     /**
  38.      * @return int|null
  39.      */
  40.     public function getId(): ?int
  41.     {
  42.         return $this->id;
  43.     }
  44.     /**
  45.      * @return string|null
  46.      */
  47.     public function getClientId(): ?string
  48.     {
  49.         return $this->clientId;
  50.     }
  51.     /**
  52.      * @param string|null $clientId
  53.      *
  54.      * @return Connection
  55.      */
  56.     public function setClientId(?string $clientId): self
  57.     {
  58.         $this->clientId $clientId;
  59.         return $this;
  60.     }
  61.     /**
  62.      * @return string|null
  63.      */
  64.     public function getApiUrl(): ?string
  65.     {
  66.         return $this->apiUrl;
  67.     }
  68.     /**
  69.      * @param string|null $apiUrl
  70.      *
  71.      * @return Connection
  72.      */
  73.     public function setApiUrl(?string $apiUrl): self
  74.     {
  75.         $this->apiUrl $apiUrl;
  76.         return $this;
  77.     }
  78.     /**
  79.      * @return string|null
  80.      */
  81.     public function getApiKey(): ?string
  82.     {
  83.         return $this->apiKey;
  84.     }
  85.     /**
  86.      * @param string|null $apiKey
  87.      *
  88.      * @return Connection
  89.      */
  90.     public function setApiKey(?string $apiKey): self
  91.     {
  92.         $this->apiKey $apiKey;
  93.         return $this;
  94.     }
  95.     /**
  96.      * Returns the user id used to authenticate the user.
  97.      *
  98.      * @return string clientId
  99.      */
  100.     public function getUsername()
  101.     {
  102.         return $this->clientId;
  103.     }
  104.     /**
  105.      * @return string|null
  106.      */
  107.     public function getCrmUrl(): ?string
  108.     {
  109.         return $this->apiUrl;
  110.     }
  111.     /**
  112.      * @param string|null $apiUrl
  113.      *
  114.      * @return Connection
  115.      */
  116.     public function setCrmUrl(?string $apiUrl): self
  117.     {
  118.         return $this->setApiUrl($apiUrl);
  119.     }
  120.     /**
  121.      * @return AccountSettings|null
  122.      */
  123.     public function getAccountSettings(): ?AccountSettings
  124.     {
  125.         return $this->accountSettings;
  126.     }
  127.     /**
  128.      * @param AccountSettings|null $accountSettings
  129.      */
  130.     public function setAccountSettings(?AccountSettings $accountSettings): void
  131.     {
  132.         $this->accountSettings $accountSettings;
  133.     }
  134.     /**
  135.      * The public representation of the user (e.g. a username, an email address, etc.)
  136.      *
  137.      * @see UserInterface
  138.      */
  139.     public function getUserIdentifier(): string
  140.     {
  141.         return (string) $this->clientId;
  142.     }
  143.     /**
  144.      * @see UserInterface
  145.      */
  146.     public function getRoles(): array
  147.     {
  148.         return ['ROLE_USER'];
  149.     }
  150.     /**
  151.      * Returns the password used to authenticate the user.
  152.      *
  153.      * This should be the encoded password. On authentication, a plain-text
  154.      * password will be salted, encoded, and then compared to this value.
  155.      *
  156.      * @return string|null The encoded password if any
  157.      */
  158.     public function getPassword(): ?string
  159.     {
  160.         return hash('ripemd160', (string)time());
  161.     }
  162.     /**
  163.      * Returning a salt is only needed, if you are not using a modern
  164.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  165.      *
  166.      * @see UserInterface
  167.      */
  168.     public function getSalt(): ?string
  169.     {
  170.         return null;
  171.     }
  172.     /**
  173.      * @see UserInterface
  174.      */
  175.     public function eraseCredentials(): void
  176.     {
  177.         // If you store any temporary, sensitive data on the user, clear it here
  178.         // $this->plainPassword = null;
  179.     }
  180. }