<?php

declare(strict_types=1);

namespace App\ApiResources\Dolibarr;

use ApiPlatform\Metadata\ApiProperty;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use App\ApiResources\ApiResourcesInterface;
use Symfony\Component\Serializer\Annotation\Groups;

/**
 * Order of a society, retrieved from dolibarr.
 */
#[ApiResource(
    operations: [
        new Get(),
    ]
)]
class DolibarrOrder implements ApiResourcesInterface
{
    /**
     * Id of the dolibarr bill ( = invoice).
     */
    #[ApiProperty(identifier: true)]
    #[Groups('dolibarr_get')]
    private int $id;

    /**
     * Bill reference.
     */
    #[Groups('dolibarr_get')]
    private string $ref;

    /**
     * Date of the bill.
     */
    #[Groups('dolibarr_get')]
    private \DateTime $date;

    public function getId(): int
    {
        return $this->id;
    }

    public function setId(int $id): self
    {
        $this->id = $id;

        return $this;
    }

    public function getRef(): string
    {
        return $this->ref;
    }

    public function setRef(string $ref): self
    {
        $this->ref = $ref;

        return $this;
    }

    public function getDate(): \DateTime
    {
        return $this->date;
    }

    public function setDate(\DateTime $date): self
    {
        $this->date = $date;

        return $this;
    }
}
