fiscalapi
Version:
SDK de Node.js para FiscalAPI
51 lines • 6.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CatalogService = void 0;
const base_fiscalapi_service_1 = require("./base-fiscalapi-service");
/**
* Implementación del servicio de catálogos
*/
class CatalogService extends base_fiscalapi_service_1.BaseFiscalapiService {
/**
* Crea una nueva instancia del servicio de catálogos
* @param {IFiscalapiHttpClient} httpClient - Cliente HTTP
* @param {string} apiVersion - Versión de la API
*/
constructor(httpClient, apiVersion) {
super(httpClient, 'catalogs', apiVersion);
}
/**
* Recupera un registro de un catálogo por catalogName y id.
*
* @param catalogName - Nombre del catálogo
* @param id - Id del registro en el catalogName
* @returns Promise que resuelve en una respuesta API con CatalogDto
*/
async getRecordById(catalogName, id) {
const path = `${catalogName}/key/${id}`;
const endpoint = this.buildEndpoint(path);
// api/v4/catalogs/<catalogName>/key/<id>
return this.httpClient.getAsync(endpoint);
}
/**
* Busca en un catálogo.
*
* @param catalogName - Catalog name. Must be a catalog retrieved from getList()
* @param searchText - Criterio de búsqueda. Debe tener 4 caracteres de longitud como mínimo.
* @param pageNumber - Numero de pagina a recuperar (default: 1)
* @param pageSize - Tamaño de la página entre 1 y 100 registros por página (default: 50)
* @returns Promise que resuelve en una respuesta API con lista paginada de CatalogDto
*/
async searchCatalog(catalogName, searchText, pageNumber = 1, pageSize = 50) {
const path = `${catalogName}/${searchText}`;
const queryParams = {
pageNumber: pageNumber.toString(),
pageSize: pageSize.toString()
};
const endpoint = this.buildEndpoint(path, queryParams);
const response = await this.httpClient.getAsync(endpoint);
return response;
}
}
exports.CatalogService = CatalogService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2NhdGFsb2ctc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxRUFBZ0U7QUFHaEU7O0dBRUc7QUFDSCxNQUFhLGNBQWUsU0FBUSw2Q0FBZ0M7SUFDbEU7Ozs7T0FJRztJQUNILFlBQVksVUFBZ0MsRUFBRSxVQUFrQjtRQUM5RCxLQUFLLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBSUM7Ozs7OztNQU1FO0lBQ0ssS0FBSyxDQUFDLGFBQWEsQ0FBQyxXQUFtQixFQUFFLEVBQVU7UUFDeEQsTUFBTSxJQUFJLEdBQUcsR0FBRyxXQUFXLFFBQVEsRUFBRSxFQUFFLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyx5Q0FBeUM7UUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBYSxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7Ozs7O01BUUU7SUFDSyxLQUFLLENBQUMsYUFBYSxDQUN4QixXQUFtQixFQUNuQixVQUFrQixFQUNsQixhQUFxQixDQUFDLEVBQ3RCLFdBQW1CLEVBQUU7UUFFckIsTUFBTSxJQUFJLEdBQUcsR0FBRyxXQUFXLElBQUksVUFBVSxFQUFFLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUc7WUFDaEIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDakMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUU7U0FDaEMsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQXdCLFFBQVEsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FHSjtBQXBERCx3Q0FvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXRhbG9nRHRvIH0gZnJvbSAnLi4vY29tbW9uL2NhdGFsb2ctZHRvJztcbmltcG9ydCB7IElGaXNjYWxhcGlIdHRwQ2xpZW50IH0gZnJvbSAnLi4vaHR0cC9maXNjYWxhcGktaHR0cC1jbGllbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tbW9uL2FwaS1yZXNwb25zZSc7XG5pbXBvcnQgeyBCYXNlRmlzY2FsYXBpU2VydmljZSB9IGZyb20gJy4vYmFzZS1maXNjYWxhcGktc2VydmljZSc7XG5pbXBvcnQgeyBJQ2F0YWxvZ1NlcnZpY2UsIFBhZ2VkTGlzdCB9IGZyb20gJy4uJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhY2nDs24gZGVsIHNlcnZpY2lvIGRlIGNhdMOhbG9nb3NcbiAqL1xuZXhwb3J0IGNsYXNzIENhdGFsb2dTZXJ2aWNlIGV4dGVuZHMgQmFzZUZpc2NhbGFwaVNlcnZpY2U8Q2F0YWxvZ0R0bz4gaW1wbGVtZW50cyBJQ2F0YWxvZ1NlcnZpY2Uge1xuICAvKipcbiAgICogQ3JlYSB1bmEgbnVldmEgaW5zdGFuY2lhIGRlbCBzZXJ2aWNpbyBkZSBjYXTDoWxvZ29zXG4gICAqIEBwYXJhbSB7SUZpc2NhbGFwaUh0dHBDbGllbnR9IGh0dHBDbGllbnQgLSBDbGllbnRlIEhUVFBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFwaVZlcnNpb24gLSBWZXJzacOzbiBkZSBsYSBBUElcbiAgICovXG4gIGNvbnN0cnVjdG9yKGh0dHBDbGllbnQ6IElGaXNjYWxhcGlIdHRwQ2xpZW50LCBhcGlWZXJzaW9uOiBzdHJpbmcpIHtcbiAgICBzdXBlcihodHRwQ2xpZW50LCAnY2F0YWxvZ3MnLCBhcGlWZXJzaW9uKTtcbiAgfVxuXG5cblxuICAgIC8qKlxuICAgICogUmVjdXBlcmEgdW4gcmVnaXN0cm8gZGUgdW4gY2F0w6Fsb2dvIHBvciBjYXRhbG9nTmFtZSB5IGlkLlxuICAgICogXG4gICAgKiBAcGFyYW0gY2F0YWxvZ05hbWUgLSBOb21icmUgZGVsIGNhdMOhbG9nb1xuICAgICogQHBhcmFtIGlkIC0gSWQgZGVsIHJlZ2lzdHJvIGVuIGVsIGNhdGFsb2dOYW1lXG4gICAgKiBAcmV0dXJucyBQcm9taXNlIHF1ZSByZXN1ZWx2ZSBlbiB1bmEgcmVzcHVlc3RhIEFQSSBjb24gQ2F0YWxvZ0R0b1xuICAgICovXG4gICAgcHVibGljIGFzeW5jIGdldFJlY29yZEJ5SWQoY2F0YWxvZ05hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8QXBpUmVzcG9uc2U8Q2F0YWxvZ0R0bz4+IHtcbiAgICAgIGNvbnN0IHBhdGggPSBgJHtjYXRhbG9nTmFtZX0va2V5LyR7aWR9YDtcbiAgICAgIGNvbnN0IGVuZHBvaW50ID0gdGhpcy5idWlsZEVuZHBvaW50KHBhdGgpO1xuICAgICAgLy8gYXBpL3Y0L2NhdGFsb2dzLzxjYXRhbG9nTmFtZT4va2V5LzxpZD5cbiAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0QXN5bmM8Q2F0YWxvZ0R0bz4oZW5kcG9pbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICogQnVzY2EgZW4gdW4gY2F0w6Fsb2dvLlxuICAgICogXG4gICAgKiBAcGFyYW0gY2F0YWxvZ05hbWUgLSBDYXRhbG9nIG5hbWUuIE11c3QgYmUgYSBjYXRhbG9nIHJldHJpZXZlZCBmcm9tIGdldExpc3QoKVxuICAgICogQHBhcmFtIHNlYXJjaFRleHQgLSBDcml0ZXJpbyBkZSBiw7pzcXVlZGEuIERlYmUgdGVuZXIgNCBjYXJhY3RlcmVzIGRlIGxvbmdpdHVkIGNvbW8gbcOtbmltby5cbiAgICAqIEBwYXJhbSBwYWdlTnVtYmVyIC0gTnVtZXJvIGRlIHBhZ2luYSBhIHJlY3VwZXJhciAoZGVmYXVsdDogMSlcbiAgICAqIEBwYXJhbSBwYWdlU2l6ZSAtIFRhbWHDsW8gZGUgbGEgcMOhZ2luYSBlbnRyZSAxIHkgMTAwIHJlZ2lzdHJvcyBwb3IgcMOhZ2luYSAoZGVmYXVsdDogNTApXG4gICAgKiBAcmV0dXJucyBQcm9taXNlIHF1ZSByZXN1ZWx2ZSBlbiB1bmEgcmVzcHVlc3RhIEFQSSBjb24gbGlzdGEgcGFnaW5hZGEgZGUgQ2F0YWxvZ0R0b1xuICAgICovXG4gICAgcHVibGljIGFzeW5jIHNlYXJjaENhdGFsb2coXG4gICAgICBjYXRhbG9nTmFtZTogc3RyaW5nLCBcbiAgICAgIHNlYXJjaFRleHQ6IHN0cmluZyxcbiAgICAgIHBhZ2VOdW1iZXI6IG51bWJlciA9IDEsIFxuICAgICAgcGFnZVNpemU6IG51bWJlciA9IDUwXG4gICAgKTogUHJvbWlzZTxBcGlSZXNwb25zZTxQYWdlZExpc3Q8Q2F0YWxvZ0R0bz4+PiB7XG4gICAgICBjb25zdCBwYXRoID0gYCR7Y2F0YWxvZ05hbWV9LyR7c2VhcmNoVGV4dH1gO1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7XG4gICAgICAgICAgcGFnZU51bWJlcjogcGFnZU51bWJlci50b1N0cmluZygpLFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZS50b1N0cmluZygpXG4gICAgICB9O1xuICAgICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLmJ1aWxkRW5kcG9pbnQocGF0aCwgcXVlcnlQYXJhbXMpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBDbGllbnQuZ2V0QXN5bmM8UGFnZWRMaXN0PENhdGFsb2dEdG8+PihlbmRwb2ludCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gIFxufVxuIl19