// Metro module 4995 (f4996). import ConnectedAccountsStore from "../stores/ConnectedAccountsStore"; import { AbortCodes, AnalyticEvents, Endpoints, FRIEND_SYNC_PLATFORM_TYPES } from "../Constants"; import Logger from "../modules/debug/Logger"; import { HTTP, rejectWithMigratedError } from "../_bundle/sendRequest"; import Dispatcher from "../Dispatcher"; import AnalyticsUtils from "../utils/AnalyticsUtils"; import { getCallbackParamsFromURL } from "../modules/connections/ConnectionsUtils"; import TrackedHTTPUtils from "../utils/TrackedHTTPUtils"; import { NetworkActionNames } from "../_bundle/Module503"; let c3004_9; const callback = function callback(a0, a1, insecure = false) { return HTTP.post({ url: Endpoints.CONNECTIONS_CALLBACK(a0), body: { ...a1, insecure, friend_sync: FRIEND_SYNC_PLATFORM_TYPES.has(a0) }, oldFormErrors: true, rejectWithError: rejectWithMigratedError() }); }; c3004_9 = new Logger("ConnectedAccounts"); const r33 = { fetch: () => HTTP.get({ url: Endpoints.CONNECTIONS, oldFormErrors: true, rejectWithError: true }).then((result) => Dispatcher.dispatch({ type: "USER_CONNECTIONS_UPDATE", local: true, accounts: result.body }), () => Dispatcher.dispatch({ type: "USER_CONNECTIONS_UPDATE", local: true, accounts: [] })), authorize: async function authorize(platform_type, r3 = {}) { const { location: location2, twoWayLinkType, userCode, twoWayLink, successRedirect, handle } = r3; let c25307_2; c25307_2 = void 0; AnalyticsUtils.track(AnalyticEvents.CONNECTED_ACCOUNT_INITIATED, { platform_type, location: location2 }); const r42 = Endpoints.CONNECTIONS_AUTHORIZE(platform_type); const uRLSearchParams = new URLSearchParams(); if (userCode != null) { uRLSearchParams.append("two_way_user_code", userCode); } if (successRedirect != null) { uRLSearchParams.append("success_redirect", successRedirect); } if (twoWayLinkType != null) { uRLSearchParams.append("two_way_link_type", twoWayLinkType); uRLSearchParams.append("two_way_link", "true"); } else if (twoWayLink != null) { uRLSearchParams.append("two_way_link", String(twoWayLink)); } if (handle != null) { uRLSearchParams.append("handle", handle); } let c29445_0 = await HTTP.get({ url: r42 + "?" + uRLSearchParams.toString(), oldFormErrors: true, rejectWithError: rejectWithMigratedError() }); const url2 = c29445_0.body.url; let url = url2; if (url2 == null) { url = ""; } let c29445_1 = getCallbackParamsFromURL(url).state; if (c29445_1 != null) { ConnectedAccountsStore.addPendingAuthorizedState(c29445_1); } return c29445_0; }, callback, connect: (a0, a1, a2, a3, a4) => { const r16 = { url: Endpoints.CONNECTION(a0, a1), body: null, context: null, oldFormErrors: true, trackedActionData: null, rejectWithError: null }; let friend_sync = a4?.friend_sync; if (friend_sync == null) { friend_sync = FRIEND_SYNC_PLATFORM_TYPES.has(a0); } r16.body = { name: a2, friend_sync }; r16.context = { location: a3 }; r16.trackedActionData = { event: NetworkActionNames.USER_CONNECTIONS_UPDATE, properties: { name: a2, friend_sync: FRIEND_SYNC_PLATFORM_TYPES.has(a0) } }; r16.rejectWithError = rejectWithMigratedError(); return TrackedHTTPUtils.put(r16); }, disconnect: (a0, a1) => HTTP.del({ url: Endpoints.CONNECTION(a0, a1), oldFormErrors: true, rejectWithError: rejectWithMigratedError() }), refresh: (a0, a1) => HTTP.post({ url: Endpoints.CONNECTION_REFRESH(a0, a1), oldFormErrors: true, rejectWithError: rejectWithMigratedError() }), setVisibility: function setVisibility(a0, a1, a2) { return this.update(a0, a1, { visibility: a2 === 1 }); }, setMetadataVisibility: function setMetadataVisibility(a0, a1, a2) { return this.update(a0, a1, { metadata_visibility: a2 === 1 }); }, setFriendSync: function setFriendSync(a0, a1, a2) { return this.update(a0, a1, { friend_sync: a2 }); }, setShowActivity: function setShowActivity(a0, a1, a2) { return this.update(a0, a1, { show_activity: a2 }); }, update: (a0, a1, a2) => TrackedHTTPUtils.patch({ url: Endpoints.CONNECTION(a0, a1), body: a2, oldFormErrors: true, trackedActionData: { event: NetworkActionNames.USER_CONNECTIONS_UPDATE, properties: { ...a2 } }, rejectWithError: rejectWithMigratedError() }), joinServer: (a0, c14493_1) => { const integrationId = a0; Dispatcher.dispatch({ type: "USER_CONNECTIONS_INTEGRATION_JOINING", integrationId: a0, joining: true }); HTTP.post({ url: Endpoints.INTEGRATION_JOIN(a0), oldFormErrors: true, rejectWithError: rejectWithMigratedError() }, (a0) => { Dispatcher.dispatch({ type: "USER_CONNECTIONS_INTEGRATION_JOINING", integrationId, joining: false }); if (!a0.ok) { Dispatcher.dispatch({ type: "USER_CONNECTIONS_INTEGRATION_JOINING_ERROR", integrationId, error: a0.hasErr ? void 0 : a0.body.message }); if (c14493_1 != null) { c14493_1(); } } }); }, refreshAccessToken: async (c14494_0, c14494_1) => { let r74; let c25308_2; let c25308_3 = 0; let c29446_0, c29446_1; try { c29446_0 = void 0; c25308_3 = 1; c29446_0 = (await HTTP.get({ url: Endpoints.CONNECTION_ACCESS_TOKEN(c14494_0, c14494_1), oldFormErrors: true, rejectWithError: rejectWithMigratedError() })).body.access_token; Dispatcher.dispatch({ type: "USER_CONNECTION_UPDATE", platformType: c14494_0, id: c14494_1, accessToken: c29446_0 }); r74 = c29446_0; c25308_3 = 0; } catch ($e) { const r29 = $e; let r8 = r29; c25308_2 = r29; if (c25308_3 !== 0) { while (true) { try { const r83 = c25308_2; c25308_3 = 0; c29446_1 = r83; if (c29446_1.body.code === AbortCodes.CONNECTION_REVOKED) { Dispatcher.dispatch({ type: "USER_CONNECTION_UPDATE", platformType: c14494_0, id: c14494_1, revoked: true }); } throw c29446_1; } catch (r79) { r8 = r79; c25308_2 = r79; if (c25308_3 === 0) { break; } } } } throw r8; } return r74; }, linkDispatchAuthCallback: (a0, a1) => HTTP.post({ url: Endpoints.CONNECTIONS_LINK_DISPATCH_AUTH_CALLBACK(a0), body: { ...a1 }, oldFormErrors: true, rejectWithError: rejectWithMigratedError() }), completeTwoWayLink: async (c14495_0, c14495_1, code, state, token_redirect_uri) => { let r57; L14: { if (c14495_1 != null) { const callbackParamsFromURL = getCallbackParamsFromURL(c14495_1); const { code: code2, error, errorDescription } = callbackParamsFromURL; if (error == null) { r57 = await callback(c14495_0, { code, state, two_way_link_code: code2, token_redirect_uri }); break L14; } c3004_9.error("Two-way link: missing authorize code", { error, errorDescription }); } else { c3004_9.error("Two-way link: missing authorize location"); } return void 0; } return r57; }, sessionHandoff: function sessionHandoff(a0, a1, a2, a3, a4) { return HTTP.post({ url: Endpoints.CONNECTIONS_SESSION_HANDOFF(a0), body: { state: a1, code: a2, openid_params: a3, iss: a4 }, oldFormErrors: true, rejectWithError: rejectWithMigratedError() }); }, getHandoffStatus: function getHandoffStatus(a0, a1) { const uRLSearchParams = new URLSearchParams(); uRLSearchParams.append("state", a1); return HTTP.get({ url: `${Endpoints.CONNECTIONS_SESSION_HANDOFF(a0)}?${uRLSearchParams.toString()}`, body: { state: a1 }, rejectWithError: true }); } }; export default r33;