vendor/crosiersource/crosierlib-base/src/Entity/Config/PushMessage.php line 46

Open in your IDE?
  1. <?php
  2. namespace CrosierSource\CrosierLibBaseBundle\Entity\Config;
  3. use ApiPlatform\Core\Annotation\ApiFilter;
  4. use ApiPlatform\Core\Annotation\ApiResource;
  5. use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\OrderFilter;
  6. use ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\SearchFilter;
  7. use CrosierSource\CrosierLibBaseBundle\Doctrine\Annotations\EntityHandler;
  8. use CrosierSource\CrosierLibBaseBundle\Doctrine\Annotations\NotUppercase;
  9. use CrosierSource\CrosierLibBaseBundle\Entity\EntityId;
  10. use CrosierSource\CrosierLibBaseBundle\Entity\EntityIdTrait;
  11. use Doctrine\ORM\Mapping as ORM;
  12. use Symfony\Component\Serializer\Annotation\Groups;
  13. /**
  14.  * @ApiResource(
  15.  *     normalizationContext={"groups"={"entity","entityId"},"enable_max_depth"=true},
  16.  *     denormalizationContext={"groups"={"entity"},"enable_max_depth"=true},
  17.  *
  18.  *     itemOperations={
  19.  *          "get"={"path"="/core/config/pushMessage/{id}"},
  20.  *          "put"={"path"="/core/config/pushMessage/{id}", "security"="is_granted('ROLE_ADMIN')"},
  21.  *          "delete"={"path"="/core/config/pushMessage/{id}", "security"="is_granted('ROLE_ADMIN')"}
  22.  *     },
  23.  *     collectionOperations={
  24.  *          "get"={"path"="/core/config/pushMessage"},
  25.  *          "post"={"path"="/core/config/pushMessage", "security"="is_granted('ROLE_ADMIN')"}
  26.  *     },
  27.  *
  28.  *     attributes={
  29.  *          "pagination_items_per_page"=10,
  30.  *          "formats"={"jsonld", "csv"={"text/csv"}}
  31.  *     }
  32.  * )
  33.  *
  34.  * @ApiFilter(SearchFilter::class, properties={"userDestinatarioId": "exact"})
  35.  * @ApiFilter(OrderFilter::class, properties={"id", "updated"}, arguments={"orderParameterName"="order"})
  36.  *
  37.  * @EntityHandler(entityHandlerClass="CrosierSource\CrosierLibBaseBundle\EntityHandler\Config\PushMessageEntityHandler")
  38.  * @ORM\Entity(repositoryClass="CrosierSource\CrosierLibBaseBundle\Repository\Config\PushMessageRepository")
  39.  * @ORM\Table(name="cfg_pushmessage")
  40.  *
  41.  * @author Carlos Eduardo Pauluk
  42.  */
  43. class PushMessage implements EntityId
  44. {
  45.     use EntityIdTrait;
  46.     /**
  47.      *
  48.      * @ORM\Column(name="mensagem", type="string", nullable=false, length=200)
  49.      * @Groups("entity")
  50.      * @NotUppercase()
  51.      *
  52.      * @var null|string
  53.      */
  54.     public ?string $mensagem null;
  55.     /**
  56.      *
  57.      * @ORM\Column(name="url", type="string", nullable=true, length=2000)
  58.      * @Groups("entity")
  59.      * @NotUppercase()
  60.      *
  61.      * @var null|string
  62.      */
  63.     public ?string $url null;
  64.     /**
  65.      * @ORM\Column(name="user_destinatario_id", type="bigint", nullable=false)
  66.      * @Groups("entity")
  67.      *
  68.      * @var null|integer
  69.      */
  70.     public ?int $userDestinatarioId null;
  71.     /**
  72.      * Data em que a mensagem foi enviada.
  73.      *
  74.      * @ORM\Column(name="dt_envio", type="datetime", nullable=false)
  75.      * @Groups("entity")
  76.      *
  77.      * @var null|\DateTime
  78.      */
  79.     public ?\DateTime $dtEnvio null;
  80.     /**
  81.      * Data em que a mensagem foi exibida na notificação.
  82.      *
  83.      * @ORM\Column(name="dt_notif", type="datetime", nullable=true)
  84.      * @Groups("entity")
  85.      *
  86.      * @var null|\DateTime
  87.      */
  88.     public ?\DateTime $dtNotif null;
  89.     /**
  90.      * Data em que a mensagem foi aberta na tela de mensagens.
  91.      *
  92.      * @ORM\Column(name="dt_abert", type="datetime", nullable=true)
  93.      * @Groups("entity")
  94.      *
  95.      * @var null|\DateTime
  96.      */
  97.     public ?\DateTime $dtAbert null;
  98.     /**
  99.      * Data de validade da mensagem (após essa data, ela não é mais notificada).
  100.      *
  101.      * @ORM\Column(name="dt_validade", type="datetime", nullable=true)
  102.      * @Groups("entity")
  103.      *
  104.      * @var null|\DateTime
  105.      */
  106.     public ?\DateTime $dtValidade null;
  107.     /**
  108.      *
  109.      * @ORM\Column(name="params", type="string", nullable=true, length=5000)
  110.      * @Groups("entity")
  111.      *
  112.      * @var null|string
  113.      */
  114.     public ?string $params null;
  115. }