Files
2026-07-28 01:06:53 +03:00

456 lines
25 KiB
TypeScript

/* Metro module 13038; source: modules/rpc/server/commands/providers.tsx; dependencies: [5, 5040, 4135, 661, 4237, 482, 8079, 8081, 4915, 8076, 694, 1239, 9354, 5042, 2] */
import Module00005 from '../../../../by-id/module-00005.js'; /* Metro dependency 5 */
import Dispatcher from '../../../../Dispatcher.tsx'; /* Metro dependency 694 */
import ConnectedAccountsStore from '../../../../stores/ConnectedAccountsStore.tsx'; /* Metro dependency 5040 */
import RPCError from '../../RPCError.tsx'; /* Metro dependency 8076 */
import CreateRpcJoiSchemaObject from '../../helpers/createRpcJoiSchemaObject.tsx'; /* Metro dependency 8079 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../../../external/discord_common/js/shared/Constants.tsx'; /* Metro dependency 482 */
import * as ConstantsModule2 from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ComponentDispatchUtilsModule from '../../../../utils/ComponentDispatchUtils.tsx'; /* Metro dependency 1239 */
import * as ConstantsModule3 from '../../Constants.tsx'; /* Metro dependency 4135 */
import * as ConstantsModule4 from '../../../activities/Constants.tsx'; /* Metro dependency 4237 */
import * as RPCHelpersModule from '../../RPCHelpers.tsx'; /* Metro dependency 8081 */
function _fun99519(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#99519, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:6, offset: 0x021cbb6f, size: 434 bytes, params: 8, frame: 26
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = Module00005;
const {RPC_AUTHENTICATED_SCOPE, RPC_SCOPE_CONFIG} = ConstantsModule3;
const constantsModule = ConstantsModule2;
const env0_6 = constantsModule.AnalyticsLocations;
const env0_7 = constantsModule.ComponentActions;
const env0_8 = constantsModule.PlatformTypes;
const {AM_HARMONY_PRD_APPLICATION_ID,
AM_HARMONY_STG_APPLICATION_ID} = ConstantsModule4;
const constantsModule2 = ConstantsModule;
const RPCCommands = constantsModule2.RPCCommands;
const env0_9 = constantsModule2.RPCErrors;
const Set = global.Set;
const set = new Set([AM_HARMONY_PRD_APPLICATION_ID, AM_HARMONY_STG_APPLICATION_ID]);
object = {};
const GET_PROVIDER_ACCESS_TOKEN = RPCCommands.GET_PROVIDER_ACCESS_TOKEN;
let ANY = RPC_SCOPE_CONFIG.ANY;
object[GET_PROVIDER_ACCESS_TOKEN] = {scope: {[ANY]: [RPC_AUTHENTICATED_SCOPE]}, validation: validation_99520,
handler: handler_99521};
const MAYBE_GET_PROVIDER_ACCESS_TOKEN = RPCCommands.MAYBE_GET_PROVIDER_ACCESS_TOKEN;
const object4 = {};
ANY = RPC_SCOPE_CONFIG.ANY;
object4.scope = {[ANY]: [RPC_AUTHENTICATED_SCOPE]};
object4.validation = validation_99534;
const env0_3 = value(_fun99536);
object4.handler = handler_99537;
object[MAYBE_GET_PROVIDER_ACCESS_TOKEN] = object4;
(FileImportTrackerModule).fileFinishedImporting('modules/rpc/server/commands/providers.tsx');
exports.default = object;
function validation_99520(a0) { // fn#99520, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:449, offset: 0x021cbd21, size: 95 bytes, params: 2, frame: 14
let value = (CreateRpcJoiSchemaObject)(a0);
value = value.required();
const keys = value.keys;
const object = {};
object.provider = a0.string().required();
object.connection_redirect = a0.string();
return Reflect.apply(keys, value, [object]);
}
function handler_99521({socket, args}) { // fn#99521, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:552, offset: 0x021cbd80, size: 445 bytes, params: 2, frame: 20
var Promise;
var value5;
var promise;
var defaultImport4;
const provider = args.provider;
const env0_1 = args.connection_redirect;
var value;
RPCHelpersModule.validatePostMessageTransport(socket.transport);
const value2 = RPCHelpersModule.validateApplication(socket.application);
if ((importDefault(4915) /* metro dependency 4915: Platforms */).get(provider) == null) {
defaultImport4 = importDefault(8076) /* metro dependency 8076: RPCError */;
({}).errorCode = RPCErrors.INVALID_PROVIDER;
value = 'Platform not found for provider "' + provider + '"';
value = new defaultImport4();
throw value;
}
const AMAZON_MUSIC = PlatformTypes.AMAZON_MUSIC;
if (provider !== AMAZON_MUSIC) {
throw new (importDefault(8076) /* metro dependency 8076: RPCError */)({errorCode: RPCErrors.UNAUTHORIZED_FOR_APPLICATION},
'Command not available for this application');
}
const binding = env0_10;
if (binding.has(value2)) {
Promise = global.Promise;
value = _fun99522();
value5 = Object.create(Promise.prototype, {constructor: {value: Promise}});
promise = new Promise();
return promise instanceof Object ? promise : value5;
}
const defaultImport2 = importDefault(8076) /* metro dependency 8076: RPCError */;
const UNAUTHORIZED_FOR_APPLICATION = RPCErrors.UNAUTHORIZED_FOR_APPLICATION;
throw new defaultImport2({errorCode: UNAUTHORIZED_FOR_APPLICATION}, 'Command not available for this application');
function _fun99522() { // fn#99522, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1096, offset: 0x021cbf3d, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_4(_fun99523);
return _fun99533;
function* _fun99523(a0, a1) { // fn#99523, offset: 0x021cbf61, size: 44 bytes, params: 3, frame: 2
const cleanupPromise = function() {
importDefault(dependencyMap[10]).unsubscribe('USER_CONNECTIONS_UPDATE', handleConnectionsUpdate);
var ComponentDispatch = require(dependencyMap[11]).ComponentDispatch;
var CONNECTIONS_CALLBACK_ERROR = ComponentActions.CONNECTIONS_CALLBACK_ERROR;
ComponentDispatch.unsubscribe(CONNECTIONS_CALLBACK_ERROR, handleConnectionsCallbackError);
};
return _fun99524;
function* _fun99524(a0, a1) { // fn#99524, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1116, offset: 0x021cbf8d, size: 417 bytes, params: 3, frame: 23
var environment;
var handleConnectionsUpdate_995252;
var closure2;
var connectedAccountsStoreBinding;
var getAccount;
var value3;
var value4;
var property;
var defaultImport;
var refreshAccessToken;
var binding;
var type;
var id;
var value5;
var value6;
var value7;
var value8;
var object;
var defaultImport2;
var OAUTH2_ERROR;
var prototype;
var defaultImport22;
var error;
var defaultImport3;
var subscribe;
var ComponentDispatch;
var CONNECTIONS_CALLBACK_ERROR;
var defaultImport4;
var ACTIVITY_RPC;
let value = undefined;
if (false) {
return value;
}
reduciblePort39: while (true) {
exceptionLanding37: while (true) {
var env0_0 = a0;
var env0_1 = a1;
handleConnectionsUpdate_995252 = handleConnectionsUpdate_99525;
var handleConnectionsUpdate_99525 = handleConnectionsUpdate_995252;
closure2 = function() {
var defaultImport = importDefault(dependencyMap[9]);
var object = {};
object.errorCode = RPCErrors.OAUTH2_ERROR;
var value4 = 'OAuth2 setup for "' + provider + '" failed';
var value5 = Object.create(defaultImport.prototype, {constructor: {value: defaultImport}});
var value6 = new defaultImport(object, value4);
require(value6 instanceof Object ? value6 : value5);
cleanupPromise_99528();
};
var handleConnectionsCallbackError_99527 = closure2;
var cleanupPromise_99528Binding = cleanupPromise_99528;
value = environment.__proto__.__proto__.__proto__;
connectedAccountsStoreBinding = ConnectedAccountsStore;
getAccount = connectedAccountsStoreBinding.getAccount;
value3 = environment.__proto__.__proto__;
value4 = Reflect.apply(getAccount, connectedAccountsStoreBinding, [null, provider]);
if (value4 == null) {
defaultImport3 = importDefault(dependencyMap[10]);
subscribe = defaultImport3.subscribe;
Reflect.apply(subscribe, defaultImport3, ['USER_CONNECTIONS_UPDATE', handleConnectionsUpdate_995252]);
ComponentDispatch = require(dependencyMap[11]).ComponentDispatch;
subscribe = ComponentDispatch.subscribe;
CONNECTIONS_CALLBACK_ERROR = ComponentActions.CONNECTIONS_CALLBACK_ERROR;
Reflect.apply(subscribe, ComponentDispatch, [CONNECTIONS_CALLBACK_ERROR, closure2]);
defaultImport4 = importDefault(dependencyMap[12]);
type = env2_2.type;
ACTIVITY_RPC = AnalyticsLocations.ACTIVITY_RPC;
defaultImport4({platformType: type, location: ACTIVITY_RPC, successRedirect: connection_redirect});
break reduciblePort39;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
property = dependencyMap[13];
} catch (error) {
break exceptionLanding37;
}
try {
defaultImport = importDefault(property);
} catch (error) {
break exceptionLanding37;
}
try {
refreshAccessToken = defaultImport.refreshAccessToken;
} catch (error) {
break exceptionLanding37;
}
try {
binding = env2_2;
} catch (error) {
break exceptionLanding37;
}
try {
type = binding.type;
} catch (error) {
break exceptionLanding37;
}
try {
id = value4.id;
} catch (error) {
break exceptionLanding37;
}
try {
value5 = Reflect.apply(refreshAccessToken, defaultImport, [type, id]);
} catch (error) {
break exceptionLanding37;
}
yield value5;
try {
value6 = undefined;
value7 = false;
} catch (error) {
break exceptionLanding37;
}
if (value7) {
return value6;
}
try {
value8 = value6 == null;
} catch (error) {
break exceptionLanding37;
}
if (!value8) {
try {
object = {};
} catch (error) {
break exceptionLanding37;
}
try {
object.access_token = value6;
} catch (error) {
break exceptionLanding37;
}
try {
a0(object);
} catch (error) {
break exceptionLanding37;
}
break reduciblePort39;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
property = dependencyMap[9];
} catch (error) {
break exceptionLanding37;
}
try {
defaultImport2 = importDefault(property);
} catch (error) {
break exceptionLanding37;
}
try {
object = {};
} catch (error) {
break exceptionLanding37;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
OAUTH2_ERROR = RPCErrors.OAUTH2_ERROR;
} catch (error) {
break exceptionLanding37;
}
try {
object.errorCode = OAUTH2_ERROR;
} catch (error) {
break exceptionLanding37;
}
try {
prototype = defaultImport2.prototype;
} catch (error) {
break exceptionLanding37;
}
try {
} catch (error) {
break exceptionLanding37;
}
try {
defaultImport22 = new defaultImport2(object,
'Refreshing access token did not return a new access token');
} catch (error) {
break exceptionLanding37;
}
try {
value = defaultImport22 instanceof Object ? defaultImport22 : value;
} catch (error) {
break exceptionLanding37;
}
try {
throw value;
} catch (error) {
break exceptionLanding37;
}
}
a1(error);
break reduciblePort39;
}
function handleConnectionsUpdate_99525(a0) { // fn#99525, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1170, offset: 0x021cc12e, size: 93 bytes, params: 2, frame: 12
var environment;
let value = environment.__proto__.__proto__.__proto__;
if (env3_2 != null) {
value = (a0.accounts ?? []).find(_fun99526);
if (value != null) {
env0_0({access_token: value.access_token});
cleanupPromise_99528();
}
}
function _fun99526({type}) { // fn#99526, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1264, offset: 0x021cc18b, size: 26 bytes, params: 2, frame: 2
return type === env4_2.type;
}
}
function cleanupPromise_99528() { // fn#99528, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1483, offset: 0x021cc222, size: 98 bytes, params: 1, frame: 17
const defaultImport = Dispatcher;
let unsubscribe = defaultImport.unsubscribe;
Reflect.apply(unsubscribe, defaultImport, ['USER_CONNECTIONS_UPDATE', handleConnectionsUpdate_99525]);
const ComponentDispatch = (ComponentDispatchUtilsModule).ComponentDispatch;
unsubscribe = ComponentDispatch.unsubscribe;
const CONNECTIONS_CALLBACK_ERROR = ComponentActions.CONNECTIONS_CALLBACK_ERROR;
Reflect.apply(unsubscribe, ComponentDispatch, [CONNECTIONS_CALLBACK_ERROR, handleConnectionsCallbackError_99527]);
}
}
function handleConnectionsUpdate(a0) { // fn#99529, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1170, offset: 0x021cc284, size: 96 bytes, params: 2, frame: 12
var environment;
var value2;
let value = environment.__proto__.__proto__;
if (env2_2 != null) {
value = (a0.accounts ?? []).find(_fun99530);
if (value != null) {
value2 = environment.__proto__;
env1_0({access_token: value.access_token});
cleanupPromise();
}
}
function _fun99530({type}) { // fn#99530, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1264, offset: 0x021cc2e4, size: 26 bytes, params: 2, frame: 2
return type === env3_2.type;
}
}
function handleConnectionsCallbackError() { // fn#99531, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:1347, offset: 0x021cc2fe, size: 125 bytes, params: 1, frame: 17
let value = environment.__proto__.__proto__.__proto__;
const binding = env3_4;
const defaultImport = RPCError;
const OAUTH2_ERROR = RPCErrors.OAUTH2_ERROR;
value = environment.__proto__.__proto__;
value = 'OAuth2 setup for "' + provider + '" failed';
value = new defaultImport({errorCode: OAUTH2_ERROR}, value);
binding(value);
cleanupPromise();
}
}
function _fun99533() { // fn#99533, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:2148, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
}
}
function validation_99534(a0) { // fn#99534, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:2265, offset: 0x021cc3dd, size: 81 bytes, params: 2, frame: 13
let value = (CreateRpcJoiSchemaObject)(a0);
value = value.required();
const keys = value.keys;
const object = {};
object.provider = a0.string().required();
return Reflect.apply(keys, value, [object]);
}
async function _fun99536({socket, args}) { // fn#99536, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:2343, offset: 0x021cc442, size: 641 bytes, params: 2, frame: 21
var account;
var value12;
var value13;
var value21;
if (false) {
return undefined;
}
const provider = args.provider;
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__;
let binding = env1_0;
const binding2 = env1_2;
const value4 = binding(binding2[7]);
value4.validatePostMessageTransport(socket.transport);
const value5 = binding(binding2[7]);
const value6 = value5.validateApplication(socket.application);
const value8 = env1_1(binding2[8]).get(provider);
if (value8 == null) {
value21 = env1_1(env1_2[9]);
value = 'Platform not found for provider "' + provider + '"';
value = new value21({errorCode: env1_9.INVALID_PROVIDER}, value);
throw value;
}
const AMAZON_MUSIC = env1_8.AMAZON_MUSIC;
if (provider !== AMAZON_MUSIC) {
throw new env1_1(env1_2[9])({errorCode: env1_9.UNAUTHORIZED_FOR_APPLICATION},
'Command not available for this application');
}
if (Reflect.apply(env1_10.has, binding, [value6])) {
binding = env1_5;
account = binding.getAccount(null, provider);
if (account == null) {
throw new env1_1(env1_2[9])({errorCode: env1_9.NO_CONNECTION_FOUND}, 'No connection found');
}
binding = env1_1;
value12 = binding(env1_2[13]);
await value12.refreshAccessToken(value8.type, account.id);
value13 = undefined;
if (false) {
return value13;
}
if (value13 == null) {
throw new env1_1(env1_2[9])({errorCode: env1_9.OAUTH2_ERROR},
'Refreshing access token did not return a new access token');
}
return {access_token: value13};
}
const value9 = env1_1(env1_2[9]);
const UNAUTHORIZED_FOR_APPLICATION = env1_9.UNAUTHORIZED_FOR_APPLICATION;
throw new value9({errorCode: UNAUTHORIZED_FOR_APPLICATION}, 'Command not available for this application');
}
function handler_99537() { // fn#99537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13228:3164, offset: 0x00d6afe6, size: 30 bytes, params: 1, frame: 13
return env0_3.apply(this, arguments);
}
}
global.__d(_fun99519, 13038, [5, 5040, 4135, 661, 4237, 482, 8079, 8081, 4915, 8076, 694, 1239, 9354, 5042,
2]) /* metro module 13038, dependencies: [5, 5040, 4135, 661, 4237, 482, 8079, 8081, 4915, 8076, 694, 1239, 9354, 5042, 2] */;