@alextomas80/api-client-grupeta
Version:
Cliente API Grupeta CBR
53 lines (52 loc) • 2.33 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBakeries = void 0;
const config_1 = require("../config");
const axios_1 = __importDefault(require("./axios"));
const mapBakery = (data) => {
const items = data.data.map(({ id, name, description, location, town, status, images }) => {
return {
description,
location,
town,
status,
documentId: id,
name,
images,
};
});
return items;
};
const fetchBakeries = (path) => __awaiter(void 0, void 0, void 0, function* () {
const ACCESS_TOKEN = (0, config_1.getApiToken)();
const axiosStrava = (0, axios_1.default)(ACCESS_TOKEN);
const { data } = yield axiosStrava.get(path);
const bakery = mapBakery(data);
return { bakeries: bakery };
});
const getBakeries = (_a) => __awaiter(void 0, [_a], void 0, function* ({ fields = "*", limit = 10, page = 0, sort = "name", }) {
try {
// Crear los filtros para obtener solo las rutas futuras
const pageQuery = page ? `&page=${page}` : "";
const filters = [`limit=${limit}`, `sort=${sort}`, pageQuery].join("&");
const { bakeries } = yield fetchBakeries(`/items/bakeries?${filters}&fields=${fields}`);
return bakeries;
}
catch (error) {
console.error("Error al obtener las panaderías:", error);
throw new Error("Error al obtener las panaderías.");
}
});
exports.getBakeries = getBakeries;