<?php

namespace App\Dto;

readonly class SnipFilterRequest implements CachableDtoInterface
{
    public const string VISIBILITY_ALL = 'all';
    public const string VISIBILITY_VISIBLE = 'visible';
    public const string VISIBILITY_HIDDEN = 'hidden';
    public const string VISIBILITY_ARCHIVED = 'archived';

    public const string SORT_NAME = 'name';
    public const string SORT_DATE = 'date';

    public const string TAG_ALL = 'all';
    public const string TAG_NONE = 'none';

    public function __construct(
        public ?string $visibility = self::VISIBILITY_VISIBLE,
        public ?string $sort = self::SORT_NAME,
        public ?string $tag = self::TAG_ALL,
    ) {}
}
