package org.raddatz.familienarchiv.document;

import org.raddatz.familienarchiv.tag.TagOperator;

import java.util.List;
import java.util.UUID;

/**
 * The non-date filters honoured by {@link DocumentService#getDensity(DensityFilters)}.
 * Date bounds (from/to) are deliberately excluded — see the service Javadoc for why.
 *
 * Kept as a record so the seven values are passed as one named bundle instead of a
 * positional argument list where two UUIDs (sender vs. receiver) can be swapped by
 * accident at the call site.
 */
public record DensityFilters(
        String text,
        UUID sender,
        UUID receiver,
        List<String> tags,
        String tagQ,
        DocumentStatus status,
        TagOperator tagOperator) {}
