// Module ID: 8092 // Function ID: 8093 // Name: UserOfferActionCreators // Dependencies: [5, 8093, 7177, 7173, 1392, 1085, 1382, 584, 1265, 1295, 8094, 1255, 4938, 2049, 2046, 2] // Exports: acknowledgeUserOffer, fetchChurnDiscountOffer, fetchExistingChurnDiscountOffer, fetchUserOffer, triggerUserOffer // Module 8092 (UserOfferActionCreators) import DispatcherDefault from "Dispatcher" /* 584 */; import HTTPUtils from "HTTPUtils" /* 1295 */; import PlatformUtils from "PlatformUtils" /* 1382 */; import PremiumConstants from "PremiumConstants" /* 1392 */; import _asyncToGenerator from "_asyncToGenerator" /* 5 */; import UserDiscountOfferRecord from "UserDiscountOfferRecord" /* 8093 */; import UserTrialOfferRecord from "UserTrialOfferRecord" /* 7177 */; import UserOfferStore from "UserOfferStore" /* 7173 */; import Constants from "Constants" /* 1085 */; import size from "module_2" /* 2 */; const require = globalThis.__r; let _require, body, closure_8, trial_id; let c10; let c9; let metroImportAll; function getPaymentGateway() { let GOOGLE; obj = PlatformUtils; if (obj.isAndroid()) { GOOGLE = constants2.GOOGLE; } else { GOOGLE = null; const tmpResult = PlatformUtils; if (tmpResult.isIOS()) { GOOGLE = constants2.APPLE; } } return GOOGLE; } let obj = function _fetchUserOffer() { obj = _asyncToGenerator(async (call_location) => { let closure_9; let closure_1 = arg1; let closure_2 = arg2; let retries = arg3; let closure_4 = arg4; let c12 = 0; let c13 = 0; let c11 = 0; const iter = (async function(arg0, value) { let fromServer1; let obj17; if (c13 === 2) { c13 = 3; throw new TypeError("Generator functions may not be called on executing generators"); } else if (tmp3 === 3) { if (arg0 === 1) { throw value; } else if (arg0 === 2) { return { value, done: true }; } else { return { value: "IconComponent", done: null }; } } else { let c11; try { let obj6; let flag; let offerId; let paymentGatewayOverride; let obj12; let tmp; let closure_12; let error; c13 = 2; if (0 === c12) { if (arg0 === 1) { c13 = 3; throw value; } else if (arg0 === 2) { c13 = 3; return { value, done: true }; } else { closure_8 = tmp4; obj6 = undefined; retries = undefined; closure_4 = undefined; flag = closure_1; if (closure_1 === undefined) { flag = true; } obj6 = closure_2; if (closure_2 === undefined) { obj6 = { offerId: "pos", paymentGatewayOverride: "sk" }; } offerId = undefined; paymentGatewayOverride = undefined; _null = undefined; obj12 = undefined; tmp = undefined; trial_id = undefined; user_discount_offer = undefined; closure_12 = undefined; error = undefined; c12 = 1; c13 = 1; return { value: "Set", done: true }; } } else if (1 === c12) { if (arg0 === 1) { c13 = 3; throw value; } else if (arg0 === 2) { c13 = 3; return { value, done: true }; } else { const tmp132 = flag; if (tmp132) { let tmp100; const obj9 = closure_137_1(closure_137_2[7]); obj9.dispatch({ type: "BILLING_USER_OFFER_FETCH_START" }); c11 = 1; if (null != call_location) { const obj11 = { call_location }; const obj10 = closure_137_1(closure_137_2[8]); obj10.track(closure_137_8.FETCH_USER_OFFER_STARTED, obj11); } offerId = obj6.offerId; paymentGatewayOverride = obj6.paymentGatewayOverride; if (undefined !== paymentGatewayOverride) { tmp100 = paymentGatewayOverride; } else { tmp100 = closure_137_11(); } _null = tmp100; if (null == _null) { if (null == offerId) { obj12 = { allow_triggers: false }; } const HTTP = closure_137_0(closure_137_2[9]).HTTP; const request = { url: closure_137_9.USER_OFFER, body: obj12, rejectWithError: true, retries }; retries = undefined; const post = HTTP.post; if (null != retries) { retries = retries.retries; } c12 = 3; c13 = 1; const obj13 = { value: post(request), done: false }; return obj13; } obj12 = { payment_gateway: _null, offer_id: offerId, allow_triggers: false }; const obj14 = { payment_gateway: _null, offer_id: offerId, allow_triggers: false }; } else { c13 = 3; return { value: false, done: true }; } } } else if (2 === c12) { c11 = 0; const obj8 = closure_137_1(closure_137_2[7]); obj8.dispatch({ type: "BILLING_USER_OFFER_FETCH_FAIL" }); c13 = 3; return { value: false, done: true }; } else if (arg0 === 1) { c13 = 3; throw value; } else if (arg0 === 2) { c11 = 0; c13 = 3; return { value, done: true }; } else { tmp = value; const user_trial_offer = tmp.body.user_trial_offer; c5 = user_trial_offer; if (user_trial_offer == null) { c5 = null; } trial_id = c5; user_discount_offer = tmp.body.user_discount_offer; c6 = user_discount_offer; if (user_discount_offer == null) { c6 = null; } user_discount_offer = c6; trial_id = undefined; if (trial_id != null) { trial_id = trial_id.trial_id; } let tmp13 = trial_id === closure_137_7; if (tmp13) { obj = closure_137_0(closure_137_2[10]); tmp13 = !obj.isTwoWeekTrialOfferIngestAllowed({ location: "user_offer_action_creators" }); } closure_12 = tmp13; if (null != offerId) { if (null != user_discount_offer) { if (user_discount_offer.discount_id !== offerId) { const _Error = Error; const self = this; const self2 = this; error = new Error("Returned user discount offer does not match offer ID request parameter"); const obj16 = { extra: obj17 }; obj17 = { offer_id: offerId, user_discount_offer }; const captureException = closure_137_1(closure_137_2[11]).captureException; closure_137_1(closure_137_2[11]); const merged = Object.assign(closure_4); captureException(error, obj16); throw error; } } } let result = null == trial_id; if (result) { const obj2 = closure_137_0(closure_137_2[12]); result = obj2.UNSAFE_isDismissibleContentDismissed(closure_137_0(closure_137_2[13]).DismissibleContent.NAGBAR_NOTICE_PREMIUM_TIER_TWO_TRIAL_ENDING); } if (result) { const obj3 = closure_137_0(closure_137_2[14]); const result1 = obj3.removeDismissedContent(closure_137_0(closure_137_2[13]).DismissibleContent.NAGBAR_NOTICE_PREMIUM_TIER_TWO_TRIAL_ENDING); } let fromServer = null; const dispatch = closure_137_1(closure_137_2[7]).dispatch; closure_137_1(closure_137_2[7]); if (!closure_12) { fromServer = null; if (null != trial_id) { fromServer = closure_137_5.createFromServer(trial_id); } } const obj18 = { type: "BILLING_USER_OFFER_FETCH_SUCCESS", userTrialOffer: fromServer, userDiscountOffer: fromServer1, shouldTriggerOffer: _null }; fromServer1 = null; if (null != user_discount_offer) { fromServer1 = closure_137_4.createFromServer(user_discount_offer); } const should_trigger_offer = tmp.body.should_trigger_offer; _null = should_trigger_offer; if (should_trigger_offer == null) { _null = null; } dispatch(obj18); c11 = 0; c13 = 3; return { value: true, done: true }; } } catch (tmp121) { trial_id = tmp121; if (0 === c11) { c13 = 3; throw tmp121; } else { c12 = 2; } } } })(); iter.next(); return iter; }); return obj(...arguments); }; obj = function _fetchExistingChurnDiscountOffer() { obj = _asyncToGenerator(async () => { let c4; let c5; let c6; let closure_1; let closure_2; let closure_3; const obj10 = DispatcherDefault; obj10.dispatch({ type: "BILLING_USER_OFFER_FETCH_START" }); const HTTP = require("HTTPUtils").HTTP; const obj4 = { url: constants.CHURN_USER_OFFER, rejectWithError: true }; await HTTP.get(obj4); const obj6 = closure_130_1(closure_130_2[7]); obj6.dispatch({ type: "BILLING_USER_OFFER_FETCH_FAIL" }); await "IconComponent"; const offer = arg1.body.offer; let c0 = offer; if (offer == null) { c0 = null; } let closure_0 = c0; let fromServer = null; if (null != closure_0) { fromServer = closure_130_4.createFromServer(closure_0); } const obj8 = { type: "BILLING_USER_OFFER_FETCH_SUCCESS", userDiscountOffer: fromServer }; obj = closure_130_1(closure_130_2[7]); obj.dispatch(obj8); const obj9 = { userDiscountOffer: fromServer }; return obj9; }); return obj(...arguments); }; obj = function _fetchChurnDiscountOffer() { obj = _asyncToGenerator(async (arg0, value) => { let closure_2; let closure_3; let closure_1 = tmp4; let _null = null; const HTTP = require("HTTPUtils").HTTP; const obj4 = { url: constants.CHURN_USER_OFFER, rejectWithError: true }; await HTTP.post(obj4); if (1 === c5) { let c4 = 0; } else if (arg0 === 1) { let c6 = 3; throw value; } else if (arg0 === 2) { c4 = 0; c6 = 3; const obj6 = { value, done: true }; return obj6; } else { const offer = value.body.offer; let c0 = offer; if (offer == null) { c0 = null; } closure_1 = c0; if (null != closure_1) { _null = closure_130_4.createFromServer(closure_1); const obj7 = { type: "BILLING_USER_OFFER_FETCH_SUCCESS", userDiscountOffer: _null }; obj = closure_130_1(closure_130_2[7]); obj.dispatch(obj7); } c4 = 0; } return _null; }); return obj(...arguments); }; let closure_7 = PremiumConstants.PREMIUM_TIER_2_HFU_TWO_WEEK_TRIAL_ID; ({ AnalyticEvents: metroImportAll, Endpoints: c9, PaymentGateways: c10 } = Constants); let result = size.fileFinishedImporting("modules/premium/UserOfferActionCreators.tsx"); export const fetchUserOffer = function fetchUserOffer() { return obj(...arguments); }; export const fetchExistingChurnDiscountOffer = function fetchExistingChurnDiscountOffer() { return obj(...arguments); }; export const fetchChurnDiscountOffer = function fetchChurnDiscountOffer() { return obj(...arguments); }; export const acknowledgeUserOffer = function acknowledgeUserOffer(hasAcknowledged, userDiscountOffer) { let id; if (null != hasAcknowledged) { if (!hasAcknowledged.hasAcknowledged) { id = hasAcknowledged.id; } } let id1; if (null != userDiscountOffer) { if (!userDiscountOffer.hasAcknowledged()) { id1 = userDiscountOffer.id; } } const HTTP = HTTPUtils.HTTP; const request = { url: constants.USER_OFFER_ACKNOWLEDGED, body: { user_trial_offer_id: id, user_discount_offer_id: id1 }, oldFormErrors: true, rejectWithError: false }; const postResult = HTTP.post(request); const nextPromise = postResult.then((body) => { let fromServer1; let fromServer2; let user_discount = body.body.user_discount; if (user_discount == null) { user_discount = null; } let user_discount_offer = body.body.user_discount_offer; if (user_discount_offer == null) { user_discount_offer = null; } let user_trial_offer = body.body.user_trial_offer; if (user_trial_offer == null) { user_trial_offer = null; } let fromServer = null; const dispatch = DispatcherDefault.dispatch; DispatcherDefault; if (null != user_trial_offer) { fromServer = UserTrialOfferRecord.createFromServer(user_trial_offer); } obj = { type: "BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS", userTrialOffer: fromServer, userDiscount: fromServer1, userDiscountOffer: fromServer2 }; fromServer1 = null; if (null != user_discount) { fromServer1 = UserDiscountOfferRecord.createFromServer(user_discount); } fromServer2 = null; if (null != user_discount_offer) { fromServer2 = UserDiscountOfferRecord.createFromServer(user_discount_offer); } dispatch(obj); }); return nextPromise.catch((error) => { if (404 === error.status) { obj = DispatcherDefault; obj.dispatch({ type: "BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS", userTrialOffer: null, userDiscount: null, userDiscountOffer: null }); } }); }; export const triggerUserOffer = function triggerUserOffer(triggerType, trigger_location_stack, fn) { _require = triggerType; obj = UserOfferStore; if (UserOfferStore.canTriggerUserOffer(triggerType)) { let GOOGLE; const obj3 = { type: "BILLING_USER_OFFER_TRIGGER_ATTEMPT", triggerType }; const obj2 = DispatcherDefault; obj2.dispatch(obj3); let tmp6; if (fn != null) { tmp6 = fn(); } const obj4 = require("PlatformUtils"); if (obj4.isAndroid()) { GOOGLE = constants2.GOOGLE; } else { GOOGLE = null; const tmp7Result = require("PlatformUtils"); if (tmp7Result.isIOS()) { GOOGLE = constants2.APPLE; } } const _JSON = JSON; const obj5 = { payment_gateway: GOOGLE, trigger_type: triggerType, trigger_location_stack, trigger_metadata: JSON.stringify(tmp6), trigger_uptime_app: obj.getUptimeForTrigger() }; const HTTP = tmp7(1295).HTTP; const request = { url: constants.USER_OFFER_TRIGGER, body: obj5, rejectWithError: true }; const postResult = HTTP.post(request); postResult.then((body) => { let fromServer; let fromServer1; body = body.body; const offer = body.offer; let user_trial_offer; if (offer != null) { user_trial_offer = offer.user_trial_offer; } const offer2 = body.offer; let user_discount_offer; if (offer2 != null) { user_discount_offer = offer2.user_discount_offer; } obj = { type: "BILLING_USER_OFFER_TRIGGER_SUCCESS", triggerType, retryAfter: body.retry_after, triggerSuccess: body.trigger_success, userTrialOffer: fromServer, userDiscountOffer: fromServer1 }; fromServer = null; const dispatch = DispatcherDefault.dispatch; DispatcherDefault; if (null != user_trial_offer) { fromServer = UserTrialOfferRecord.createFromServer(user_trial_offer); } fromServer1 = null; if (null != user_discount_offer) { fromServer1 = UserDiscountOfferRecord.createFromServer(user_discount_offer); } dispatch(obj); }); } };