package com.cameleer.server.core.search;

import com.cameleer.server.core.storage.LogEntryResult;

import java.util.List;
import java.util.Map;

/**
 * Log search result with cursor-based pagination and level aggregation.
 *
 * @param data        matching log entries for the current page
 * @param nextCursor  ISO timestamp cursor for the next page (null if no more)
 * @param hasMore     whether more results exist beyond this page
 * @param levelCounts count of matching logs per level (unaffected by level filter)
 */
public record LogSearchResponse(
        List<LogEntryResult> data,
        String nextCursor,
        boolean hasMore,
        Map<String, Long> levelCounts
) {}
