migros-api-wrapper
Version:
Making the api of migros more accessible to the public.
40 lines • 1.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.postProductSearch = void 0;
const Region_1 = require("../enums/Region");
const Language_1 = require("../enums/Language");
const Algorithm_1 = require("../enums/Algorithm");
const SortOrder_1 = require("../enums/SortOrder");
const requests_1 = require("../../utils/requests");
const apiPaths_1 = require("../apiPaths");
const url = apiPaths_1.migrosApiPaths["onesearch-oc-seapi"].public.v5 + "/search";
const defaultProductSearchOptions = {};
const defaultProductSearchBody = {
regionId: Region_1.Region.NATIONAL,
language: Language_1.Language.EN,
productIds: [],
query: "",
sortFields: [],
sortOrder: SortOrder_1.SortOrder.ASC,
algorithm: Algorithm_1.Algorithm.DEFAULT,
};
async function postProductSearchRequest(url, body, options, headers) {
const necessaryHeaders = {
accept: "application/json, text/plain, *!/!*",
// eslint-disable-next-line @typescript-eslint/naming-convention
"content-type": "application/json",
...headers,
};
const response = await (0, requests_1.postRequestBypass)(url, body, options, necessaryHeaders);
return response.data;
}
async function postProductSearch(productSearchBody, headers, productSearchOptions) {
productSearchOptions = {
...defaultProductSearchOptions,
...productSearchOptions,
};
productSearchBody = { ...defaultProductSearchBody, ...productSearchBody };
return postProductSearchRequest(url, productSearchBody, productSearchOptions, headers);
}
exports.postProductSearch = postProductSearch;
//# sourceMappingURL=product-search.js.map