/* 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] */;