UNPKG

@anpdgovbr/shared-types

Version:

Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)

65 lines 2.13 kB
/** * Interface que define os parâmetros básicos para consultas paginadas em APIs ou repositórios de dados. * * @remarks * Esta interface é utilizada para padronizar os parâmetros de paginação, busca e ordenação em requisições de listagem. * * @property page Número da página atual (iniciando geralmente em 1). * @property pageSize Quantidade de itens a serem retornados por página. * @property search (Opcional) Termo de busca para filtrar os resultados. * @property orderBy (Opcional) Nome do campo utilizado para ordenação dos resultados. * @property ascending (Opcional) Indica se a ordenação deve ser crescente (`true`) ou decrescente (`false`). * * @example * ```typescript * const params: BaseQueryParams = { * page: 1, * pageSize: 10, * search: "palavra-chave", * orderBy: "nome", * ascending: true * }; * ``` * * @public */ export type BaseOrderByField = "nomeEmpresarial" | "codigo" | "nome"; export interface BaseQueryParams { /** * Número da página atual (iniciando geralmente em 1). */ page: number; /** * Quantidade de itens a serem retornados por página. */ pageSize: number; /** * (Opcional) Termo de busca para filtrar os resultados. */ search?: string; /** * (Opcional) Nome do campo utilizado para ordenação dos resultados. */ orderBy?: BaseOrderByField; /** * (Opcional) Indica se a ordenação deve ser crescente (`true`) ou decrescente (`false`). * * @defaultValue true */ ascending?: boolean; /** * (Opcional) Cursor para paginação baseada em cursor (keyset pagination). * * @remarks * Quando utilizado, os parâmetros `page` e `pageSize` podem ser ignorados pelo backend. */ cursor?: string; /** * (Opcional) Direção da ordenação no formato canônico: 'asc' | 'desc'. * * @remarks * Campo complementar a {@link ascending}. Quando ambos forem informados, `sortDirection` tem precedência. */ sortDirection?: "asc" | "desc"; } //# sourceMappingURL=base-query-params.interface.d.ts.map