<?php

namespace App\Library\CampaignDecision;

use Illuminate\Support\Collection;

class CampaignPerformanceContext
{
    /**
     * @param  Collection<int, PerformanceDay>  $days
     * @param  Collection<int, PerformanceHour>  $hours
     * @param  array<string, mixed>  $affiliate
     * @param  array<string, mixed>  $capabilities
     * @param  array<string, array<string, mixed>>  $windows
     * @param  array<string, mixed>  $settings
     */
    public function __construct(
        public string $platform,
        public string $externalCampaignId,
        public int $userId,
        public ?string $accountId,
        public string $name,
        public ?float $dailyBudget,
        public ?string $platformStatus,
        public ?string $deliveryStatus,
        public ?string $startedAt,
        public int $campaignAgeDays,
        public bool $syncFailed,
        public ?string $syncError,
        public ?string $platformDataThrough,
        public Collection $days,
        public Collection $hours,
        public array $affiliate,
        public array $capabilities,
        public array $windows,
        public array $settings,
        public string $trigger,
    ) {}
}
