<?php

namespace App\Browser\Jobs\InstagramRepost;

use DateTimeImmutable;

class YTDLPVideo implements IInstagramVideo
{
    private string $url;
    private string $title;
    private string $description;
    private ?DateTimeImmutable $postDate;
    private string $fileName;

    public function __construct(string $url, string $title, string $description, ?DateTimeImmutable $postDate, string $filename)
    {
        $this->url = $url;
        $this->title = $title;
        $this->description = $description;
        $this->postDate = $postDate;
        $this->fileName = $filename;
    }

    /**
     * @inheritDoc
     */
    public function getUrl(): string
    {
        return $this->url;
    }

    /**
     * @inheritDoc
     */
    public function getTitle(): string
    {
        return $this->title;
    }

    /**
     * @inheritDoc
     */
    public function getDescription(): string
    {
        return $this->description;
    }

    /**
     * @inheritDoc
     */
    public function getPostDate(): ?DateTimeImmutable
    {
        return $this->postDate;
    }

    /**
     * @inheritDoc
     */
    public function getFilename(): string
    {
        return $this->fileName;
    }

    /**
     * @inheritDoc
     */
    public function setFilename(string $filename): void
    {
        $this->fileName = $filename;
    }
}
