// Metro module 6223 (f6224). import { OrderStatus } from "../PaymentConstants"; import { Endpoints } from "../../../Constants"; import Logger from "../../debug/Logger"; import { HTTP } from "../../../_bundle/sendRequest"; import { captureBillingException } from "../../../utils/BillingUtils"; import Dispatcher from "../../../Dispatcher"; import { getOrder } from "../OrderActionCreators"; let c3951_6, createOrder, value, discardOrder, c3951_20, cancelOrderSigning; const getOrders = async function getOrders(c25752_0) { let r73; let c25752_3; let c25752_4 = 0; let c29695_0, c29695_1; try { c29695_0 = c25752_0; c25752_4 = 1; const status = c25752_0?.status; const query = {}; if (status != null) { query.statuses = [c25752_0.status]; } if (c25752_0?.skuId != null) { query.sku_id = c25752_0.skuId; } if (c25752_0?.createdAfter != null) { query.created_after = c25752_0.createdAfter; } if (c25752_0?.isGift != null) { query.is_gift = c25752_0.isGift; } if (c25752_0?.paymentGateway != null) { query.payment_gateway = c25752_0.paymentGateway; } r73 = (await HTTP.get({ url: Endpoints.ORDER_LIST, query, rejectWithError: true })).body || []; c25752_4 = 0; } catch ($e) { const r29 = $e; let r8 = r29; c25752_3 = r29; if (c25752_4 !== 0) { while (true) { try { const r82 = c25752_3; c25752_4 = 0; c29695_1 = r82; c3951_6.error("failed to fetch orders", { error: c29695_1, options: c29695_0 }); captureBillingException(c29695_1, { tags: { source: "OrderActionCreators_getOrders" }, extra: { options: c29695_0 } }); throw c29695_1; } catch (r78) { r8 = r78; c25752_3 = r78; if (c25752_4 === 0) { break; } } } } throw r8; } return r73; }; createOrder = async function createOrder(c25753_0) { let r229; let c25753_3; let c25753_4 = 0; let c29696_0, c29696_1, c29696_2, c29696_3, c29696_4, c29696_5, c29696_6, c29696_7, c29696_8, c29696_9, c29696_10, c29696_11; try { c29696_0 = void 0; c29696_1 = void 0; c29696_2 = void 0; c29696_3 = void 0; c29696_4 = void 0; c29696_5 = void 0; c29696_6 = void 0; c29696_7 = void 0; c29696_0 = c25753_0.orderLineItems; c29696_1 = c25753_0.paymentGateway; c29696_2 = c25753_0.recipientUserId; c29696_3 = c25753_0.isGift; c29696_4 = c25753_0.giftInfo; c29696_5 = c25753_0.subscriptionFacet; c29696_6 = c25753_0.externalGatewayFacet; c29696_7 = c25753_0.countryCode; c29696_8 = void 0; c29696_9 = void 0; c29696_10 = void 0; await void 0; Dispatcher.dispatch({ type: "ORDER_CREATE_START" }); c25753_4 = 1; if (c29696_3) { c29696_8 = { recipient_id: c29696_2 }; if (c29696_4?.gift_style != null) { c29696_8.gift_style = c29696_4.gift_style; } if (c29696_4?.emoji_id != null) { c29696_8.emoji_id = c29696_4.emoji_id; } if (c29696_4?.emoji_name != null) { c29696_8.emoji_name = c29696_4.emoji_name; } if (c29696_4?.sound_id != null) { c29696_8.sound_id = c29696_4.sound_id; } if (c29696_4?.reward_sku_ids != null) { c29696_8.reward_sku_ids = c29696_4.reward_sku_ids; } if (c29696_4?.custom_message_contents != null) { c29696_8.custom_message_contents = c29696_4.custom_message_contents; } } c29696_9 = { order_line_items: c29696_0, billing_facet: { payment_gateway: c29696_1 }, subscription_facet: c29696_5 }; if (c29696_7 != null) { c29696_9.location_facet = { request_gateway_country_code: c29696_7 }; } if (c29696_3) { c29696_9.gifting_facet = { is_gift: c29696_3, gift_customization: c29696_8 }; } if (c29696_6 != null) { c29696_9.external_gateway_facet = c29696_6; } c29696_10 = (await HTTP.post({ url: Endpoints.ORDER_CREATE, body: c29696_9, rejectWithError: true, retries: 3 })).body; c3951_6.info("created order", { orderId: c29696_10.id, paymentGateway: c29696_1, body: c29696_9 }); await Dispatcher.dispatch({ type: "ORDER_CREATE_SUCCESS", orderId: c29696_10.id, order: c29696_10 }); r229 = c29696_10; c25753_4 = 0; } catch ($e) { const r40 = $e; let r8 = r40; c25753_3 = r40; if (c25753_4 !== 0) { while (true) { try { const r238 = c25753_3; c25753_4 = 0; c29696_11 = r238; c3951_6.error("failed to create order", { response: c29696_11 }); await Dispatcher.dispatch({ type: "ORDER_CREATE_FAIL" }); throw new Error(`Failed to create order: ${c29696_11}`); } catch (r234) { r8 = r234; c25753_3 = r234; if (c25753_4 === 0) { break; } } } } throw r8; } return r229; }; discardOrder = async function discardOrder(c25758_0) { let c29701_0 = await HTTP.post({ url: Endpoints.ORDER_DISCARD(c25758_0), rejectWithError: false }); if (c29701_0.body == null) { throw new Error("Invalid discard order response"); } return c29701_0.body; }; cancelOrderSigning = async function cancelOrderSigning(orderId2) { let r60; L12: { const orderId4 = orderId2; const r29 = c3951_20.get(orderId2); if (r29 != null) { c3951_6.info("cancel signing already in progress for order, awaiting existing promise", { orderId: orderId2 }); r60 = await r29; break L12; } const r39 = (async () => { let body; let c31409_2; let c31409_3 = 0; let c31956_0, c31956_1; try { c31956_0 = void 0; Dispatcher.dispatch({ type: "ORDER_CANCEL_SIGNING_START", orderId: orderId4 }); c31409_3 = 2; c31956_0 = await HTTP.post({ url: Endpoints.ORDER_CANCEL_SIGNING(orderId4), rejectWithError: true }); if (c31956_0.body == null) { throw new Error("Invalid cancel signing response"); } c3951_6.info("cancel order signing, transitioned back to DRAFT", { orderId: orderId4 }); await Dispatcher.dispatch({ type: "ORDER_CANCEL_SIGNING_SUCCESS", orderId: orderId4 }); body = c31956_0.body; c31409_3 = 0; c3951_20.delete(orderId4); } catch ($e) { const r42 = $e; let r7 = r42; c31409_2 = r42; let r43 = c31409_3; if (r43 !== 0) { while (true) { if (r43 === 1) { try { const r203 = c31409_2; c31409_3 = 0; c3951_20.delete(orderId4); throw r203; } catch (r201) { r7 = r201; c31409_2 = r201; r43 = c31409_3; if (r43 === 0) { break; } } } else { try { const r144 = c31409_2; c31409_3 = 1; c31956_1 = r144; captureBillingException(new Error("failed to cancel order signing"), { tags: { source: "OrderActionCreators_cancelOrderSigning" }, extra: { orderId: orderId4, response: c31956_1 } }); c3951_6.error("failed to cancel order signing", { response: c31956_1, orderId: orderId4 }); await Dispatcher.dispatch({ type: "ORDER_CANCEL_SIGNING_FAIL", orderId: orderId4 }); throw c31956_1; } catch (r141) { r7 = r141; c31409_2 = r141; r43 = c31409_3; if (r43 === 0) { break; } } } } } throw r7; } return body; })(); c3951_20.set(orderId2, r39); return await r39; } return r60; }; c3951_6 = new Logger("OrderActionCreators"); value = null; c3951_20 = new Map(); export { c3951_6 as logger }; export const DRAFT_ORDER_LOOKBACK_DAYS = 3; export { getOrders }; export { createOrder }; export async function getOrCreateOrder(c25754_0) { let r90; let c25754_2; let c29697_0, c29697_1, c29697_2, c29697_3, c29697_4, c29697_5, c29697_6, c29697_7, c29697_8, c29697_9, c29697_10; L15: { c25754_2 = void 0; c29697_0 = void 0; c29697_1 = void 0; c29697_2 = void 0; c29697_3 = void 0; c29697_4 = void 0; c29697_5 = void 0; c29697_6 = void 0; c29697_7 = void 0; c29697_8 = void 0; c29697_0 = c25754_0.skuId; c29697_1 = c25754_0.paymentGateway; c29697_2 = c25754_0.recipientUserId; c29697_3 = c25754_0.purchaseType; c29697_4 = c25754_0.isGift; c29697_5 = c25754_0.giftInfo; c29697_6 = c25754_0.createdAfter; c29697_7 = c25754_0.subscriptionPlanId; c29697_8 = c25754_0.externalGatewayFacet; c29697_9 = void 0; c29697_10 = void 0; await void 0; c29697_9 = await (0, getOrders)({ isGift: c29697_4, status: OrderStatus.DRAFT, skuId: c29697_0, createdAfter: c29697_6 }); if (c29697_9.length > 0) { c29697_10 = c29697_9[0]; c3951_6.info("reusing existing draft order", { orderId: c29697_10.id, skuId: c29697_0, isGift: c29697_4 }); r90 = c29697_10; break L15; } return await (0, createOrder)({ paymentGateway: c29697_1, recipientUserId: c29697_2, isGift: c29697_4, giftInfo: c29697_5, orderLineItems: [{ sku_id: c29697_0, quantity: 1, purchase_type: c29697_3, subscription_plan_id: c29697_7 }], externalGatewayFacet: c29697_8 }); } return r90; } export async function patchOrderLineItem(c25755_0) { let revision; let c25755_3; let c25755_4 = 0; let c29698_0, c29698_1, c29698_2, c29698_3, c29698_4, c29698_5, c29698_6; try { c29698_0 = void 0; c29698_1 = void 0; c29698_2 = void 0; c29698_3 = void 0; c29698_0 = c25755_0.orderId; c29698_1 = c25755_0.orderLineItemId; c29698_2 = c25755_0.subscriptionPlanId; c29698_3 = c25755_0.expectedRevision; c29698_4 = void 0; c29698_5 = void 0; await void 0; Dispatcher.dispatch({ type: "ORDER_UPDATE_START" }); c25755_4 = 1; c29698_4 = { expected_revision: c29698_3, subscription_plan_id: c29698_2 }; c29698_5 = await HTTP.patch({ url: Endpoints.ORDER_PATCH_LINE_ITEM(c29698_0, c29698_1), body: c29698_4, rejectWithError: true }); c3951_6.info("updated order line item", { orderId: c29698_0, orderLineItemId: c29698_1, body: c29698_4 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_SUCCESS", orderId: c29698_0 }); revision = c29698_5.body.revision; c25755_4 = 0; } catch ($e) { const r38 = $e; let r8 = r38; c25755_3 = r38; if (c25755_4 !== 0) { while (true) { try { const r152 = c25755_3; c25755_4 = 0; c29698_6 = r152; captureBillingException(c29698_6, { tags: { source: "OrderActionCreators_patchOrderLineItem" }, extra: { orderId: c29698_0, orderLineItemId: c29698_1, subscriptionPlanId: c29698_2 } }); c3951_6.error("failed to update order line item id", { error: c29698_6, orderId: c29698_0, orderLineItemId: c29698_1 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_FAIL" }); throw c29698_6; } catch (r148) { r8 = r148; c25755_3 = r148; if (c25755_4 === 0) { break; } } } } throw r8; } return revision; } export async function patchOrder(c25756_0) { let r160; let c25756_3; let c25756_4 = 0; let c29699_0, c29699_1, c29699_2, c29699_3, c29699_4, c29699_5, c29699_6, c29699_7; try { c29699_0 = void 0; c29699_1 = void 0; c29699_2 = void 0; c29699_3 = void 0; c29699_4 = void 0; c29699_0 = c25756_0.orderId; c29699_1 = c25756_0.expectedRevision; c29699_2 = c25756_0.orderLineItems; c29699_3 = c25756_0.subscriptionFacet; c29699_4 = c25756_0.externalGatewayFacet; c29699_5 = void 0; c29699_6 = void 0; await void 0; Dispatcher.dispatch({ type: "ORDER_UPDATE_START" }); c25756_4 = 1; c29699_5 = { expected_revision: c29699_1 }; if (c29699_2 != null) { c29699_5.order_line_items = c29699_2; } if (c29699_3 != null) { c29699_5.subscription_facet = c29699_3; } if (c29699_4 != null) { c29699_5.external_gateway_facet = c29699_4; } c29699_6 = (await HTTP.patch({ url: Endpoints.ORDER_UPDATE(c29699_0), body: c29699_5, rejectWithError: true })).body; c3951_6.info("patched order", { orderId: c29699_0, body: c29699_5 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_SUCCESS", orderId: c29699_0 }); r160 = c29699_6; c25756_4 = 0; } catch ($e) { const r39 = $e; let r8 = r39; c25756_3 = r39; if (c25756_4 !== 0) { while (true) { try { const r169 = c25756_3; c25756_4 = 0; c29699_7 = r169; captureBillingException(c29699_7, { tags: { source: "OrderActionCreators_patchOrder" }, extra: { orderId: c29699_0, orderLineItems: c29699_2 } }); c3951_6.error("failed to patch order", { error: c29699_7, orderId: c29699_0 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_FAIL" }); throw c29699_7; } catch (r165) { r8 = r165; c25756_3 = r165; if (c25756_4 === 0) { break; } } } } throw r8; } return r160; } export async function updateOrder(c25757_0) { let revision; let c25757_3; let c25757_4 = 0; let c29700_0, c29700_1, c29700_2, c29700_3, c29700_4, c29700_5, c29700_6; try { c29700_0 = void 0; c29700_1 = void 0; c29700_2 = void 0; c29700_0 = c25757_0.orderId; c29700_1 = c25757_0.giftInfo; c29700_2 = c25757_0.expectedRevision; c29700_3 = void 0; c29700_4 = void 0; c29700_5 = void 0; await void 0; Dispatcher.dispatch({ type: "ORDER_UPDATE_START" }); c25757_4 = 1; c29700_3 = { expected_revision: c29700_2 }; if (c29700_1 != null) { c29700_4 = {}; if (c29700_1.recipient_id != null) { c29700_4.recipient_id = c29700_1.recipient_id; } if (c29700_1.gift_style != null) { c29700_4.gift_style = c29700_1.gift_style; } if (c29700_1.emoji_id != null) { c29700_4.emoji_id = c29700_1.emoji_id; } if (c29700_1.emoji_name != null) { c29700_4.emoji_name = c29700_1.emoji_name; } if (c29700_1.sound_id != null) { c29700_4.sound_id = c29700_1.sound_id; } if (c29700_1.reward_sku_ids != null) { c29700_4.reward_sku_ids = c29700_1.reward_sku_ids; } if (c29700_1.custom_message_contents != null) { c29700_4.custom_message_contents = c29700_1.custom_message_contents; } c29700_3.gifting_facet = { is_gift: true, gift_customization: c29700_4 }; } c29700_5 = await HTTP.patch({ url: Endpoints.ORDER_UPDATE(c29700_0), body: c29700_3, rejectWithError: true }); c3951_6.info("updated order with gift customization", { orderId: c29700_0, body: c29700_3 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_SUCCESS", orderId: c29700_0 }); revision = c29700_5.body.revision; c25757_4 = 0; } catch ($e) { const r39 = $e; let r8 = r39; c25757_3 = r39; if (c25757_4 !== 0) { while (true) { try { const r209 = c25757_3; c25757_4 = 0; c29700_6 = r209; captureBillingException(c29700_6, { tags: { source: "OrderActionCreators_updateOrder" }, extra: { orderId: c29700_0, giftInfo: c29700_1 } }); c3951_6.error("failed to update order", { error: c29700_6, orderId: c29700_0 }); await Dispatcher.dispatch({ type: "ORDER_UPDATE_FAIL" }); throw c29700_6; } catch (r205) { r8 = r205; c25757_3 = r205; if (c25757_4 === 0) { break; } } } } throw r8; } return revision; } export { discardOrder }; export async function cancelSigningAndDiscardOrder(c25759_0) { let c25759_3; let c25759_4 = 0; let c29702_0, c29702_1; L12: { try { c29702_0 = c25759_0; c25759_4 = 1; await cancelOrderSigning(c25759_0); await (0, discardOrder)(c29702_0); c25759_4 = 0; } catch ($e) { const r28 = $e; let r8 = r28; c25759_3 = r28; if (c25759_4 !== 0) { while (true) { try { const r75 = c25759_3; c25759_4 = 0; c29702_1 = r75; captureBillingException(c29702_1, { tags: { source: "OrderActionCreators_cancelSigningAndDiscardOrder" }, extra: { orderId: c29702_0 } }); break L12; } catch (r72) { r8 = r72; c25759_3 = r72; if (c25759_4 === 0) { break; } } } } throw r8; } } } export async function markOrderAsSigningInProgress(orderId) { L12: { const orderId3 = orderId; if (value != null) { c3951_6.info("signing already in progress, awaiting existing promise", { orderId }); await value; break L12; } value = (async () => { let c31408_2; let c31408_3 = 0; let c31955_0, c31955_1; try { c31955_0 = void 0; Dispatcher.dispatch({ type: "ORDER_MARK_SIGNING_START", orderId: orderId3 }); c31408_3 = 2; c31955_0 = await getOrder(orderId3); if (c31955_0 == null) { throw new Error(`Order ${orderId3} not found`); } await HTTP.post({ url: Endpoints.ORDER_SIGN(orderId3), body: { expected_revision: c31955_0.revision }, rejectWithError: true }); c3951_6.info("marked order as signing in progress", { orderId: orderId3, revision: c31955_0.revision }); await Dispatcher.dispatch({ type: "ORDER_MARK_SIGNING_SUCCESS", orderId: orderId3 }); c31408_3 = 0; value = null; } catch ($e) { const r46 = $e; let r7 = r46; c31408_2 = r46; let r47 = c31408_3; if (r47 !== 0) { while (true) { if (r47 === 1) { try { const r250 = c31408_2; c31408_3 = 0; value = null; throw r250; } catch (r248) { r7 = r248; c31408_2 = r248; r47 = c31408_3; if (r47 === 0) { break; } } } else { try { const r188 = c31408_2; c31408_3 = 1; c31955_1 = r188; captureBillingException(new Error("failed to mark order as signing in progress"), { tags: { source: "OrderActionCreators_markOrderAsSigningInProgress" }, extra: { orderId: orderId3, response: c31955_1 } }); c3951_6.error("failed to mark order as signing in progress", { response: c31955_1, orderId: orderId3 }); await Dispatcher.dispatch({ type: "ORDER_MARK_SIGNING_FAIL", orderId: orderId3 }); throw c31955_1; } catch (r185) { r7 = r185; c31408_2 = r185; r47 = c31408_3; if (r47 === 0) { break; } } } } } throw r7; } })(); await value; return void 0; } } export { cancelOrderSigning };