<?php
declare(strict_types=1);
namespace Slivki\Message\Query\Beauty\Offer;
use Slivki\Messenger\Query\QueryInterface;
use Slivki\ValueObject\Coordinate;
final class GetMastersWithFilterQuery implements QueryInterface
{
private int $offerId;
private int $page;
private int $perPage;
private ?int $level;
private ?Coordinate $currentUserPosition;
public function __construct(int $offerId, int $page, int $perPage, ?int $level, ?Coordinate $currentUserPosition = null)
{
$this->offerId = $offerId;
$this->page = $page;
$this->perPage = $perPage;
$this->level = $level;
$this->currentUserPosition = $currentUserPosition;
}
public function getOfferId(): int
{
return $this->offerId;
}
public function getPage(): int
{
return $this->page;
}
public function getPerPage(): int
{
return $this->perPage;
}
public function getLevel(): ?int
{
return $this->level;
}
public function getCurrentUserPosition(): ?Coordinate
{
return $this->currentUserPosition;
}
}