vendor/crosiersource/crosierlib-radx/src/Entity/Fiscal/NotaFiscalCartaCorrecao.php line 58

Open in your IDE?
  1. <?php
  2. namespace CrosierSource\CrosierLibRadxBundle\Entity\Fiscal;
  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 ApiPlatform\Core\Serializer\Filter\PropertyFilter;
  8. use CrosierSource\CrosierLibBaseBundle\Doctrine\Annotations\EntityHandler;
  9. use CrosierSource\CrosierLibBaseBundle\Doctrine\Annotations\NotUppercase;
  10. use CrosierSource\CrosierLibBaseBundle\Entity\EntityId;
  11. use CrosierSource\CrosierLibBaseBundle\Entity\EntityIdTrait;
  12. use Symfony\Component\Serializer\Annotation\Groups;
  13. use DateTime;
  14. use Doctrine\ORM\Mapping as ORM;
  15. /**
  16.  * @ApiResource(
  17.  *     normalizationContext={"groups"={"notaFiscalCartaCorrecao","entityId"},"enable_max_depth"=true},
  18.  *     denormalizationContext={"groups"={"notaFiscalCartaCorrecao"},"enable_max_depth"=true},
  19.  *
  20.  *     itemOperations={
  21.  *          "get"={"path"="/fis/notaFiscalCartaCorrecao/{id}", "security"="is_granted('ROLE_FISCAL')"},
  22.  *          "put"={"path"="/fis/notaFiscalCartaCorrecao/{id}", "security"="is_granted('ROLE_FISCAL')"},
  23.  *          "delete"={"path"="/fis/notaFiscalCartaCorrecao/{id}", "security"="is_granted('ROLE_ADMIN')"}
  24.  *     },
  25.  *     collectionOperations={
  26.  *          "get"={"path"="/fis/notaFiscalCartaCorrecao", "security"="is_granted('ROLE_FISCAL')"},
  27.  *          "post"={"path"="/fis/notaFiscalCartaCorrecao", "security"="is_granted('ROLE_FISCAL')"}
  28.  *     },
  29.  *
  30.  *     attributes={
  31.  *          "pagination_items_per_page"=10,
  32.  *          "formats"={"jsonld", "csv"={"text/csv"}}
  33.  *     }
  34.  * )
  35.  * @ApiFilter(PropertyFilter::class)
  36.  *
  37.  * @ApiFilter(SearchFilter::class, properties={
  38.  *     "id": "exact",
  39.  *     "notaFiscal": "exact",
  40.  *     "cartaCorrecao": "partial"
  41.  * })
  42.  * 
  43.  * @ApiFilter(OrderFilter::class, properties={
  44.  *     "id",
  45.  *     "updated",
  46.  *     "seq", 
  47.  *     "dtCartaCorrecao" 
  48.  * }, arguments={"orderParameterName"="order"})
  49.  *
  50.  * @EntityHandler(entityHandlerClass="CrosierSource\CrosierLibRadxBundle\EntityHandler\Fiscal\NotaFiscalCartaCorrecaoEntityHandler")
  51.  *
  52.  * @ORM\Entity(repositoryClass="CrosierSource\CrosierLibRadxBundle\Repository\Fiscal\NotaFiscalCartaCorrecaoRepository")
  53.  * @ORM\Table(name="fis_nf_cartacorrecao")
  54.  */
  55. class NotaFiscalCartaCorrecao implements EntityId
  56. {
  57.     use EntityIdTrait;
  58.     /**
  59.      * @ORM\ManyToOne(targetEntity="CrosierSource\CrosierLibRadxBundle\Entity\Fiscal\NotaFiscal", inversedBy="itens")
  60.      * @ORM\JoinColumn(name="nota_fiscal_id")
  61.      * @Groups("notaFiscalCartaCorrecao")
  62.      * @var $notaFiscal null|NotaFiscal
  63.      */
  64.     public ?NotaFiscal $notaFiscal null;
  65.     /**
  66.      * @NotUppercase()
  67.      * @ORM\Column(name="carta_correcao", type="string", nullable=true)
  68.      * @var null|string
  69.      * @Groups("notaFiscalCartaCorrecao")
  70.      */
  71.     public ?string $cartaCorrecao null;
  72.     /**
  73.      * @Groups("notaFiscalCartaCorrecao")
  74.      * @ORM\Column(name="seq", type="integer", nullable=true)
  75.      * @var null|int
  76.      */
  77.     public ?int $seq null;
  78.     /**
  79.      * @Groups("notaFiscalCartaCorrecao")
  80.      * @ORM\Column(name="dt_carta_correcao", type="datetime", nullable=false)
  81.      * @var null|DateTime
  82.      */
  83.     public ?DateTime $dtCartaCorrecao null;
  84.     /**
  85.      * @NotUppercase()
  86.      * @ORM\Column(name="msg_retorno", type="string", nullable=true)
  87.      * @var null|string
  88.      * @Groups("notaFiscalCartaCorrecao")
  89.      */
  90.     public ?string $msgRetorno null;
  91. }