<?php

namespace App\Modules\HR\Overtime\Support;

final class OvertimeRequestStatus
{
    public const PENDING = 'pending';

    public const APPROVED = 'approved';

    public const REJECTED = 'rejected';

    public const CANCELLED = 'cancelled';

    /**
     * @return list<string>
     */
    public static function all(): array
    {
        return [self::PENDING, self::APPROVED, self::REJECTED, self::CANCELLED];
    }

    /**
     * Statuses that block another request for the same employee + date.
     *
     * @return list<string>
     */
    public static function blocking(): array
    {
        return [self::PENDING, self::APPROVED];
    }
}
