@anpdgovbr/shared-types
Version:
Biblioteca central de tipos TypeScript compartilhados para os projetos da ANPD (BETA)
65 lines • 2.13 kB
TypeScript
/**
* 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