Files
discord-decomp/sources/modules/rpc/server/commands/application.tsx
T
2026-07-27 16:20:00 +03:00

89 lines
5.3 KiB
TypeScript

/* Metro module 13017; source: modules/rpc/server/commands/application.tsx; dependencies: [4234, 4135, 661, 8079, 8081, 13018, 7504, 8076, 8097, 683, 507, 7502, 2] */
function _fun99372(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#99372, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13207:6, offset: 0x021c5ddb, size: 246 bytes, params: 8, frame: 21
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const applicationStore = importDefault(4234) /* metro dependency 4234: ApplicationStore */;
const RPC_LOCAL_SCOPE = (require(4135) /* metro dependency 4135: Constants */).RPC_LOCAL_SCOPE;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_4 = constantsModule.ApplicationFlags;
const env0_5 = constantsModule.Endpoints;
const RPCCommands = constantsModule.RPCCommands;
const env0_6 = constantsModule.RPCErrors;
object2 = {};
const SEND_ANALYTICS_EVENT = RPCCommands.SEND_ANALYTICS_EVENT;
object2[SEND_ANALYTICS_EVENT] = {validation: validation, handler: handler_99374};
const GET_APPLICATION_TICKET = RPCCommands.GET_APPLICATION_TICKET;
object2[GET_APPLICATION_TICKET] = {scope: RPC_LOCAL_SCOPE, handler: handler_99375};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/rpc/server/commands/application.tsx');
exports.default = object2;
}
function validation(a0) { // fn#99373, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13207:247, offset: 0x021c5ed1, size: 110 bytes, params: 2, frame: 18
let value = (importDefault(8079) /* metro dependency 8079: createRpcJoiSchemaObject */)(a0);
value = value.required();
const keys = value.keys;
const object2 = {};
object2.event_name = a0.string().required();
object2.event_properties = (importDefault(8079) /* metro dependency 8079: createRpcJoiSchemaObject */)(a0).required();
return Reflect.apply(keys, value, [object2]);
}
function handler_99374({socket, args}) { // fn#99374, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13207:352, offset: 0x021c5f3f, size: 416 bytes, params: 2, frame: 21
var object3;
var activeAnalyticsSessionIDs;
var track;
var object4;
const event_name = args.event_name;
const event_properties = args.event_properties;
var value;
const rpcHelpersModule = require(8081) /* metro dependency 8081: RPCHelpers */;
rpcHelpersModule.validatePostMessageTransport(socket.transport);
const moduleValue2 = rpcHelpersModule;
moduleValue2.validateApplication(socket.application);
const id = socket.application.id;
const value3 = (importDefault(13018) /* metro dependency 13018: getCurrentEmbeddedActivityChannel */)();
const guildId = value3?.getGuildId();
const application = ApplicationStore.getApplication(id);
const applicationFlagUtilsModule = require(7504) /* metro dependency 7504: ApplicationFlagUtils */;
const hasApplicationFlag = applicationFlagUtilsModule.hasApplicationFlag;
const EMBEDDED_FIRST_PARTY = ApplicationFlags.EMBEDDED_FIRST_PARTY;
if (Reflect.apply(hasApplicationFlag, applicationFlagUtilsModule, [application, EMBEDDED_FIRST_PARTY])) {
activeAnalyticsSessionIDs = (require(8097) /* metro dependency 8097: EmbeddedActivitiesManager */).getActiveAnalyticsSessionIDs(id);
object3 = {activity_application_id: id};
object3.activity_channel_type = value3?.type;
object3.activity_guild_id = guildId;
object3.activity_user_session_id = activeAnalyticsSessionIDs?.activityUserSessionId;
value = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
track = value.track;
object4 = {};
copyDataProperties(object4, object3, application);
copyDataProperties(object4, event_properties, application);
Reflect.apply(track, value, [event_name, object4]);
return undefined;
}
const defaultImport = importDefault(8076) /* metro dependency 8076: RPCError */;
const INVALID_COMMAND = RPCErrors.INVALID_COMMAND;
throw new defaultImport({errorCode: INVALID_COMMAND}, 'This application cannot access this API');
}
function handler_99375({socket}) { // fn#99375, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13207:1013, offset: 0x021c60df, size: 234 bytes, params: 2, frame: 18
const id = socket.application.id;
if (id == null) {
throw new (importDefault(8076) /* metro dependency 8076: RPCError */)({errorCode: RPCErrors.INVALID_COMMAND},
'No application.');
}
const HTTP = (require(507) /* metro dependency 507: HTTPUtils */).HTTP;
const post = HTTP.post;
const object3 = {'url': null, 'body': null, 'retries': 3, 'oldFormErrors': true, 'rejectWithError': false};
object3.url = Endpoints.APPLICATION_TICKET(id);
const object4 = {};
object4.test_mode = (require(7502) /* metro dependency 7502: TestModeUtils */).isTestModeForApplication(id);
object3.body = object4;
return Reflect.apply(post, HTTP, [object3]).then(function(a0) {
return a0.body;
});
}