1114 lines
38 KiB
TypeScript
1114 lines
38 KiB
TypeScript
// Module ID: 5930
|
|
// Function ID: 5931
|
|
// Name: AuthenticationActionCreators
|
|
// Dependencies: [5, 5931, 502, 5932, 1085, 5933, 3, 5086, 584, 4977, 1112, 5934, 5938, 1273, 1295, 5635, 5939, 5940, 510, 1111, 2]
|
|
|
|
// Module 5930 (AuthenticationActionCreators)
|
|
import LoggerDefault from "Logger" /* 3 */;
|
|
import DispatcherDefault from "Dispatcher" /* 584 */;
|
|
import TokenManagerAll from "TokenManager" /* 1111 */;
|
|
import discord_common_AnalyticsUtils from "discord_common/AnalyticsUtils" /* 1273 */;
|
|
import HTTPUtils from "HTTPUtils" /* 1295 */;
|
|
import RootNavigationRef from "RootNavigationRef" /* 4977 */;
|
|
import CrossPlatformNativeUtilsDefault from "CrossPlatformNativeUtils" /* 5086 */;
|
|
import V6OrEarlierAPIError from "V6OrEarlierAPIError" /* 5635 */;
|
|
import PromoEmailConsentStore from "PromoEmailConsentStore" /* 5931 */;
|
|
import ModalActionCreatorsDefault from "ModalActionCreators" /* 5934 */;
|
|
import TrackedHTTPUtilsDefault from "TrackedHTTPUtils" /* 5938 */;
|
|
import _asyncToGenerator from "_asyncToGenerator" /* 5 */;
|
|
import AuthenticationStore from "AuthenticationStore" /* 502 */;
|
|
import ConsentStore from "ConsentStore" /* 5932 */;
|
|
import Constants from "Constants" /* 1085 */;
|
|
import PushNotificationConstants from "PushNotificationConstants" /* 5933 */;
|
|
import size from "module_2" /* 2 */;
|
|
|
|
const require = globalThis.__r;
|
|
let _require, c17, c3, c5, c6, closure_3, closure_4, importAll, importDefault, obj;
|
|
|
|
let c10;
|
|
let c9;
|
|
let closure_12;
|
|
let closure_14;
|
|
let closure_15;
|
|
let map1;
|
|
let unpackModuleId;
|
|
const f92544 = (error) => {
|
|
logger.error("Error while dispatching LOGOUT", error);
|
|
if (DiscordErrors != null) {
|
|
DiscordErrors.softCrash(error);
|
|
}
|
|
throw error;
|
|
};
|
|
function handleLogout(source, Routes) {
|
|
let items;
|
|
let DEFAULT_LOGGED_OUT = Routes;
|
|
if (Routes === undefined) {
|
|
DEFAULT_LOGGED_OUT = map1.DEFAULT_LOGGED_OUT;
|
|
}
|
|
obj = CrossPlatformNativeUtilsDefault;
|
|
const result = obj.clearNavigationHistory();
|
|
const id = AuthenticationStore.getId();
|
|
const obj2 = { type: "LOGOUT", userId: id };
|
|
const merged = Object.assign(undefined);
|
|
const tmp2Result = DispatcherDefault;
|
|
const dispatchResult = tmp2Result.dispatch(obj2);
|
|
dispatchResult.catch(f92544);
|
|
if (null != DEFAULT_LOGGED_OUT) {
|
|
const obj8 = RootNavigationRef;
|
|
const rootNavigationRef = obj8.getRootNavigationRef();
|
|
const tmp12 = require;
|
|
if (null != rootNavigationRef) {
|
|
const tmp2Result2 = ModalActionCreatorsDefault;
|
|
tmp2Result2.popAll();
|
|
const obj3 = { index: 0, routes: items };
|
|
items = [{ name: "auth" }];
|
|
rootNavigationRef.reset(obj3);
|
|
} else {
|
|
const obj4 = { source };
|
|
const tmp12Result = tmp12(1112);
|
|
tmp12Result.transitionTo(DEFAULT_LOGGED_OUT, obj4);
|
|
}
|
|
}
|
|
}
|
|
const setPromoEmailConsentState = PromoEmailConsentStore.setPromoEmailConsentState;
|
|
({ Endpoints: c9, DEVICE_TOKEN: c10, DEVICE_VOIP_TOKEN: unpackModuleId, AbortCodes: closure_12, Routes: map1 } = Constants);
|
|
({ DEVICE_PUSH_VOIP_PROVIDER: closure_14, getDevicePushProvider: closure_15 } = PushNotificationConstants);
|
|
let tmp4 = new LoggerDefault("AuthenticationActionCreators");
|
|
const logger = tmp4;
|
|
let nextPromise = null;
|
|
let obj2 = {
|
|
startSession(token) {
|
|
obj = DispatcherDefault;
|
|
const obj2 = { type: "START_SESSION", token };
|
|
obj.dispatch(obj2);
|
|
},
|
|
login(self) {
|
|
let code;
|
|
let giftCodeSKUId;
|
|
let invite;
|
|
let isMultiAccount;
|
|
let obj2;
|
|
let obj4;
|
|
let source;
|
|
let tmp4Result;
|
|
let undelete;
|
|
self = this;
|
|
const login = self.login;
|
|
const password = self.password;
|
|
({ invite, isMultiAccount } = self);
|
|
({ undelete, source, giftCodeSKUId } = self);
|
|
obj = login(self[8]);
|
|
let dispatchResult = obj.dispatch({ type: "LOGIN", isPasswordAttempt: true });
|
|
const request = { url: closure_9.LOGIN, body: { login, password, undelete, login_source: source, gift_code_sku_id: giftCodeSKUId }, retries: 2, oldFormErrors: true, trackedActionData: obj2, rejectWithError: tmp4Result.rejectWithMigratedError() };
|
|
const tmp3 = login(self[12]);
|
|
obj2 = { event: isMultiAccount(self[13]).NetworkActionNames.USER_LOGIN, properties: { invite_code: code, is_multi_account: isMultiAccount } };
|
|
const post = tmp3.post;
|
|
let tmp4 = isMultiAccount;
|
|
code = undefined;
|
|
const tmp = self;
|
|
if (invite != null) {
|
|
code = invite.code;
|
|
}
|
|
if (isMultiAccount) {
|
|
let obj3 = { headers: { authorization: "" } };
|
|
obj4 = obj3;
|
|
} else {
|
|
obj4 = {};
|
|
}
|
|
let merged = Object.assign(obj4);
|
|
tmp4Result = tmp4(tmp[14]);
|
|
const postResult = post(request);
|
|
return postResult.then((body) => {
|
|
let backup;
|
|
let login_instance_id;
|
|
let mfa;
|
|
let required_actions;
|
|
let sms;
|
|
let ticket;
|
|
let totp;
|
|
let user_id;
|
|
let webauthn;
|
|
body = body.body;
|
|
const token = body.token;
|
|
({ mfa, sms, webauthn, ticket, backup, user_id, required_actions, totp, login_instance_id } = body);
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "LOGIN_ATTEMPTED", user_id, required_actions });
|
|
if (mfa) {
|
|
const obj2 = { type: "LOGIN_MFA_STEP", ticket, sms, webauthn, totp, backup, loginInstanceId: login_instance_id };
|
|
const tmpResult = DispatcherDefault;
|
|
tmpResult.dispatch(obj2);
|
|
} else {
|
|
const tmp4 = isMultiAccount;
|
|
if (tmp4) {
|
|
self.switchAccountToken(token);
|
|
} else {
|
|
const obj3 = { type: "LOGIN_SUCCESS", token };
|
|
const tmpResult2 = DispatcherDefault;
|
|
tmpResult2.dispatch(obj3);
|
|
}
|
|
}
|
|
}, (body) => {
|
|
let obj10;
|
|
let obj13;
|
|
let obj7;
|
|
const v6OrEarlierAPIError = new V6OrEarlierAPIError.V6OrEarlierAPIError(body);
|
|
if (null != body.body) {
|
|
body = body.body;
|
|
let suspended_user_token;
|
|
if (body != null) {
|
|
suspended_user_token = body.suspended_user_token;
|
|
}
|
|
if (null != suspended_user_token) {
|
|
const tmp20 = isMultiAccount;
|
|
if (tmp20) {
|
|
const obj12 = CrossPlatformNativeUtilsDefault;
|
|
const result = obj12.clearNavigationHistory();
|
|
const id = AuthenticationStore.getId();
|
|
const obj2 = { type: "LOGOUT", userId: id };
|
|
const merged = Object.assign({ isSwitchingAccount: true });
|
|
const tmp21Result = DispatcherDefault;
|
|
const dispatchResult = tmp21Result.dispatch(obj2);
|
|
dispatchResult.catch(f92544);
|
|
}
|
|
const body3 = body.body;
|
|
let suspended_user_token1;
|
|
const dispatch = DispatcherDefault.dispatch;
|
|
DispatcherDefault;
|
|
if (body3 != null) {
|
|
suspended_user_token1 = body3.suspended_user_token;
|
|
}
|
|
const obj4 = { type: "LOGIN_SUSPENDED_USER", suspendedUserToken: suspended_user_token1 };
|
|
dispatch(obj4);
|
|
throw v6OrEarlierAPIError;
|
|
}
|
|
}
|
|
const body2 = body.body;
|
|
let code;
|
|
if (body2 != null) {
|
|
code = body2.code;
|
|
}
|
|
if (code === constants.ACCOUNT_SCHEDULED_FOR_DELETION) {
|
|
if (null != password) {
|
|
if ("" !== password) {
|
|
const obj5 = { type: "LOGIN_ACCOUNT_SCHEDULED_FOR_DELETION", credentials: obj7 };
|
|
obj7 = { login, password };
|
|
const obj9 = DispatcherDefault;
|
|
obj9.dispatch(obj5);
|
|
}
|
|
throw v6OrEarlierAPIError;
|
|
}
|
|
}
|
|
if (code === constants.ACCOUNT_DISABLED) {
|
|
if (null != password) {
|
|
if ("" !== password) {
|
|
const obj8 = { type: "LOGIN_ACCOUNT_DISABLED", credentials: obj10 };
|
|
obj10 = { login, password };
|
|
const obj6 = DispatcherDefault;
|
|
obj6.dispatch(obj8);
|
|
}
|
|
}
|
|
}
|
|
if (code === constants.PHONE_VERIFICATION_REQUIRED) {
|
|
const obj11 = { type: "LOGIN_PHONE_IP_AUTHORIZATION_REQUIRED", credentials: obj13 };
|
|
obj13 = { login, password };
|
|
const obj3 = DispatcherDefault;
|
|
obj3.dispatch(obj11);
|
|
} else {
|
|
const obj14 = { type: "LOGIN_FAILURE", error: v6OrEarlierAPIError };
|
|
obj = DispatcherDefault;
|
|
obj.dispatch(obj14);
|
|
}
|
|
});
|
|
},
|
|
loginMFAv2(arg0) {
|
|
let body;
|
|
let code;
|
|
let giftCodeSKUId;
|
|
let loginInstanceId;
|
|
let mfaType;
|
|
let obj2;
|
|
let require;
|
|
let source;
|
|
let ticket;
|
|
let self = this;
|
|
({ isMultiAccount: require, loginInstanceId } = arg0);
|
|
({ code, ticket, source, giftCodeSKUId, mfaType } = arg0);
|
|
let tmp = dependencyMap;
|
|
const tmp2 = self(5938);
|
|
const request = { url: closure_9.LOGIN_MFA(mfaType), body, retries: 2, oldFormErrors: true, trackedActionData: obj2, rejectWithError: true };
|
|
const post = tmp2.post;
|
|
body = { code, ticket, login_source: source, gift_code_sku_id: giftCodeSKUId, login_instance_id: loginInstanceId };
|
|
if (loginInstanceId == null) {
|
|
loginInstanceId = AuthenticationStore.getLoginInstanceId();
|
|
}
|
|
obj2 = { event: discord_common_AnalyticsUtils.NetworkActionNames.USER_LOGIN_MFA };
|
|
const postResult = post(request);
|
|
nextPromise = postResult.then((body) => {
|
|
const tmp = _require;
|
|
if (tmp) {
|
|
self.switchAccountToken(body.body.token);
|
|
} else {
|
|
const obj2 = { type: "LOGIN_SUCCESS", token: body.body.token };
|
|
obj = DispatcherDefault;
|
|
obj.dispatch(obj2);
|
|
}
|
|
});
|
|
return nextPromise.catch(function(error) {
|
|
if (null != error.body) {
|
|
if (null != error.body.suspended_user_token) {
|
|
const obj2 = { type: "LOGIN_SUSPENDED_USER", suspendedUserToken: error.body.suspended_user_token };
|
|
obj = self(dependencyMap[8]);
|
|
obj.dispatch(obj2);
|
|
}
|
|
}
|
|
const body = error.body;
|
|
let code;
|
|
if (body != null) {
|
|
code = body.code;
|
|
}
|
|
if (code === constants.MFA_INVALID_CODE) {
|
|
const _Error = Error;
|
|
self = this;
|
|
const self2 = this;
|
|
error = new Error(error.body.message);
|
|
throw error;
|
|
} else {
|
|
throw error;
|
|
}
|
|
});
|
|
},
|
|
authenticatePasswordless(arg0) {
|
|
let require;
|
|
({ authenticateFunc: require, conditionalMediationAbortController: importDefault, source: importAll, giftCodeSKUId: dependencyMap, isMultiAccount: closure_4 } = arg0);
|
|
const self = this;
|
|
return self(function*(arg0, value) {
|
|
let closure_1;
|
|
let obj13;
|
|
let obj3;
|
|
if (c5 === 2) {
|
|
c5 = 3;
|
|
throw new TypeError("Generator functions may not be called on executing generators");
|
|
} else if (tmp3 === 3) {
|
|
if (arg0 === 1) {
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
const obj2 = { value, done: true };
|
|
return obj2;
|
|
} else {
|
|
return { value: "IconComponent", done: null };
|
|
}
|
|
} else {
|
|
try {
|
|
let closure_0;
|
|
let challenge;
|
|
let ticket;
|
|
c5 = 2;
|
|
if (0 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c5 = 3;
|
|
const obj4 = { value, done: true };
|
|
return obj4;
|
|
} else {
|
|
closure_0 = undefined;
|
|
challenge = undefined;
|
|
ticket = undefined;
|
|
credential = undefined;
|
|
const obj17 = importDefault;
|
|
if (importDefault != null) {
|
|
obj17.abort("Starting non-conditional mediation");
|
|
}
|
|
const obj12 = tmp(credential[8]);
|
|
obj12.dispatch({ type: "PASSWORDLESS_START" });
|
|
credential = 1;
|
|
c4 = 2;
|
|
c5 = 1;
|
|
const obj5 = { value: obj13.fetchWebAuthnPasswordlessChallenge(), done: false };
|
|
obj13 = closure_0(credential[16]);
|
|
return obj5;
|
|
}
|
|
} else if (1 === c4) {
|
|
credential = 0;
|
|
const error = closure_2;
|
|
const obj6 = { type: "PASSWORDLESS_FAILURE", error };
|
|
const obj10 = tmp(credential[8]);
|
|
obj10.dispatch(obj6);
|
|
throw error;
|
|
} else if (2 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
credential = 0;
|
|
c5 = 3;
|
|
const obj7 = { value, done: true };
|
|
return obj7;
|
|
} else {
|
|
closure_0 = value;
|
|
challenge = closure_0.challenge;
|
|
ticket = closure_0.ticket;
|
|
c4 = 3;
|
|
c5 = 1;
|
|
const obj8 = { value: closure_129_0(challenge), done: false };
|
|
return obj8;
|
|
}
|
|
} else if (3 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
credential = 0;
|
|
c5 = 3;
|
|
const obj9 = { value, done: true };
|
|
return obj9;
|
|
} else {
|
|
credential = 2;
|
|
const obj11 = { ticket, credential, source: closure_129_2, giftCodeSKUId: closure_129_3, isMultiAccount: closure_129_4 };
|
|
c4 = 5;
|
|
c5 = 1;
|
|
const obj14 = { value: closure_129_5.loginWebAuthn(obj11), done: false };
|
|
return obj14;
|
|
}
|
|
} else {
|
|
if (4 === c4) {
|
|
credential = 1;
|
|
closure_4 = closure_2;
|
|
const tmp12 = closure_4 instanceof closure_0(credential[15]).APIError && null != closure_4.status && closure_4.status >= 400 && closure_4.status < 500;
|
|
if (tmp12) {
|
|
c4 = 6;
|
|
c5 = 1;
|
|
const obj15 = { value: obj3.signalUnknownCredential(credential), done: false };
|
|
obj3 = tmp(credential[17]);
|
|
return obj15;
|
|
}
|
|
} else if (5 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
credential = 0;
|
|
c5 = 3;
|
|
const obj16 = { value, done: true };
|
|
return obj16;
|
|
} else {
|
|
credential = 0;
|
|
c5 = 3;
|
|
return { value: "IconComponent", done: null };
|
|
}
|
|
} else if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
credential = 0;
|
|
c5 = 3;
|
|
obj = { value, done: true };
|
|
return obj;
|
|
}
|
|
throw closure_4;
|
|
}
|
|
} catch (tmp55) {
|
|
closure_2 = tmp55;
|
|
if (0 === credential) {
|
|
c5 = 3;
|
|
throw tmp55;
|
|
} else if (1 === tmp57) {
|
|
c4 = 1;
|
|
} else {
|
|
c4 = 4;
|
|
}
|
|
}
|
|
}
|
|
})();
|
|
},
|
|
loginWebAuthn(isMultiAccount) {
|
|
let credential;
|
|
let giftCodeSKUId;
|
|
let obj2;
|
|
let source;
|
|
let ticket;
|
|
let self = this;
|
|
isMultiAccount = isMultiAccount.isMultiAccount;
|
|
({ ticket, credential, source, giftCodeSKUId } = isMultiAccount);
|
|
obj = self(5938);
|
|
const request = { url: closure_9.WEBAUTHN_CONDITIONAL_UI_LOGIN, body: { credential, ticket, source, giftCodeSKUId }, retries: 1, trackedActionData: obj2, rejectWithError: true };
|
|
obj2 = { event: isMultiAccount(1273).NetworkActionNames.USER_LOGIN_PASSWORDLESS };
|
|
const postResult = obj.post(request);
|
|
nextPromise = postResult.then((body) => {
|
|
let required_actions;
|
|
let user_id;
|
|
body = body.body;
|
|
const token = body.token;
|
|
({ user_id, required_actions } = body);
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "LOGIN_ATTEMPTED", user_id, required_actions });
|
|
const tmp4 = isMultiAccount;
|
|
if (tmp4) {
|
|
self.switchAccountToken(token);
|
|
} else {
|
|
const obj2 = { type: "LOGIN_SUCCESS", token };
|
|
const tmpResult = DispatcherDefault;
|
|
tmpResult.dispatch(obj2);
|
|
}
|
|
});
|
|
return nextPromise.catch(function(error) {
|
|
let aPIError = error;
|
|
const tmp = isMultiAccount;
|
|
if (error instanceof isMultiAccount(dependencyMap[14]).HTTPResponseError) {
|
|
if (null != error.body.suspended_user_token) {
|
|
const obj2 = { type: "LOGIN_SUSPENDED_USER", suspendedUserToken: error.body.suspended_user_token };
|
|
obj = self(dependencyMap[8]);
|
|
obj.dispatch(obj2);
|
|
} else {
|
|
self = this;
|
|
const self2 = this;
|
|
aPIError = new tmp(tmp2[15]).APIError(error);
|
|
}
|
|
}
|
|
throw aPIError;
|
|
});
|
|
},
|
|
loginToken(token, arg1) {
|
|
const self = this;
|
|
importDefault = token;
|
|
let flag = arg1;
|
|
if (arg1 === undefined) {
|
|
flag = true;
|
|
}
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "LOGIN" });
|
|
const promise = new Promise((arg0) => {
|
|
let closure_0 = arg0;
|
|
setImmediate(() => {
|
|
obj = DispatcherDefault;
|
|
const obj2 = { type: "LOGIN_SUCCESS", token };
|
|
obj.dispatch(obj2);
|
|
const tmp = token;
|
|
const tmp3 = flag;
|
|
if (tmp3) {
|
|
self.startSession(tmp);
|
|
}
|
|
closure_0();
|
|
});
|
|
});
|
|
return promise;
|
|
},
|
|
oneTimeLogin(arg0) {
|
|
let closure_0 = arg0;
|
|
let self = this;
|
|
return (async function(arg0, value) {
|
|
let closure_1;
|
|
let obj4;
|
|
let obj5;
|
|
let tmp;
|
|
let v6OrEarlierAPIError;
|
|
if (c5 === 2) {
|
|
c5 = 3;
|
|
throw new TypeError("Generator functions may not be called on executing generators");
|
|
} else if (tmp3 === 3) {
|
|
if (arg0 === 1) {
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
const obj2 = { value, done: true };
|
|
return obj2;
|
|
} else {
|
|
return { value: "IconComponent", done: null };
|
|
}
|
|
} else {
|
|
try {
|
|
let ticket;
|
|
let token;
|
|
c5 = 2;
|
|
if (0 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c5 = 3;
|
|
const obj3 = { value, done: true };
|
|
return obj3;
|
|
} else {
|
|
ticket = tmp4;
|
|
token = undefined;
|
|
const obj9 = tmp(c3[8]);
|
|
obj9.dispatch({ type: "LOGIN" });
|
|
c3 = 1;
|
|
const request = { url: constants.ONE_TIME_LOGIN, body: obj4, oldFormErrors: true, trackedActionData: obj5, rejectWithError: true };
|
|
obj4 = { ticket };
|
|
obj5 = { event: ticket(c3[13]).NetworkActionNames.USER_ONE_TIME_LOGIN };
|
|
const post = tmp(c3[12]).post;
|
|
const tmp40 = tmp(c3[12]);
|
|
c4 = 2;
|
|
c5 = 1;
|
|
const obj6 = { value: post(request), done: false };
|
|
return obj6;
|
|
}
|
|
} else if (1 === c4) {
|
|
c3 = 0;
|
|
tmp = closure_2;
|
|
const obj7 = { type: "LOGIN_FAILURE", error: v6OrEarlierAPIError };
|
|
const dispatch = tmp(c3[8]).dispatch;
|
|
const self3 = this;
|
|
const self4 = this;
|
|
const tmp20 = tmp(c3[8]);
|
|
v6OrEarlierAPIError = new ticket(c3[15]).V6OrEarlierAPIError(tmp);
|
|
dispatch(obj7);
|
|
throw tmp;
|
|
} else if (2 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 0;
|
|
c5 = 3;
|
|
const obj8 = { value, done: true };
|
|
return obj8;
|
|
} else {
|
|
token = value.body.token;
|
|
const tmp7 = token;
|
|
if (tmp7) {
|
|
c4 = 3;
|
|
c5 = 1;
|
|
const obj10 = { value: closure_129_1.loginToken(token, false), done: false };
|
|
return obj10;
|
|
} else {
|
|
const _Error = Error;
|
|
self = this;
|
|
const self2 = this;
|
|
const error = new Error("No token in response");
|
|
throw error;
|
|
}
|
|
}
|
|
} else if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 0;
|
|
c5 = 3;
|
|
const obj11 = { value, done: true };
|
|
return obj11;
|
|
} else {
|
|
c3 = 0;
|
|
c5 = 3;
|
|
obj = { value: token, done: true };
|
|
return obj;
|
|
}
|
|
} catch (tmp28) {
|
|
closure_2 = tmp28;
|
|
if (0 === c3) {
|
|
c5 = 3;
|
|
throw tmp28;
|
|
} else {
|
|
c4 = 1;
|
|
}
|
|
}
|
|
}
|
|
})();
|
|
},
|
|
loginReset(isMultiAccount) {
|
|
obj = DispatcherDefault;
|
|
const obj2 = { type: "LOGIN_RESET", isMultiAccount };
|
|
obj.dispatch(obj2);
|
|
},
|
|
loginStatusReset() {
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "LOGIN_STATUS_RESET" });
|
|
},
|
|
logoutInternal(arg0) {
|
|
obj = CrossPlatformNativeUtilsDefault;
|
|
const result = obj.clearNavigationHistory();
|
|
const id = AuthenticationStore.getId();
|
|
const obj2 = { type: "LOGOUT", userId: id };
|
|
const merged = Object.assign(arg0);
|
|
const tmpResult = DispatcherDefault;
|
|
const dispatchResult = tmpResult.dispatch(obj2);
|
|
dispatchResult.catch(f92544);
|
|
},
|
|
logout(TTI_test, LOGIN) {
|
|
let Storage;
|
|
let Storage2;
|
|
let body;
|
|
let closure_2;
|
|
let obj5;
|
|
let tmp4Result;
|
|
_require = TTI_test;
|
|
let DEFAULT_LOGGED_OUT = LOGIN;
|
|
if (LOGIN === undefined) {
|
|
const tmp = constants2;
|
|
DEFAULT_LOGGED_OUT = constants2.DEFAULT_LOGGED_OUT;
|
|
}
|
|
importAll = arg2;
|
|
let tmp2 = dependencyMap;
|
|
const tmp3 = DEFAULT_LOGGED_OUT(5938);
|
|
const request = { url: closure_9.LOGOUT, body, oldFormErrors: true, trackedActionData: { event: require("discord_common/AnalyticsUtils").NetworkActionNames.USER_LOGOUT, properties: { logout_source: TTI_test } }, rejectWithError: tmp4Result.rejectWithMigratedError() };
|
|
body = { provider: closure_15(), token: Storage.get(closure_10), voip_provider, voip_token: Storage2.get(closure_11) };
|
|
const post = tmp3.post;
|
|
Storage = require("Storage").Storage;
|
|
Storage2 = require("Storage").Storage;
|
|
let tmp5 = null != arg2;
|
|
({ event: require("discord_common/AnalyticsUtils").NetworkActionNames.USER_LOGOUT, properties: { logout_source: TTI_test } });
|
|
const tmp4 = _require;
|
|
if (tmp5) {
|
|
const obj4 = TokenManagerAll;
|
|
let str = obj4.getToken(arg2);
|
|
if (str == null) {
|
|
str = "";
|
|
}
|
|
const obj3 = { headers: obj5 };
|
|
tmp5 = obj3;
|
|
obj5 = { authorization: str };
|
|
}
|
|
const merged = Object.assign(tmp5);
|
|
tmp4Result = tmp4(1295);
|
|
const postResult = post(request);
|
|
return postResult.finally(() => {
|
|
const tmp2 = null != closure_2 && tmp !== AuthenticationStore.getId();
|
|
if (!tmp2) {
|
|
handleLogout(TTI_test, DEFAULT_LOGGED_OUT);
|
|
}
|
|
});
|
|
},
|
|
switchAccountToken(token, switchSynchronously) {
|
|
let closure_0 = token;
|
|
let flag = switchSynchronously;
|
|
if (switchSynchronously === undefined) {
|
|
flag = true;
|
|
}
|
|
token = AuthenticationStore.getToken();
|
|
obj = { wasLoggedIn: null != token, tokenHasChanged: token !== token };
|
|
logger.log("Switching accounts", obj);
|
|
const obj2 = { isSwitchingAccount: true, goHomeAfterSwitching: flag };
|
|
const obj3 = CrossPlatformNativeUtilsDefault;
|
|
const result = obj3.clearNavigationHistory();
|
|
const id = AuthenticationStore.getId();
|
|
const obj4 = { type: "LOGOUT", userId: id };
|
|
const merged = Object.assign(obj2);
|
|
const tmp3Result = DispatcherDefault;
|
|
const dispatchResult = tmp3Result.dispatch(obj4);
|
|
dispatchResult.catch(f92544);
|
|
const loginTokenResult = this.loginToken(token, true);
|
|
return loginTokenResult.then(() => {
|
|
const tmp = token === AuthenticationStore.getToken();
|
|
logger.log("Switched accounts finished", { isCorrectToken: tmp });
|
|
return tmp;
|
|
});
|
|
},
|
|
verifySSOToken(arg0) {
|
|
let closure_0;
|
|
_require = arg0;
|
|
let DEFAULT_LOGGED_OUT = arg1;
|
|
if (arg1 === undefined) {
|
|
DEFAULT_LOGGED_OUT = constants2.DEFAULT_LOGGED_OUT;
|
|
}
|
|
const HTTP = require("HTTPUtils").HTTP;
|
|
obj = { url: closure_9.ME, oldFormErrors: true, rejectWithError: true };
|
|
const value = HTTP.get(obj);
|
|
return value.then(() => true, (status) => {
|
|
status = undefined;
|
|
if (status != null) {
|
|
status = status.status;
|
|
}
|
|
if (401 !== status) {
|
|
throw status;
|
|
} else {
|
|
handleLogout(closure_0, DEFAULT_LOGGED_OUT);
|
|
return false;
|
|
}
|
|
});
|
|
},
|
|
verify(arg0) {
|
|
let closure_0 = arg0;
|
|
return (async () => {
|
|
let c2;
|
|
let closure_1;
|
|
let obj11;
|
|
let obj4;
|
|
let obj5;
|
|
let token = tmp4;
|
|
const request = { url: constants.VERIFY, body: obj4, trackedActionData: obj5, rejectWithError: obj11.rejectWithMigratedError() };
|
|
obj4 = { token };
|
|
obj5 = { event: token(c3[13]).NetworkActionNames.USER_VERIFY };
|
|
const post = tmp(c3[12]).post;
|
|
const tmp18 = tmp(c3[12]);
|
|
obj11 = token(c3[14]);
|
|
token = await post(request);
|
|
const obj8 = { type: "LOGIN_SUCCESS", token: token.body.token };
|
|
obj = tmp(c3[8]);
|
|
obj.dispatch(obj8);
|
|
return token.body.user_id;
|
|
})();
|
|
},
|
|
authorizePayment(token) {
|
|
let obj2;
|
|
const request = { url: React4.AUTHORIZE_PAYMENT, body: obj2, trackedActionData: { event: discord_common_AnalyticsUtils.NetworkActionNames.AUTHORIZE_PAYMENT }, rejectWithError: true };
|
|
obj2 = { token };
|
|
obj = TrackedHTTPUtilsDefault;
|
|
({ event: discord_common_AnalyticsUtils.NetworkActionNames.AUTHORIZE_PAYMENT });
|
|
return obj.post(request);
|
|
},
|
|
authorizeIPAddress(token) {
|
|
let obj2;
|
|
const request = { url: React4.AUTHORIZE_IP, body: obj2, trackedActionData: { event: discord_common_AnalyticsUtils.NetworkActionNames.AUTHORIZE_IP }, rejectWithError: true };
|
|
obj2 = { token };
|
|
obj = TrackedHTTPUtilsDefault;
|
|
({ event: discord_common_AnalyticsUtils.NetworkActionNames.AUTHORIZE_IP });
|
|
return obj.post(request);
|
|
},
|
|
verifyResend() {
|
|
let obj3;
|
|
obj = { url: React4.VERIFY_RESEND, oldFormErrors: true, trackedActionData: { event: discord_common_AnalyticsUtils.NetworkActionNames.USER_VERIFY_RESEND }, rejectWithError: obj3.rejectWithMigratedError() };
|
|
const post = TrackedHTTPUtilsDefault.post;
|
|
({ event: discord_common_AnalyticsUtils.NetworkActionNames.USER_VERIFY_RESEND });
|
|
obj3 = HTTPUtils;
|
|
return post(obj);
|
|
},
|
|
resetPassword(arg0, arg1, arg2) {
|
|
let closure_0 = arg0;
|
|
let closure_1 = arg1;
|
|
let closure_2 = arg2;
|
|
return (async function(arg0, value) {
|
|
let obj6;
|
|
let obj8;
|
|
if (c6 === 2) {
|
|
c6 = 3;
|
|
throw new TypeError("Generator functions may not be called on executing generators");
|
|
} else if (tmp3 === 3) {
|
|
if (arg0 === 1) {
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
const obj2 = { value, done: true };
|
|
return obj2;
|
|
} else {
|
|
return { value: "IconComponent", done: null };
|
|
}
|
|
} else {
|
|
let c4;
|
|
try {
|
|
let password;
|
|
let mfa;
|
|
let sms;
|
|
let webauthn;
|
|
let ticket;
|
|
let token;
|
|
let backup;
|
|
let totp;
|
|
let v6OrEarlierAPIError;
|
|
c6 = 2;
|
|
if (0 === c5) {
|
|
if (arg0 === 1) {
|
|
c6 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c6 = 3;
|
|
const obj3 = { value, done: true };
|
|
return obj3;
|
|
} else {
|
|
const source = tmp;
|
|
password = tmp4;
|
|
mfa = undefined;
|
|
sms = undefined;
|
|
webauthn = undefined;
|
|
ticket = undefined;
|
|
token = undefined;
|
|
backup = undefined;
|
|
totp = undefined;
|
|
v6OrEarlierAPIError = undefined;
|
|
const obj12 = password(closure_3[8]);
|
|
obj12.dispatch({ type: "LOGIN" });
|
|
const obj5 = { token, password, source };
|
|
const Storage2 = token(closure_3[18]).Storage;
|
|
value = Storage2.get(closure_1_10);
|
|
const tmp71 = closure_1_15();
|
|
const tmp38 = null != tmp71 && null != value;
|
|
if (tmp38) {
|
|
obj5.push_provider = tmp71;
|
|
obj5.push_token = value;
|
|
}
|
|
const Storage = token(closure_3[18]).Storage;
|
|
const value2 = Storage.get(closure_1_11);
|
|
let tmp44 = null != voip_provider;
|
|
const tmp43 = voip_provider;
|
|
if (tmp44) {
|
|
tmp44 = null != value2;
|
|
}
|
|
if (tmp44) {
|
|
obj5.push_voip_provider = tmp43;
|
|
obj5.push_voip_token = value2;
|
|
}
|
|
c4 = 1;
|
|
const request = { url: constants.RESET_PASSWORD, body: obj5, oldFormErrors: true, trackedActionData: obj6, rejectWithError: obj8.rejectWithMigratedError() };
|
|
obj6 = { event: token(closure_3[13]).NetworkActionNames.USER_RESET_PASSWORD };
|
|
const post = password(closure_3[12]).post;
|
|
const tmp47 = password(closure_3[12]);
|
|
obj8 = token(closure_3[14]);
|
|
c5 = 2;
|
|
c6 = 1;
|
|
const obj7 = { value: post(request), done: false };
|
|
return obj7;
|
|
}
|
|
} else if (1 === c5) {
|
|
c4 = 0;
|
|
let closure_9 = closure_3;
|
|
const self = this;
|
|
const self2 = this;
|
|
v6OrEarlierAPIError = new token(closure_3[15]).V6OrEarlierAPIError(closure_9);
|
|
const obj9 = { type: "LOGIN_FAILURE", error: v6OrEarlierAPIError };
|
|
const obj4 = password(closure_3[8]);
|
|
obj4.dispatch(obj9);
|
|
throw v6OrEarlierAPIError;
|
|
} else if (arg0 === 1) {
|
|
c6 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c4 = 0;
|
|
c6 = 3;
|
|
const obj10 = { value, done: true };
|
|
return obj10;
|
|
} else {
|
|
let SUCCESS;
|
|
const body = value.body;
|
|
token = body;
|
|
if (body == null) {
|
|
token = {};
|
|
}
|
|
mfa = token.mfa;
|
|
sms = token.sms;
|
|
webauthn = token.webauthn;
|
|
ticket = token.ticket;
|
|
token = token.token;
|
|
backup = token.backup;
|
|
totp = token.totp;
|
|
if (mfa) {
|
|
SUCCESS = tmp16.MFA;
|
|
} else {
|
|
SUCCESS = tmp16.SUCCESS;
|
|
}
|
|
value = { result: SUCCESS, sms, webauthn, ticket, token, backup, totp };
|
|
c4 = 0;
|
|
c6 = 3;
|
|
const obj11 = { value, done: true };
|
|
return obj11;
|
|
}
|
|
} catch (tmp53) {
|
|
closure_3 = tmp53;
|
|
if (0 === c4) {
|
|
c6 = 3;
|
|
throw tmp53;
|
|
} else {
|
|
c5 = 1;
|
|
}
|
|
}
|
|
}
|
|
})();
|
|
},
|
|
resetPasswordMFAv2(arg0) {
|
|
let code;
|
|
let method;
|
|
let password;
|
|
let require;
|
|
let source;
|
|
let ticket;
|
|
({ method: require, code: importDefault, ticket: importAll, password: dependencyMap, token: closure_4, source: _asyncToGenerator } = arg0);
|
|
return (async () => {
|
|
let c2;
|
|
let closure_0;
|
|
let obj4;
|
|
let obj5;
|
|
let tmp3;
|
|
let v1;
|
|
const obj6 = code(password[8]);
|
|
obj6.dispatch({ type: "LOGIN_MFA" });
|
|
const request = { url: constants.RESET_PASSWORD, body: obj4, oldFormErrors: true, trackedActionData: obj5, rejectWithError: true };
|
|
obj4 = { code: importDefault, ticket: importAll, password: dependencyMap, token, source: _asyncToGenerator, method: require };
|
|
obj5 = { event: tmp3(password[13]).NetworkActionNames.USER_RESET_PASSWORD, properties: { mfa: true } };
|
|
const post = code(password[12]).post;
|
|
const tmp15 = code(password[12]);
|
|
tmp3 = await post(request);
|
|
const body = tmp3.body;
|
|
if (body != null) {
|
|
token = body.token;
|
|
}
|
|
return token;
|
|
})();
|
|
},
|
|
forgotPassword(first1) {
|
|
let closure_0 = first1;
|
|
return (async function(arg0, value) {
|
|
let closure_1;
|
|
let obj10;
|
|
let obj16;
|
|
let obj5;
|
|
let obj7;
|
|
if (c5 === 2) {
|
|
c5 = 3;
|
|
throw new TypeError("Generator functions may not be called on executing generators");
|
|
} else if (tmp3 === 3) {
|
|
if (arg0 === 1) {
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
const obj2 = { value, done: true };
|
|
return obj2;
|
|
} else {
|
|
return { value: "IconComponent", done: null };
|
|
}
|
|
} else {
|
|
try {
|
|
let login;
|
|
let v6OrEarlierAPIError;
|
|
c5 = 2;
|
|
if (0 === c4) {
|
|
if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c5 = 3;
|
|
const obj3 = { value, done: true };
|
|
return obj3;
|
|
} else {
|
|
login = undefined;
|
|
v6OrEarlierAPIError = undefined;
|
|
const obj12 = tmp(c3[8]);
|
|
obj12.dispatch({ type: "FORGOT_PASSWORD_REQUEST" });
|
|
c3 = 1;
|
|
const request = { url: constants.FORGOT_PASSWORD, body: obj5, oldFormErrors: true, trackedActionData: obj7, rejectWithError: obj16.rejectWithMigratedError() };
|
|
obj5 = { login };
|
|
obj7 = { event: login(c3[13]).NetworkActionNames.FORGOT_PASSWORD };
|
|
const post = tmp(c3[12]).post;
|
|
const tmp45 = tmp(c3[12]);
|
|
obj16 = login(c3[14]);
|
|
c4 = 2;
|
|
c5 = 1;
|
|
const obj8 = { value: post(request), done: false };
|
|
return obj8;
|
|
}
|
|
} else if (1 === c4) {
|
|
c3 = 0;
|
|
const self = this;
|
|
const self2 = this;
|
|
v6OrEarlierAPIError = new login(c3[15]).V6OrEarlierAPIError(closure_2);
|
|
if (v6OrEarlierAPIError.code === constants2.PHONE_VERIFICATION_REQUIRED) {
|
|
const obj9 = { type: "LOGIN_PASSWORD_RECOVERY_PHONE_VERIFICATION", credentials: obj10 };
|
|
obj10 = { login: closure_129_0 };
|
|
const obj6 = tmp(c3[8]);
|
|
obj6.dispatch(obj9);
|
|
c5 = 3;
|
|
return { value: false, done: true };
|
|
} else {
|
|
const obj11 = { type: "LOGIN_FAILURE", error: v6OrEarlierAPIError };
|
|
const obj4 = tmp(c3[8]);
|
|
obj4.dispatch(obj11);
|
|
throw v6OrEarlierAPIError;
|
|
}
|
|
} else if (arg0 === 1) {
|
|
c5 = 3;
|
|
throw value;
|
|
} else if (arg0 === 2) {
|
|
c3 = 0;
|
|
c5 = 3;
|
|
const obj13 = { value, done: true };
|
|
return obj13;
|
|
} else {
|
|
login = value;
|
|
obj = tmp(c3[8]);
|
|
obj.dispatch({ type: "FORGOT_PASSWORD_SENT" });
|
|
c3 = 0;
|
|
c5 = 3;
|
|
const obj14 = { value: login.body.method, done: true };
|
|
return obj14;
|
|
}
|
|
} catch (tmp34) {
|
|
closure_2 = tmp34;
|
|
if (0 === c3) {
|
|
c5 = 3;
|
|
throw tmp34;
|
|
} else {
|
|
c4 = 1;
|
|
}
|
|
}
|
|
}
|
|
})();
|
|
},
|
|
setFingerprint(fingerprint) {
|
|
obj = DispatcherDefault;
|
|
const obj2 = { type: "FINGERPRINT", fingerprint };
|
|
obj.dispatch(obj2);
|
|
},
|
|
getExperiments(withGuildExperiments) {
|
|
obj = DispatcherDefault;
|
|
const obj2 = { type: "EXPERIMENTS_FETCH", withGuildExperiments };
|
|
obj.dispatch(obj2);
|
|
},
|
|
getLocationMetadata() {
|
|
let authenticationConsentRequired;
|
|
let timeout;
|
|
if (null == nextPromise) {
|
|
const _clearTimeout = clearTimeout;
|
|
clearTimeout(timeout);
|
|
const _setTimeout = setTimeout;
|
|
timeout = setTimeout(() => {
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "SET_CONSENT_REQUIRED", consentRequired: true });
|
|
}, 5000);
|
|
const HTTP = HTTPUtils.HTTP;
|
|
obj = { url: React4.AUTH_LOCATION_METADATA, retries: 2, oldFormErrors: true, rejectWithError: true };
|
|
const value = HTTP.get(obj);
|
|
nextPromise = value.then((body) => {
|
|
clearTimeout(closure_1_4);
|
|
if (null == authenticationConsentRequired.getAuthenticationConsentRequired()) {
|
|
let flag;
|
|
if (body != null) {
|
|
body = body.body;
|
|
if (body != null) {
|
|
flag = body.consent_required;
|
|
}
|
|
}
|
|
if (flag == null) {
|
|
flag = true;
|
|
}
|
|
const obj2 = { type: "SET_CONSENT_REQUIRED", consentRequired: flag };
|
|
obj = DispatcherDefault;
|
|
obj.dispatch(obj2);
|
|
}
|
|
let country_code;
|
|
const dispatch = DispatcherDefault.dispatch;
|
|
DispatcherDefault;
|
|
if (body != null) {
|
|
const body2 = body.body;
|
|
if (body2 != null) {
|
|
country_code = body2.country_code;
|
|
}
|
|
}
|
|
dispatch({ type: "SET_LOCATION_METADATA", countryCode: country_code });
|
|
c17 = null;
|
|
let prop;
|
|
if (body != null) {
|
|
const body3 = body.body;
|
|
if (body3 != null) {
|
|
prop = body3.promotional_email_opt_in;
|
|
}
|
|
}
|
|
if (null != prop) {
|
|
const obj5 = { required: null, checked: null, preChecked: null };
|
|
({ required: obj3.required, pre_checked: obj3.checked, pre_checked: obj3.preChecked } = body.body.promotional_email_opt_in);
|
|
setPromoEmailConsentState(obj5);
|
|
}
|
|
}, () => {
|
|
clearTimeout(closure_1_4);
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "SET_CONSENT_REQUIRED", consentRequired: true });
|
|
c17 = null;
|
|
});
|
|
}
|
|
return nextPromise;
|
|
},
|
|
closeSuspendedUser() {
|
|
obj = DispatcherDefault;
|
|
obj.dispatch({ type: "CLOSE_SUSPENDED_USER" });
|
|
}
|
|
};
|
|
const PasswordResetResult = { MFA: "MFA", SUCCESS: "SUCCESS" };
|
|
let result = size.fileFinishedImporting("actions/AuthenticationActionCreators.tsx");
|
|
|
|
export default obj2;
|
|
export { PasswordResetResult };
|