<?php

namespace App\Data\Moderation;

class ModerationSuggestionData
{
    /**
     * @param array<string, mixed> $rawResponse
     * @param array<int, string> $campaignTags
     */
    public function __construct(
        public readonly string $provider,
        public readonly ?string $suggestedLabel = null,
        public readonly ?string $suggestedAction = null,
        public readonly ?int $confidence = null,
        public readonly ?string $explanation = null,
        public readonly array $campaignTags = [],
        public readonly array $rawResponse = [],
    ) {
    }

    public function isEmpty(): bool
    {
        return $this->suggestedLabel === null
            && $this->suggestedAction === null
            && $this->confidence === null
            && $this->explanation === null;
    }
}