Files
discord-decomp/modules/unique_usernames/UniqueUsernamesActionCreators.tsx
T
2026-11-01 12:12:55 +02:00

213 lines
6.4 KiB
TypeScript

// Metro module 13794 (f13795).
import { Endpoints, AnalyticEvents } from "../../Constants";
import { intl, t } from "../../intl/index.native";
import Dispatcher from "../../Dispatcher";
import { HTTP } from "../../_bundle/sendRequest";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import TrackedHTTPUtils from "../../utils/TrackedHTTPUtils";
import { NetworkActionNames } from "../../_bundle/Module503";
import { APIError } from "../../errors/index";
let env9602 = {};
const r19 = {
resetSuggestions: () => Dispatcher.dispatch({
type: "UNIQUE_USERNAME_SUGGESTIONS_RESET"
}),
fetchSuggestionsRegistration: async function fetchSuggestionsRegistration(global_name, r4 = 1500) {
let r89;
const timeout = r4;
let c27573_3 = 0;
let c30668_0;
L18: {
L16: {
try {
c30668_0 = void 0;
Dispatcher.dispatch({
type: "UNIQUE_USERNAME_SUGGESTIONS_RESET"
});
c27573_3 = 1;
c30668_0 = await HTTP.get({
url: Endpoints.POMELO_SUGGESTIONS_UNAUTHED,
query: global_name == null ? void 0 : {
global_name
},
timeout,
rejectWithError: true,
failImmediatelyWhenRateLimited: true
});
if (c30668_0.ok) {
if (c30668_0.body?.username != null) {
r89 = Dispatcher.dispatch({
type: "UNIQUE_USERNAME_REGISTRATION_SUGGESTIONS_SUCCESS",
suggestion: c30668_0.body,
source: global_name
});
c27573_3 = 0;
break L16;
}
}
c27573_3 = 0;
break L18;
} catch ($e) {
let r12 = $e;
if (c27573_3 !== 0) {
while (true) {
try {
c27573_3 = 0;
break L18;
} catch ($e) {
r12 = $e;
if (c27573_3 === 0) {
break;
}
}
}
}
throw r12;
}
}
return r89;
}
},
attemptUsername: async function attemptUsername(username, r5 = "modal") {
let r58;
const location2 = r5;
let r6 = arguments[2];
if (r6 === void 0) {
r6 = false;
}
let c20731_2 = r6;
let r4 = arguments[3];
if (r4 === void 0) {
r4 = false;
}
const one_click_flow = r4;
let anyErrorMessage, c27574_1, c27574_2, c27574_3;
let c27574_4 = 0;
const r20 = void 0;
const r19 = env9602;
L18: {
L17: {
try {
let env30669;
c27574_2 = r20;
const r41 = env30669 = {
$parent: r19
};
c27574_1 = r41;
env30669[0] = void 0;
env30669[1] = void 0;
env30669[2] = void 0;
const reason = (function validate(a0) {
let r16;
L9: {
if (/^[A-Za-z0-9_.]*$/.test(a0) === false) {
r16 = intl.string(t.z7c4bP);
} else if (a0.includes("..")) {
r16 = intl.string(t["C7G+gr"]);
} else {
if (!(a0.length < 2)) {
const r15 = a0.length > 32;
r16 = void 0;
if (!r15) {
break L9;
}
}
r16 = intl.formatToPlainString(t.IpijXA, {
maxNum: 32,
minNum: 2
});
}
}
return r16;
})(username);
if (reason != null) {
AnalyticsUtils.track(AnalyticEvents.POMELO_ERRORS, {
reason,
username_error: true,
location: location2,
one_click_flow
});
r58 = Dispatcher.dispatch({
type: "UNIQUE_USERNAME_ATTEMPT_FAILURE",
username,
error: reason
});
break L18;
}
c27574_4 = 1;
env30669[0] = await TrackedHTTPUtils.post({
url: c20731_2 ? Endpoints.POMELO_ATTEMPT_UNAUTHED : Endpoints.POMELO_ATTEMPT,
body: {
username
},
trackedActionData: {
event: NetworkActionNames.POMELO_ATTEMPT,
properties: {
requested_username: username
}
},
rejectWithError: false
});
if (env30669[0].body.taken) {
AnalyticsUtils.track(AnalyticEvents.POMELO_ERRORS, {
reason: "already_taken",
username_error: true,
location: location2,
one_click_flow
});
}
Dispatcher.dispatch({
type: "UNIQUE_USERNAME_ATTEMPT_SUCCESS",
username,
taken: env30669[0].body.taken
});
c27574_4 = 0;
} catch ($e) {
const r39 = $e;
let r14 = r39;
c27574_3 = r39;
if (c27574_4 !== 0) {
while (true) {
try {
const r138 = c27574_3;
c27574_4 = 0;
env30669[3] = r138;
env30669[1] = new APIError(env30669[3]);
anyErrorMessage = env30669[1].getAnyErrorMessage();
if (anyErrorMessage == null) {
anyErrorMessage = void 0;
}
env30669[2] = anyErrorMessage;
AnalyticsUtils.track(AnalyticEvents.POMELO_ERRORS, {
reason: env30669[2],
username_error: true,
location: location2,
one_click_flow
});
Dispatcher.dispatch({
username,
type: "UNIQUE_USERNAME_ATTEMPT_FAILURE",
error: env30669[1].status != null ? env30669[1].status < 500 ? env30669[1].status !== 401 ? env30669[2] : void 0 : void 0 : void 0,
statusCode: env30669[1].status,
retryAfter: env30669[1].retryAfter
});
break L17;
} catch (r134) {
r14 = r134;
c27574_3 = r134;
if (c27574_4 === 0) {
break;
}
}
}
}
throw r14;
}
}
return void 0;
}
return r58;
}
};
export default r19;