export interface Paging { /** * Si hay más páginas disponibles */ MoreData: boolean; /** * El número de la página. Empieza desde 1. */ PageNumber: number; /** * El tamaño de la página. Tiene un límite de 5000. */ PageSize: number; } export interface Paginacion { /** * El número de la página. Empieza desde 1. */ number: number; /** * El tamaño de la página. Tiene un límite de 5000. */ size: number; } export function paginacionToSearchParams( paginacion: Paginacion | undefined, searchParams: URLSearchParams ) { if (paginacion) { searchParams.set("pageSize", paginacion.size.toString()); searchParams.set("pageNumber", paginacion.number.toString()); } else { // El máximo, según lo que retorna en 'Paging' searchParams.set("pageSize", "5000"); searchParams.set("pageNumber", "1"); } } export interface QueryCustomer { type: TipoDeDocumento; number: string; } export function queryCustomerToSearchParams( cliente: QueryCustomer, searchParams: URLSearchParams ) { if (cliente) { searchParams.set("documentType", cliente.type.toString()); searchParams.set("documentNumber", cliente.number); } } export enum TipoDeDocumento { CUIT = "80", CUIL = "86", CDI = "87", LE = "89", LC = "90", DNI = "96", }