QueryChannelsIdentifier

sealed interface QueryChannelsIdentifier

Identifies a query channels operation independently of the resolved FilterObject and QuerySorter. Used as the cache key in StateRegistry, LogicRegistry, and the offline DB so the same query consistently maps to the same logic/state instance and the same persisted row across runs.

Two shapes are supported:

  • Standard for classic queries where the client knows filter + querySort upfront.

  • Predefined for server-side predefined filters where the actual filter and querySort are only learned from the response. Identity must therefore be the predefined name plus the interpolation values, since those are the only stable inputs available before the response.

Inheritors

Types

Link copied to clipboard
data class Predefined(val name: String, val filterValues: Map<String, Any>?, val sortValues: Map<String, Any>?) : QueryChannelsIdentifier

Identity for a server-side predefined filter: the actual filter and sort are resolved by the backend; identity is the predefined name plus the value maps used to interpolate it.

Link copied to clipboard
data class Standard(val filter: FilterObject, val sort: QuerySorter<Channel>) : QueryChannelsIdentifier

Identity for a classic query channels request: filter and sort are known on the client and define the query.