<?php

declare(strict_types=1);

namespace App\ApiResource;

use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\GetCollection;
use App\State\EmployeeLeaveRecapProvider;

#[ApiResource(
    operations: [
        new GetCollection(
            uriTemplate: '/leave-recap',
            paginationEnabled: false,
            security: "is_granted('ROLE_USER')",
            provider: EmployeeLeaveRecapProvider::class,
        ),
    ],
)]
final class EmployeeLeaveRecap
{
    public int $employeeId           = 0;
    public string $lastName          = '';
    public string $firstName         = '';
    public ?int $siteId              = null;
    public ?string $siteName         = null;
    public ?string $siteColor        = null;
    public ?string $contractName     = null;
    public int $contractSortKey      = 99;
    public float $cpN1Remaining      = 0.0;
    public string $cpN               = '-';
    public string $acquiredSaturdays = '-';
    public string $rtt               = '-';
    public string $cutoffDate        = '';
}
