UNPKG

migros-api-wrapper

Version:

Making the api of migros more accessible to the public.

226 lines 10.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MigrosAPI = void 0; const product_display_1 = require("./product-display"); const onesearch_oc_seaapi_1 = require("./onesearch-oc-seaapi"); const marketablestock_1 = require("./marketablestock"); const oauth2_1 = require("./oauth2"); const security_1 = require("./security"); const cumulus_1 = require("./cumulus"); const combineCookies_1 = require("../utils/combineCookies"); const migusto_1 = require("./migusto"); const stores_1 = require("./stores"); if (!process.env.MIGROS_API_WRAPPER_USERAGENT) { process.env.MIGROS_API_WRAPPER_USERAGENT = "Mozilla/5.0 (X11; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/135.0"; } class MigrosAPI { constructor() { this.stores = { searchStores: async (searchStoresOptions, token = this.leShopToken) => { return await stores_1.stores.searchStores(searchStoresOptions, { leshopch: token, }); }, }; this.products = { productStock: { getProductSupply: async (productSupplyOptions, token = this.leShopToken) => { if (!token) { throw Error("LeShop Token is undefined"); } return await marketablestock_1.marketableStock.getProductSupply(productSupplyOptions, { leshopch: token, }); }, }, productDisplay: { getProductCards: async (productCardOptions, token = this.leShopToken) => { if (!token) { throw Error("LeShop Token is undefined"); } return await product_display_1.productDisplay.getProductCards(productCardOptions, { leshopch: token, }); }, getProductDetails: async (productSupplyOptions, token = this.leShopToken) => { if (!token) { throw Error("LeShop Token is undefined"); } return await product_display_1.productDisplay.getProductDetails(productSupplyOptions, { leshopch: token, }); }, }, productSearch: { categoryList: async (categoryListBody, categoryListOptions, token = this.leShopToken) => { if (!token) { throw Error("LeShop Token is undefined"); } return await onesearch_oc_seaapi_1.productSearch.listCategories(categoryListBody, { leshopch: token, }, categoryListOptions); }, searchProduct: async (productSearchBody, productSearchOptions, token = this.leShopToken) => { if (!token) { throw Error("LeShop Token is undefined"); } return await onesearch_oc_seaapi_1.productSearch.searchProduct(productSearchBody, { leshopch: token, }, productSearchOptions); }, }, }; this.account = { oauth2: { loginGuestToken: async () => { const guestInfo = await oauth2_1.oauth2.getGuestToken(); this.leShopToken = guestInfo.token; return await guestInfo; }, getUserInfo: async (token = this.cumulusToken) => { if (!token) { throw Error("Cumulus Token is undefined"); } return await oauth2_1.oauth2.getUserInfo(token); }, }, security: { getOptions: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await security_1.security.getOptions(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getPaymentDevices: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await security_1.security.getPaymentDevices(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, }, cumulus: { getCumulusStats: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusStats(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusReceipt: async (cumulusReceiptOptions, cookies = this.cumulusCookies, htmlOnly = false) => { if (!cookies) { throw Error("Cumulus Cookies are undefined"); } return await cumulus_1.cumulus.getCumulusReceipt(cumulusReceiptOptions, cookies, htmlOnly); }, getCumulusReceiptFromUrl: async (url, cookies = this.cumulusCookies, htmlOnly = false) => { if (!cookies) { throw Error("Cumulus Cookies are undefined"); } return await cumulus_1.cumulus.getCumulusReceiptFromUrl(url, cookies, htmlOnly); }, getCumulusReceipts: async (cumulusReceiptsOptions, cookies = this.cumulusCookies) => { if (!cookies) { throw Error("Cumulus Cookies are undefined"); } return await cumulus_1.cumulus.getCumulusReceipts(cumulusReceiptsOptions, cookies); }, getCumulusPrincipal: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusPrincipal(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusServicesSmall: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusServicesSmall(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusPaymentSites: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusPaymentSites(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusCreditCard: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusCreditCard(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusHousehold: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusHousehold(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, getCumulusInvoice: async (cookies = this.loginCookies) => { if (!cookies) { throw Error("Login Cookies are undefined"); } const { body, "set-cookie": setCookie } = await cumulus_1.cumulus.getCumulusInvoice(cookies); this.loginCookies = (0, combineCookies_1.combineCookies)(cookies, setCookie); return body; }, }, }; } get leShopToken() { return this._leShopToken; } set leShopToken(value) { this._leShopToken = value; } get cumulusToken() { return this._cumulusToken; } set cumulusToken(value) { this._cumulusToken = value; } get loginCookies() { return this._loginCookies; } set loginCookies(value) { this._loginCookies = value; } get cumulusCookies() { return this._cumulusCookies; } set cumulusCookies(value) { this._cumulusCookies = value; } } exports.MigrosAPI = MigrosAPI; MigrosAPI.products = { productStock: marketablestock_1.marketableStock, productDisplay: product_display_1.productDisplay, productSearch: onesearch_oc_seaapi_1.productSearch, }; MigrosAPI.stores = stores_1.stores; MigrosAPI.account = { oauth2: oauth2_1.oauth2, security: security_1.security, cumulus: cumulus_1.cumulus, }; MigrosAPI.migusto = { recipeSearch: migusto_1.migusto.recipeSearch, recipeProducts: migusto_1.migusto.recipeProducts, recipeDetails: migusto_1.migusto.recipeDetails, }; //# sourceMappingURL=MigrosAPI.js.map