<?php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=App\Repository\SurveyCompanyTokenRepository::class)
* @ORM\HasLifecycleCallbacks()
*/
#[ApiResource(
attributes: ['security' => "is_granted('ROLE_USER')"],
normalizationContext: ['groups' => ['surveyCompanyToken:read']],
denormalizationContext: ['groups' => ['surveyCompanyToken:write']],
collectionOperations: [
'get',
'post' => [
'security' => "is_granted('ROLE_ADMIN')",
],
],
itemOperations: [
'get',
'put' => ['security' => "is_granted('ROLE_ADMIN') or object.owner == user"],
],
)]
class SurveyCompanyToken
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
public $id;
/**
* @var Token
*
* @ORM\ManyToOne(targetEntity=Token::class, inversedBy="surveyCompanyTokens")
* @ORM\JoinColumn(nullable=false)
* @Groups({"surveyCompanyToken:read", "surveyCompanyToken:write","surveyComapany:item", "surveyComapany:write","pinpointCampaign:list"})
*/
public $token;
/**
* @var string
*
* @ORM\Column(type="string", length=128)
* @Groups({"surveyCompanyToken:read", "surveyCompanyToken:write","surveyComapany:item", "surveyComapany:write","pinpointCampaign:list"})
*/
public $replaceValue;
/**
* @ORM\ManyToOne(targetEntity=SurveyCompany::class, inversedBy="surveyCompanyTokens")
* @ORM\JoinColumn(nullable=false)
* @Groups({"surveyCompanyToken:read", "surveyCompanyToken:write","surveyComapany:item", "surveyComapany:write"})
*/
private $surveyCompany;
public function __construct()
{
}
public function __toString(): string
{
return ($this->getToken()) ? $this->getToken()->getName() : '';
}
public function getId(): ?int
{
return $this->id;
}
public function getToken(): ?Token
{
return $this->token;
}
public function setToken(?Token $token): self
{
$this->token = $token;
return $this;
}
public function getReplaceValue(): ?string
{
return $this->replaceValue;
}
public function setReplaceValue(string $replaceValue): self
{
$this->replaceValue = $replaceValue;
return $this;
}
public function getSurveyCompany(): ?SurveyCompany
{
return $this->surveyCompany;
}
public function setSurveyCompany(?SurveyCompany $surveyCompany): self
{
$this->surveyCompany = $surveyCompany;
return $this;
}
}