Files
discord-decomp/sources/actions/RelationshipActionCreators.tsx
2026-07-28 01:06:53 +03:00

395 lines
23 KiB
TypeScript

/* Metro module 8783; source: actions/RelationshipActionCreators.tsx; dependencies: [57, 1878, 661, 8784, 6722, 4647, 6595, 1244, 8785, 8786, 8787, 507, 3995, 4002, 694, 8789, 6264, 2] */
import Module00057 from '../by-id/module-00057.js'; /* Metro dependency 57 */
import Dispatcher from '../Dispatcher.tsx'; /* Metro dependency 694 */
import UserStore from '../stores/UserStore.tsx'; /* Metro dependency 1878 */
import AlertActionCreators from './AlertActionCreators.tsx'; /* Metro dependency 4647 */
import SafetyToastsActionCreatorsNative from '../modules/safety_common/SafetyToastsActionCreators.native.tsx'; /* Metro dependency 6264 */
import ClearAllIncomingRequestsConfirmationModal from '../modules/people/ClearAllIncomingRequestsConfirmationModal.tsx'; /* Metro dependency 8789 */
import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as HTTPUtilsModule from '../external/discord_common/js/packages/http-utils/HTTPUtils.tsx'; /* Metro dependency 507 */
import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as SharedModule from '../design/shared.tsx'; /* Metro dependency 4002 */
import * as ContextMenuActionCreatorsModule from './ContextMenuActionCreators.tsx'; /* Metro dependency 6722 */
import * as RelationshipConstantsModule from '../modules/relationships/RelationshipConstants.tsx'; /* Metro dependency 8784 */
import * as ClaimAccountModalActionCreatorsNativeModule from '../modules/claim_account/ClaimAccountModalActionCreators.native.tsx'; /* Metro dependency 8785 */
function _fun68665(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#68665, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:6, offset: 0x01c586a1, size: 452 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object = {SHOW_ALWAYS: 0};
object[0] = 'SHOW_ALWAYS';
object.SHOW_ONLY_IF_ACTION_NEEDED = 1;
object[1] = 'SHOW_ONLY_IF_ACTION_NEEDED';
const object2 = {sendRequest: sendRequest_68669, addRelationship: addRelationship,
acceptFriendRequest: acceptFriendRequest, cancelFriendRequest: cancelFriendRequest, removeFriend: removeFriend,
blockUser: blockUser, unblockUser: unblockUser, removeRelationship: removeRelationship_68684,
updateRelationship: function(a0, a1) {
var HTTP = require(dependencyMap[11]).HTTP;
var object = {};
object.url = Endpoints.USER_RELATIONSHIP(a0);
object.body = {nickname: a1};
object.rejectWithError = false;
return HTTP.patch(object);
}, fetchRelationships: fetchRelationships, confirmClearPendingRelationships: confirmClearPendingRelationships,
clearPendingRelationships: clearPendingRelationships, clearPendingSpamAndIgnored: clearPendingSpamAndIgnored,
ignoreUser: ignoreUser, unignoreUser: unignoreUser};
(FileImportTrackerModule).fileFinishedImporting('actions/RelationshipActionCreators.tsx');
exports.default = object2;
exports.RelationshipErrorUXConfig = object;
function showAlert(a0) { // fn#68666, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:213, offset: 0x01c58865, size: 67 bytes, params: 2, frame: 13
(ContextMenuActionCreatorsModule).closeContextMenu();
(AlertActionCreators).show(a0);
}
function handleRelationshipAddError(a0, a1, a2) { // fn#68667, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:406, offset: 0x01c588a8, size: 843 bytes, params: 4, frame: 23
var r8;
var moduleValue;
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
var moduleValue2;
var humanizeAbortCode;
var showAlertBinding;
var object;
const status = a0.status;
const body = a0.body;
let r4 = body && body.code;
if (status === 429) {
if (a1 === env0_10.SHOW_ALWAYS) {
showAlertBinding = showAlert;
object = {};
object.title = intl.string(t['3D5eox']);
object.body = intl.string(t.TuJriJ);
object.confirmText = intl.string(t.DppXIx);
showAlertBinding(object);
}
} else if (status !== 403) {
if (r4 === AbortCodes.USER_QUARANTINED) {
(require(6722) /* metro dependency 6722: ContextMenuActionCreators */).closeContextMenu();
(importDefault(6595) /* metro dependency 6595: openQuarantineModeInfoModalNative */)();
} else {
moduleValue = require(8786) /* metro dependency 8786: UserLimitedAccessUtils */;
if (!moduleValue.isLimitedAccessErrorCode(status, r4)) {
if (r4 !== AbortCodes.RELATIONSHIP_INVALID_NO_CONFIRMATION) {
if (a1 === env0_10.SHOW_ALWAYS) {
if (a2 != null) {
moduleValue2 = require(8787) /* metro dependency 8787: FriendsUtils */;
humanizeAbortCode = moduleValue2.humanizeAbortCode;
r4 = !r4 ? 0 : r4;
r8 = Reflect.apply(humanizeAbortCode, moduleValue2, [r4, a2]);
} else {
r8 = intl.string(t.paDJBM);
}
showAlertBinding = showAlert;
object = {};
object.title = intl.string(t['6moJ8s']);
object.body = r8;
object.confirmText = intl.string(t.BddRzS);
showAlertBinding(object);
}
}
}
}
} else if (r4 === AbortCodes.EMAIL_VERIFICATION_REQUIRED) {
showAlertBinding = showAlert;
object = {};
object.title = intl.string(t.Gqf33E);
object.body = intl.string(t.GHOBdx);
object.confirmText = intl.string(t.HbTSE6);
object.onConfirm = onConfirm_68668;
showAlertBinding(object);
} else if (r4 === AbortCodes.USER_QUARANTINED) {
(require(6722) /* metro dependency 6722: ContextMenuActionCreators */).closeContextMenu();
(importDefault(6595) /* metro dependency 6595: openQuarantineModeInfoModalNative */)();
} else {
moduleValue = require(8786) /* metro dependency 8786: UserLimitedAccessUtils */;
if (!moduleValue.isLimitedAccessErrorCode(status, r4)) {
if (r4 !== AbortCodes.RELATIONSHIP_INVALID_NO_CONFIRMATION) {
if (a1 === env0_10.SHOW_ALWAYS) {
if (a2 != null) {
moduleValue2 = require(8787) /* metro dependency 8787: FriendsUtils */;
humanizeAbortCode = moduleValue2.humanizeAbortCode;
r4 = !r4 ? 0 : r4;
r8 = Reflect.apply(humanizeAbortCode, moduleValue2, [r4, a2]);
} else {
r8 = intl.string(t.paDJBM);
}
showAlertBinding = showAlert;
object = {};
object.title = intl.string(t['6moJ8s']);
object.body = r8;
object.confirmText = intl.string(t.BddRzS);
showAlertBinding(object);
}
}
}
}
throw a0;
function handleRelationshipAddErrorOnConfirm() { // fn#68668, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:887, owner: handleRelationshipAddError.onConfirm, offset: 0x01c58bf3, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
(ClaimAccountModalActionCreatorsNativeModule).openClaimAccountModal();
}
}
function sendRequest_68669({discordTag, context, captchaPayload, note, errorUxConfig = env0_10.SHOW_ALWAYS}) { // fn#68669, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:1386, offset: 0x01c58c18, size: 241 bytes, params: 2, frame: 21
let value = discordTag.split('#');
value = Module00057(value, 2);
const property = value[0];
const property2 = value[1];
const HTTP = (HTTPUtilsModule).HTTP;
const post = HTTP.post;
const object = {};
object.url = Endpoints.USER_RELATIONSHIPS();
const object2 = {username: property};
object2.discriminator = global.parseInt(property2);
object2.note = note;
copyDataProperties(object2, captchaPayload, Endpoints);
object.body = object2;
object.context = context;
object.oldFormErrors = true;
object.rejectWithError = false;
return Reflect.apply(post, HTTP, [object]).catch(_fun68670);
function _fun68670(a0) { // fn#68670, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:1685, offset: 0x01c58d09, size: 32 bytes, params: 2, frame: 15
handleRelationshipAddError(a0, env0_1, discordTag);
}
}
function addRelationship({userId, context, type, fromFriendSuggestion, confirmStrangerRequest, captchaPayload}, a1) { // fn#68671, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:1727, offset: 0x01c58d29, size: 242 bytes, params: 3, frame: 21
let value = a2;
const env0_0 = a1;
const env0_1 = value !== undefined ? value : env0_10.SHOW_ALWAYS;
const env0_2 = UserStore.getUser(userId);
const HTTP = (HTTPUtilsModule).HTTP;
const put = HTTP.put;
const object = {};
object.url = Endpoints.USER_RELATIONSHIP(userId);
const object2 = {type: type, from_friend_suggestion: fromFriendSuggestion,
confirm_stranger_request: confirmStrangerRequest};
copyDataProperties(object2, captchaPayload, userId);
object.body = object2;
object.context = context;
object.oldFormErrors = true;
object.rejectWithError = false;
value = Reflect.apply(put, HTTP, [object]);
value = value.then(function() {
if (require != null) {
require();
}
});
return value.catch(_fun68673);
function _fun68673(a0) { // fn#68673, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2080, offset: 0x01c58e1b, size: 82 bytes, params: 2, frame: 17
let value = environment.__proto__;
const handleRelationshipAddErrorBinding = handleRelationshipAddError;
const binding = env0_1;
value = importDefault(3995) /* metro dependency 3995: UserUtils */;
const getUserTag = value.getUserTag;
handleRelationshipAddErrorBinding(a0, binding, Reflect.apply(getUserTag, value, [env0_2]));
const Promise = global.Promise;
return Promise.reject(a0);
}
}
function acceptFriendRequest(a0) { // fn#68674, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2181, offset: 0x01c58e6d, size: 33 bytes, params: 2, frame: 13
return env0_11.addRelationship(a0, function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['3goNa5']));
});
}
function cancelFriendRequest(a0, a1) { // fn#68676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2322, offset: 0x01c58eeb, size: 37 bytes, params: 3, frame: 15
return env0_11.removeRelationship(a0, a1, function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.pLUaxR));
});
}
function removeFriend(a0, a1) { // fn#68678, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2449, offset: 0x01c58f6d, size: 39 bytes, params: 3, frame: 15
env0_11.removeRelationship(a0, a1, function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.vGSLa2));
});
}
function blockUser(a0, a1) { // fn#68680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2598, offset: 0x01c58ff1, size: 60 bytes, params: 3, frame: 14
const binding = env0_11;
const addRelationship = binding.addRelationship;
const BLOCKED = RelationshipTypes.BLOCKED;
return Reflect.apply(addRelationship, binding, [{userId: a0, context: a1, type: BLOCKED}, function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.mU0Vrp));
}]);
}
function unblockUser(a0, a1) { // fn#68682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2766, offset: 0x01c5908a, size: 37 bytes, params: 3, frame: 15
return env0_11.removeRelationship(a0, a1, function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['9t1au7']));
});
}
function removeRelationship_68684(a0, a1, a2) { // fn#68684, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:2915, offset: 0x01c5910c, size: 131 bytes, params: 4, frame: 15
const env0_0 = a2;
const HTTP = (HTTPUtilsModule).HTTP;
const del = HTTP.del;
const object = {};
object.url = Endpoints.USER_RELATIONSHIP(a0);
object.context = a1;
object.oldFormErrors = true;
object.rejectWithError = false;
let value = Reflect.apply(del, HTTP, [object]);
value = value.then(function() {
if (importDefault != null) {
importDefault();
}
});
return value.catch(function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.n6Jo3E));
});
}
function fetchRelationships() { // fn#68688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3253, offset: 0x01c59241, size: 99 bytes, params: 1, frame: 16
const HTTP = (HTTPUtilsModule).HTTP;
const get = HTTP.get;
const object = {'url': null, 'oldFormErrors': true, 'rejectWithError': true};
object.url = Endpoints.USER_RELATIONSHIPS();
Reflect.apply(get, HTTP, [object]).then(_fun68689, _fun68690);
function _fun68689({body}) { // fn#68689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3364, offset: 0x01c592a4, size: 62 bytes, params: 2, frame: 12
const value = environment.__proto__;
return (Dispatcher).dispatch({type: 'LOAD_RELATIONSHIPS_SUCCESS',
relationships: body});
}
function _fun68690() { // fn#68690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3445, offset: 0x01c592e2, size: 49 bytes, params: 1, frame: 12
const value = environment.__proto__;
return (Dispatcher).dispatch({type: 'LOAD_RELATIONSHIPS_FAILURE'});
}
}
function confirmClearPendingRelationships(a0) { // fn#68691, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3507, offset: 0x01c59313, size: 35 bytes, params: 2, frame: 11
(ClearAllIncomingRequestsConfirmationModal)(a0);
}
function clearPendingRelationships() { // fn#68692, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3582, offset: 0x01c59336, size: 128 bytes, params: 1, frame: 15
const HTTP = (HTTPUtilsModule).HTTP;
const del = HTTP.del;
const object = {};
object.url = Endpoints.USER_RELATIONSHIPS();
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
object.query = {relationship_type: PENDING_INCOMING};
object.rejectWithError = false;
let value = Reflect.apply(del, HTTP, [object]);
value = value.then(_fun68693);
return value.catch(function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.n6Jo3E));
});
function _fun68693() { // fn#68693, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3704, offset: 0x01c593b6, size: 49 bytes, params: 1, frame: 13
const value = environment.__proto__;
(Dispatcher).dispatch({type: 'RELATIONSHIP_PENDING_INCOMING_REMOVED'});
}
}
function clearPendingSpamAndIgnored() { // fn#68695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:3900, offset: 0x01c593e7, size: 167 bytes, params: 1, frame: 16
const HTTP = (HTTPUtilsModule).HTTP;
const del = HTTP.del;
const object = {};
object.url = Endpoints.USER_RELATIONSHIPS();
const PENDING_INCOMING = RelationshipTypes.PENDING_INCOMING;
object.query = {relationship_type: PENDING_INCOMING};
const SPAM = ClearFriendRequestFilters.SPAM;
const IGNORED = ClearFriendRequestFilters.IGNORED;
object.body = {filters: [SPAM, IGNORED]};
object.rejectWithError = false;
let value = Reflect.apply(del, HTTP, [object]);
value = value.then(_fun68696);
return value.catch(function() {
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.n6Jo3E));
});
function _fun68696() { // fn#68696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:4056, offset: 0x01c593b6, size: 49 bytes, params: 1, frame: 13
const value = environment.__proto__;
(Dispatcher).dispatch({type: 'RELATIONSHIP_PENDING_INCOMING_REMOVED'});
}
}
function ignoreUser(a0, a1, a2) { // fn#68698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:4236, offset: 0x01c5948e, size: 134 bytes, params: 4, frame: 15
const env0_0 = a0;
const env0_1 = a2;
const HTTP = (HTTPUtilsModule).HTTP;
const put = HTTP.put;
const object = {};
object.url = Endpoints.IGNORE_USER(a0);
object.context = {location: a1};
object.rejectWithError = false;
let value = Reflect.apply(put, HTTP, [object]);
value = value.then(_fun68699);
return value.catch(function() {
importDefault(dependencyMap[16]).showFailedToast();
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.n6Jo3E));
});
function _fun68699() { // fn#68699, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:4333, offset: 0x01c59514, size: 192 bytes, params: 1, frame: 19
let value = environment.__proto__;
const defaultImport = SafetyToastsActionCreatorsNative;
const showIgnoreSuccessToast = defaultImport.showIgnoreSuccessToast;
const binding = env0_0;
Reflect.apply(showIgnoreSuccessToast, defaultImport, [binding, importDefault]);
const AccessibilityAnnouncer = (SharedModule).AccessibilityAnnouncer;
const announce = AccessibilityAnnouncer.announce;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const Us93Ca = (IndexNativeModule).t.Us93Ca;
Reflect.apply(announce, AccessibilityAnnouncer, [Reflect.apply(string, intl, [Us93Ca])]);
value = importDefault(694) /* metro dependency 694: Dispatcher */;
const dispatch = value.dispatch;
const object = {type: 'RELATIONSHIP_IGNORE_USER_SUCCESS', userId: binding};
const Date = global.Date;
object.timestamp = Date.now();
Reflect.apply(dispatch, value, [object]);
}
}
function unignoreUser(a0, a1, a2) { // fn#68701, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:4684, offset: 0x01c59649, size: 134 bytes, params: 4, frame: 15
const env0_0 = a0;
const env0_1 = a2;
const HTTP = (HTTPUtilsModule).HTTP;
const del = HTTP.del;
const object = {};
object.url = Endpoints.IGNORE_USER(a0);
object.context = {location: a1};
object.rejectWithError = false;
let value = Reflect.apply(del, HTTP, [object]);
value = value.then(_fun68702);
return value.catch(function() {
importDefault(dependencyMap[16]).showFailedToast();
var AccessibilityAnnouncer = require(dependencyMap[13]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.n6Jo3E));
});
function _fun68702() { // fn#68702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8968:4781, offset: 0x01c596cf, size: 132 bytes, params: 1, frame: 17
const defaultImport = SafetyToastsActionCreatorsNative;
defaultImport.showUnignoreSuccessToast(env0_0, importDefault);
const AccessibilityAnnouncer = (SharedModule).AccessibilityAnnouncer;
const announce = AccessibilityAnnouncer.announce;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const QlH5w6 = (IndexNativeModule).t.QlH5w6;
Reflect.apply(announce, AccessibilityAnnouncer, [Reflect.apply(string, intl, [QlH5w6])]);
}
}
}
global.__d(_fun68665, 8783, [57, 1878, 661, 8784, 6722, 4647, 6595, 1244, 8785, 8786, 8787, 507, 3995, 4002, 694,
8789, 6264,
2]) /* metro module 8783, dependencies: [57, 1878, 661, 8784, 6722, 4647, 6595, 1244, 8785, 8786, 8787, 507, 3995, 4002, 694, 8789, 6264, 2] */;