170 lines
6.0 KiB
TypeScript
170 lines
6.0 KiB
TypeScript
// Metro module 13551 (f13552).
|
|
import * as _Constants from "../../Constants";
|
|
import { RPCCommands, SKUTypes, RPCErrors } from "../../../../Constants";
|
|
import { fetchAllSubscriptionListingsDataForApplication } from "../../../premium_apps/ApplicationSubscriptionsActionCreators";
|
|
import { validateTransportType } from "../../helpers/validateTransportType";
|
|
import RPCError from "../../RPCError";
|
|
import { isTestModeForApplication } from "../../../game_store/TestModeUtils";
|
|
import { fetchTestSKUsForApplication } from "../../../../actions/SKUActionCreators";
|
|
import { fetchAllStoreListingsForApplication } from "../../../../actions/StoreListingActionCreators";
|
|
import { fetchUserEntitlementsForApplication } from "../../../../actions/EntitlementActionCreators";
|
|
import { HermesBuiltin } from "../../../../_hermes/prelude";
|
|
function $mk116539($env) {
|
|
return (a0) => {
|
|
if (a0 == null) {
|
|
return null;
|
|
}
|
|
const subscription_listings = a0.subscription_listings;
|
|
if (subscription_listings == null) {
|
|
return null;
|
|
}
|
|
const r7 = $env;
|
|
let env31692 = {
|
|
$parent: $env
|
|
};
|
|
const r5 = [];
|
|
env31692[0] = r5;
|
|
subscription_listings.forEach((subscription_listing) => {
|
|
subscription_listing.subscription_plans.forEach((subscription_plan) => {
|
|
const price = subscription_plan?.price;
|
|
const r10 = env31692.$parent[1].find((item) => item.id === subscription_plan.sku_id);
|
|
if (r10 != null) {
|
|
let release_date = r10.release_date;
|
|
if (release_date == null) {
|
|
release_date = null;
|
|
}
|
|
env31692[0].push({
|
|
id: subscription_plan.sku_id,
|
|
name: r10.name,
|
|
type: r10.type,
|
|
price: {
|
|
amount: price,
|
|
currency: env31692.$parent.$parent[5].USD
|
|
},
|
|
application_id: subscription_listing.application_id,
|
|
flags: subscription_listing.sku_flags,
|
|
release_date
|
|
});
|
|
}
|
|
});
|
|
});
|
|
r5.filter((item) => item?.price != null).forEach($mk118395(r7));
|
|
};
|
|
}
|
|
function $mk116541($env) {
|
|
return (a0) => a0.sku.type !== SKUTypes.SUBSCRIPTION_GROUP;
|
|
}
|
|
function $mk118395($env) {
|
|
return (a0) => $env[3].push(a0);
|
|
}
|
|
let getSkusHandler, getEntitlementsHandler;
|
|
let env9410 = {};
|
|
const getSubscriptionSkusViaListings = async function getSubscriptionSkusViaListings(c27503_0, c27503_1) {
|
|
let env30640;
|
|
const r9 = env30640 = {
|
|
$parent: env9410
|
|
};
|
|
let c27503_2 = r9;
|
|
env30640[0] = c27503_0;
|
|
env30640[1] = c27503_1;
|
|
env30640[2] = void 0;
|
|
env30640[3] = void 0;
|
|
const r17 = await Promise.all(c27503_1.filter((item) => item.type === SKUTypes.SUBSCRIPTION_GROUP).map((function() {
|
|
let c31691_0 = async (c32048_0) => await fetchAllSubscriptionListingsDataForApplication(env30640[0], c32048_0.id);
|
|
return function() {
|
|
return c31691_0.apply(this, arguments);
|
|
};
|
|
})()));
|
|
env30640[2] = r17;
|
|
env30640[3] = [];
|
|
env30640[2].forEach($mk116539(c27503_2));
|
|
return env30640[3];
|
|
};
|
|
getSkusHandler = async function getSkusHandler(c27504_0) {
|
|
let r198;
|
|
let c27504_1, c27504_2, value, c27504_4, c27504_5;
|
|
L22: {
|
|
let env30641;
|
|
const r9 = env9410;
|
|
c27504_5 = r9;
|
|
const r35 = env30641 = {
|
|
$parent: r9
|
|
};
|
|
c27504_4 = r35;
|
|
env30641[0] = void 0;
|
|
env30641[0] = c27504_0.socket;
|
|
env30641[1] = void 0;
|
|
env30641[2] = void 0;
|
|
env30641[3] = void 0;
|
|
env30641[4] = void 0;
|
|
await void 0;
|
|
validateTransportType(env30641[0].transport);
|
|
env30641[1] = env30641[0].application.id;
|
|
if (env30641[1] == null) {
|
|
throw new RPCError({
|
|
errorCode: RPCErrors.INVALID_COMMAND
|
|
}, "No application.");
|
|
}
|
|
if (isTestModeForApplication(env30641[1])) {
|
|
env30641[2] = await fetchTestSKUsForApplication(env30641[1], false);
|
|
env30641[3] = await (0, getSubscriptionSkusViaListings)(env30641[1], env30641[2]);
|
|
c27504_1 = 0;
|
|
const r197 = env30641[2].filter((item) => item.price != null);
|
|
r198 = [];
|
|
const r201 = HermesBuiltin.arraySpread(r198, r197, c27504_1);
|
|
c27504_1 = r201;
|
|
c27504_1 = HermesBuiltin.arraySpread(r198, env30641[3], r201);
|
|
break L22;
|
|
}
|
|
env30641[4] = await fetchAllStoreListingsForApplication(env30641[1]);
|
|
c27504_2 = 0;
|
|
const r126 = env30641[4].filter($mk116541(env9410)).map((item) => item.sku).filter((item) => item.price != null);
|
|
value = [];
|
|
c27504_2 = HermesBuiltin.arraySpread(value, r126, c27504_2);
|
|
c27504_2 = HermesBuiltin.arraySpread(value, await (0, getSubscriptionSkusViaListings)(env30641[1], env30641[4].map((item) => item.sku)), c27504_2);
|
|
return value;
|
|
}
|
|
return r198;
|
|
};
|
|
getEntitlementsHandler = function getEntitlementsHandler({ socket }) {
|
|
validateTransportType(socket.transport);
|
|
const id = socket.application.id;
|
|
if (id == null) {
|
|
throw new RPCError({
|
|
errorCode: RPCErrors.INVALID_COMMAND
|
|
}, "No application.");
|
|
}
|
|
return fetchUserEntitlementsForApplication(id);
|
|
};
|
|
const { RPC_AUTHENTICATED_SCOPE, RPC_LOCAL_SCOPE, RPC_SCOPE_CONFIG } = _Constants;
|
|
const r33 = {};
|
|
const GET_SKUS = RPCCommands.GET_SKUS;
|
|
const r35 = {};
|
|
r35[RPC_SCOPE_CONFIG.ANY] = [RPC_AUTHENTICATED_SCOPE, RPC_LOCAL_SCOPE];
|
|
r35.handler = getSkusHandler;
|
|
r33[GET_SKUS] = r35;
|
|
const GET_ENTITLEMENTS = RPCCommands.GET_ENTITLEMENTS;
|
|
const r37 = {};
|
|
r37[RPC_SCOPE_CONFIG.ANY] = [RPC_AUTHENTICATED_SCOPE, RPC_LOCAL_SCOPE];
|
|
r37.handler = getEntitlementsHandler;
|
|
r33[GET_ENTITLEMENTS] = r37;
|
|
const GET_SKUS_EMBEDDED = RPCCommands.GET_SKUS_EMBEDDED;
|
|
const r41 = {};
|
|
r41[RPC_SCOPE_CONFIG.ANY] = [RPC_AUTHENTICATED_SCOPE, RPC_LOCAL_SCOPE];
|
|
r41.handler = async (c20529_0) => {
|
|
const value2 = {};
|
|
value2.skus = await getSkusHandler(c20529_0);
|
|
return value2;
|
|
};
|
|
r33[GET_SKUS_EMBEDDED] = r41;
|
|
const GET_ENTITLEMENTS_EMBEDDED = RPCCommands.GET_ENTITLEMENTS_EMBEDDED;
|
|
const r46 = {};
|
|
r46[RPC_SCOPE_CONFIG.ANY] = [RPC_AUTHENTICATED_SCOPE, RPC_LOCAL_SCOPE];
|
|
r46.handler = async (c20530_0) => {
|
|
const value3 = {};
|
|
value3.entitlements = await getEntitlementsHandler(c20530_0);
|
|
return value3;
|
|
};
|
|
r33[GET_ENTITLEMENTS_EMBEDDED] = r46;
|
|
export default r33;
|