<?php

declare(strict_types=1);

namespace App\Enums;

/**
 * Internal risk classification. Never serialised into a non-admin response.
 */
enum RiskLevel: string
{
    case Low = 'low';
    case Medium = 'medium';
    case High = 'high';
    case Blocked = 'blocked';

    /** Whether marketplace actions should be halted outright. */
    public function isBlocking(): bool
    {
        return $this === self::Blocked;
    }

    /** Whether actions should be allowed but queued for manual review. */
    public function requiresReview(): bool
    {
        return in_array($this, [self::High, self::Blocked], true);
    }
}
