295 lines
8.4 KiB
TypeScript
295 lines
8.4 KiB
TypeScript
// 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;
|