<?php

namespace App\Domain\HR\Enums;

enum CompensationType: string
{
    case SessionPay = 'session_pay';
    case GroupPay = 'group_pay';
    case PlayerPay = 'player_pay';
    case RevenueShare = 'revenue_share';
    case Bonus = 'bonus';
    case Penalty = 'penalty';
    case Overtime = 'overtime';
    case Substitute = 'substitute';
    case CancelledSession = 'cancelled_session';

    public function label(): string
    {
        return match($this) {
            self::SessionPay => 'أجر حصة',
            self::GroupPay => 'أجر مجموعة',
            self::PlayerPay => 'أجر لاعب',
            self::RevenueShare => 'حصة إيرادات',
            self::Bonus => 'مكافأة',
            self::Penalty => 'خصم',
            self::Overtime => 'عمل إضافي',
            self::Substitute => 'حصة بديلة',
            self::CancelledSession => 'حصة ملغاة',
        };
    }

    public function isEarning(): bool
    {
        return $this !== self::Penalty;
    }
}
