<?php

namespace FSPoster\App\Pages\Settings\Workflow\DTOs\Request;

class WorkflowLogRequest
{
    private ?int $workflowActionId = null;
    private int $workflowId;
    private string $when;
    private string $driver;
    private ?string $data = null;
    private ?string $eventData = null;
    private ?string $plannedAt = null;
    private ?string $executedAt = null;
    private int $attemptCount = 0;
    private ?string $requestData = null;
    private ?string $responseData = null;
    private string $status;
    private ?string $errorMsg = null;

    public function getWorkflowActionId(): ?int
    {
        return $this->workflowActionId;
    }

    public function setWorkflowActionId(?int $workflowActionId): void
    {
        $this->workflowActionId = $workflowActionId;
    }

    public function getWorkflowId(): int
    {
        return $this->workflowId;
    }

    public function setWorkflowId(int $workflowId): void
    {
        $this->workflowId = $workflowId;
    }

    public function getWhen(): string
    {
        return $this->when;
    }

    public function setWhen(string $when): void
    {
        $this->when = $when;
    }

    public function getDriver(): string
    {
        return $this->driver;
    }

    public function setDriver(string $driver): void
    {
        $this->driver = $driver;
    }

    public function getRequestData(): ?string
    {
        return $this->requestData;
    }

    public function setRequestData(?string $requestData): void
    {
        $this->requestData = $requestData;
    }

    public function getResponseData(): ?string
    {
        return $this->responseData;
    }

    public function setResponseData(?string $responseData): void
    {
        $this->responseData = $responseData;
    }

    public function getData(): ?string
    {
        return $this->data;
    }

    public function setData(?string $data): void
    {
        $this->data = $data;
    }

    public function getEventData(): ?string
    {
        return $this->eventData;
    }

    public function setEventData(?string $eventData): void
    {
        $this->eventData = $eventData;
    }

    public function getPlannedAt(): ?string
    {
        return $this->plannedAt;
    }

    public function setPlannedAt(?string $plannedAt): void
    {
        $this->plannedAt = $plannedAt;
    }

    public function getExecutedAt(): ?string
    {
        return $this->executedAt;
    }

    public function setExecutedAt(?string $executedAt): void
    {
        $this->executedAt = $executedAt;
    }

    public function getAttemptCount(): int
    {
        return $this->attemptCount;
    }

    public function setAttemptCount(int $attemptCount): void
    {
        $this->attemptCount = $attemptCount;
    }

    public function getStatus(): string
    {
        return $this->status;
    }

    public function setStatus(string $status): void
    {
        $this->status = $status;
    }

    public function getErrorMsg(): ?string
    {
        return $this->errorMsg;
    }

    public function setErrorMsg(?string $errorMsg): void
    {
        $this->errorMsg = $errorMsg;
    }
}
