Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
digitalascetic/notifications / Entity / NotifiableTrait.php
Size: Mime:
<?php


namespace DigitalAscetic\NotificationsBundle\Entity;


use Doctrine\ORM\Mapping as ORM;

trait NotifiableTrait
{
    /**
     * @var string|null $notificationTopics
     *
     * @ORM\Column(name="notificationTopics", type="string", nullable=true)
     */
    #[ORM\Column(name: "notificationTopics", type: "string", nullable: "true")]
    protected ?string $notificationTopics = null;

    public function hasNotificationTopic(int $notification): bool
    {
        return (($this->notificationTopics & $notification) === $notification);
    }

    /**
     * @return string|null
     */
    public function getNotificationTopics(): ?string
    {
        return $this->notificationTopics;
    }

    /**
     * @param string $notificationTopics
     */
    public function setNotificationTopics(string $notificationTopics): void
    {
        if ($this->hasNotificationTopic($notificationTopics) === false) {
            $this->notificationTopics = $this->notificationTopics | $notificationTopics;
        }
    }
}