vendor/nellapp/sdk-bundle/src/Permission/Entity/AbstractChannelUserResourcePermission.php line 17

Open in your IDE?
  1. <?php
  2. namespace Nellapp\Bundle\SDKBundle\Permission\Entity;
  3. use DrosalysWeb\ObjectExtensions\Blame\Model\BlameInterface;
  4. use DrosalysWeb\ObjectExtensions\Blame\Model\BlameTrait;
  5. use DrosalysWeb\ObjectExtensions\Timestamp\Model\TimestampInterface;
  6. use DrosalysWeb\ObjectExtensions\Timestamp\Model\TimestampTrait;
  7. use Doctrine\ORM\Mapping as ORM;
  8. use Nellapp\Bundle\SDKBundle\Channel\Entity\ChannelUserData\AdminChannelUserDataInterface;
  9. use Symfony\Component\Serializer\Annotation as Serial;
  10. #[ORM\MappedSuperclass]
  11. #[
  12. ORM\UniqueConstraint(fields: ['channelUserData', 'resource']),
  13. ]
  14. abstract class AbstractChannelUserResourcePermission implements TimestampInterface, BlameInterface, ChannelPermissionResourceInterface
  15. {
  16. use ChannelUserPermissionMethodTrait;
  17. use BlameTrait;
  18. use TimestampTrait;
  19. #[ORM\Column(type: 'simple_array', nullable: true)]
  20. #[Serial\Groups(['Sync'])]
  21. private ?array $perms = [];
  22. #[ORM\Column(type: 'datetime', nullable: true)]
  23. #[Serial\Groups(['Sync'])]
  24. private ?\DateTimeInterface $expireAt = null;
  25. #[ORM\Column(type: 'datetime', nullable: true)]
  26. #[Serial\Groups(['Sync'])]
  27. private ?\DateTimeInterface $startAt = null;
  28. protected ?AdminChannelUserDataInterface $channelUserData = null; // Leave doctrine mapping to apps
  29. protected ?ChannelResourceInterface $resource = null; // Leave doctrine mapping to apps
  30. public function getId(): ?string
  31. {
  32. return $this->id;
  33. }
  34. public function setId(?string $id): AbstractChannelUserResourcePermission
  35. {
  36. $this->id = $id;
  37. return $this;
  38. }
  39. public function getChannelUserData(): ?AdminChannelUserDataInterface
  40. {
  41. return $this->channelUserData;
  42. }
  43. public function setChannelUserData(?AdminChannelUserDataInterface $channelUserData): static
  44. {
  45. $this->channelUserData = $channelUserData;
  46. return $this;
  47. }
  48. public function getResource(): ?ChannelResourceInterface
  49. {
  50. return $this->resource;
  51. }
  52. public function setResource(?ChannelResourceInterface $resource): static
  53. {
  54. $this->resource = $resource;
  55. return $this;
  56. }
  57. }