// Metro module 6301 (f6302). import BillingInfoStore from "../stores/billing/BillingInfoStore"; import { Endpoints } from "../Constants"; import { ACTIVE_PREMIUM_SKUS, PremiumSubscriptionSKUs } from "../modules/premium/PremiumConstants"; import Dispatcher from "../Dispatcher"; import { fetchIpCountryCode } from "../modules/billing/actions/BillingActionCreators"; import { HTTP } from "../_bundle/sendRequest"; import { captureBillingException } from "../utils/BillingUtils"; import V6OrEarlierAPIError from "../errors/V6OrEarlierAPIError"; const fetchSubscriptionPlansForSKU = async function fetchSubscriptionPlansForSKU(skuId, country_code, payment_source_id, include_unpublished, revenue_surface, payment_gateway) { let body; let c25782_8; let c25782_9 = 0; let c29719_0, c29719_1, c29719_2, c29719_3, c29719_4; try { c29719_0 = skuId; c29719_1 = void 0; c29719_2 = void 0; c29719_3 = void 0; Dispatcher.dispatch({ type: "SUBSCRIPTION_PLANS_FETCH", skuId }); c25782_9 = 1; const r47 = { url: Endpoints.STORE_PUBLISHED_LISTINGS_SUBSCRIPTION_PLANS(skuId), oldFormErrors: true, rejectWithError: true, retries: 10 }; c29719_1 = r47; const query = {}; if (country_code != null) { query.country_code = country_code; } if (payment_source_id != null) { query.payment_source_id = payment_source_id; } if (include_unpublished != null) { query.include_unpublished = include_unpublished; } if (revenue_surface != null) { query.revenue_surface = revenue_surface; } if (payment_gateway != null) { query.payment_gateway = payment_gateway; } r47.query = query; if (BillingInfoStore.ipCountryCodeLoaded) { c29719_2 = await HTTP.get(c29719_1); Dispatcher.dispatch({ type: "SUBSCRIPTION_PLANS_FETCH_SUCCESS", skuId: c29719_0, subscriptionPlans: c29719_2.body }); body = c29719_2.body; c25782_9 = 0; } else { await fetchIpCountryCode(); c29719_2 = await HTTP.get(c29719_1); Dispatcher.dispatch({ type: "SUBSCRIPTION_PLANS_FETCH_SUCCESS", skuId: c29719_0, subscriptionPlans: c29719_2.body }); body = c29719_2.body; c25782_9 = 0; } } catch ($e) { const r37 = $e; let r8 = r37; c25782_8 = r37; if (c25782_9 !== 0) { while (true) { try { const r167 = c25782_8; c25782_9 = 0; c29719_4 = r167; Dispatcher.dispatch({ type: "SUBSCRIPTION_PLANS_FETCH_FAILURE", skuId: c29719_0 }); captureBillingException(c29719_4); c29719_3 = new V6OrEarlierAPIError(c29719_4); c29719_3.message = `Failed to fetch subscription plans for SKU ${c29719_0}`; throw c29719_3; } catch (r163) { r8 = r163; c25782_8 = r163; if (c25782_9 === 0) { break; } } } } throw r8; } return body; }; export { fetchSubscriptionPlansForSKU }; export function fetchSubscriptionPlansBySKUs(a0, c15651_0, c15651_1) { return Promise.all(a0.filter((item) => item !== PremiumSubscriptionSKUs.NONE).map((item) => fetchSubscriptionPlansForSKU(item, c15651_0, void 0, void 0, void 0, c15651_1))); } export function fetchPremiumSubscriptionPlans(c15652_0, c15652_1, c15652_2, c15652_3) { return Promise.all(ACTIVE_PREMIUM_SKUS.filter((item) => item !== PremiumSubscriptionSKUs.NONE).map((item) => fetchSubscriptionPlansForSKU(item, c15652_0, c15652_1, void 0, c15652_2, c15652_3))); } export function resetSubscriptionPlanData() { Dispatcher.dispatch({ type: "SUBSCRIPTION_PLANS_RESET" }); }