<?phpnamespace App\Entity;use App\Dto\Creator\Analytics\AgesAnalyticsDto;use App\Dto\Creator\Analytics\AgeItemDto;use App\Dto\Creator\Analytics\GendersAnalyticsDto;use App\Dto\Creator\Analytics\LocationsAnalyticsDto;use App\Dto\Creator\Analytics\LocationItemDto;use App\Dto\Creator\Analytics\SubscribersAnalyticsDto;use App\Dto\Creator\Analytics\ViewersAnalyticsDto;use App\Repository\ScrapingCreatorsDataRepository;use Doctrine\ORM\Mapping as ORM;use Doctrine\DBAL\Types\Types;#[ORM\Entity(repositoryClass: ScrapingCreatorsDataRepository::class)]class AnalyticsCreatorsData{ #[ORM\Id] #[ORM\OneToOne(inversedBy: 'analytics', targetEntity: Creator::class)] #[ORM\JoinColumn(name: 'id', referencedColumnName: 'id', nullable: false, onDelete: 'CASCADE')] private Creator $creator; #[ORM\Column(type: Types::JSON)] private array $subscribers = []; #[ORM\Column(type: Types::JSON)] private array $viewers = []; #[ORM\Column(type: Types::JSON)] private array $gendersBySubscribers = []; #[ORM\Column(type: Types::JSON)] private array $gendersByViewers = []; #[ORM\Column(type: Types::JSON)] private array $agesBySubscribers = []; #[ORM\Column(type: Types::JSON)] private array $agesByViewers = []; #[ORM\Column(type: Types::JSON)] private array $locationsBySubscribers = []; #[ORM\Column(type: Types::JSON)] private array $locationsByViewers = []; public function getCreator(): Creator { return $this->creator; } public function setCreator(Creator $creator): self { $this->creator = $creator; return $this; } public function getSubscribers(): ?SubscribersAnalyticsDto { return SubscribersAnalyticsDto::fromArray($this->subscribers); } public function getViewers(): ?ViewersAnalyticsDto { return ViewersAnalyticsDto::fromArray($this->viewers); } public function setSubscribers(SubscribersAnalyticsDto $dto): self { $this->subscribers = $dto->toArray(); return $this; } public function setViewers(ViewersAnalyticsDto $dto): self { $this->viewers = $dto->toArray(); return $this; } public function getGendersBySubscribers(): ?GendersAnalyticsDto { return GendersAnalyticsDto::fromArray($this->gendersBySubscribers); } public function getGendersByViewers(): ?GendersAnalyticsDto { return GendersAnalyticsDto::fromArray($this->gendersByViewers); } public function setGendersBySubscribers(GendersAnalyticsDto $dto): self { $this->gendersBySubscribers = $dto->toArray(); return $this; } public function setGendersByViewers(GendersAnalyticsDto $dto): self { $this->gendersByViewers = $dto->toArray(); return $this; } public function getAgesBySubscribers(): ?AgesAnalyticsDto { return AgesAnalyticsDto::fromArray($this->agesBySubscribers); } public function getAgesByViewers(): ?AgesAnalyticsDto { return AgesAnalyticsDto::fromArray($this->agesByViewers); } public function setAgesBySubscribers(AgesAnalyticsDto $dto): self { $this->agesBySubscribers = $dto->toArray(); return $this; } public function setAgesByViewers(AgesAnalyticsDto $dto): self { $this->agesByViewers = $dto->toArray(); return $this; } public function getLocationsByViewers(): ?LocationsAnalyticsDto { return LocationsAnalyticsDto::fromArray($this->locationsByViewers); } public function getLocationsBySubscribers(): ?LocationsAnalyticsDto { return LocationsAnalyticsDto::fromArray($this->locationsBySubscribers); } public function setLocationsBySubscribers(LocationsAnalyticsDto $dto): self { $this->locationsBySubscribers = $dto->toArray(); return $this; } public function setLocationsByViewers(LocationsAnalyticsDto $dto): self { $this->locationsByViewers = $dto->toArray(); return $this; }}