decord/beta/source/stores/GuildVerificationStore.tsx
2026-10-02 13:37:24 +00:00

309 lines
11 KiB
TypeScript

// Module ID: 5726
// Function ID: 5727
// Name: GuildVerificationStore
// Dependencies: [2069, 2111, 2105, 2073, 1378, 1086, 4458, 1391, 585, 11, 504, 2]
// Module 5726 (GuildVerificationStore)
import SnowflakeUtilsDefault from "SnowflakeUtils" /* 11 */;
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 585 */;
import GuildRecord from "GuildRecord" /* 2069 */;
import GuildMemberConstants from "GuildMemberConstants" /* 4458 */;
import GuildMemberStore from "GuildMemberStore" /* 2111 */;
import GuildRoleStore from "GuildRoleStore" /* 2105 */;
import GuildStore from "GuildStore" /* 2073 */;
import UserStore from "UserStore" /* 1378 */;
import Constants from "Constants" /* 1086 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require;
let c10;
let c9;
let metroImportAll;
function recomputeGuild(guildId) {
let date2;
let date3;
_require = guildId;
clearGuild(guildId);
set.add(guildId);
const guild = GuildStore.getGuild(guildId);
const currentUser = UserStore.getCurrentUser();
if (null != guild) {
if (null != currentUser) {
if (null != guild && guild.verificationLevel !== constants.NONE) {
if (!isGuildOwner(guild, currentUser)) {
const member = GuildMemberStore.getMember(guild.id, currentUser.id);
if (null == member) {
let tmp14 = tmp6 && null != member;
let flag = false;
if (tmp14) {
const roles = member.roles;
tmp14 = !roles.includes(guild.verificationRoleId);
flag = tmp14;
}
let role;
if (tmp14) {
role = GuildRoleStore.getRole(guild.id, guild.verificationRoleId);
}
let num3 = 0;
let num4 = 0;
let flag2 = false;
let flag3 = false;
let flag4 = false;
let flag5 = false;
let flag6 = false;
if (null != guild && guild.verificationLevel !== constants.NONE) {
num3 = 0;
num4 = 0;
flag2 = false;
flag3 = false;
flag4 = false;
flag5 = false;
flag6 = false;
if (!currentUser.isPhoneVerified()) {
let flag7 = false;
if (null != member) {
const _Set = Set;
const self = this;
const self2 = this;
set = new Set();
const roles2 = member.roles;
for (const item10071 of roles2) {
let tmp21 = item10071;
let role1 = GuildRoleStore.getRole(guild.id, item10071);
let managed = null == role1;
if (!managed) {
managed = tmp24.managed;
}
if (!managed) {
let addResult1 = set.add(tmp21);
}
continue;
}
const _Date = Date;
const self3 = this;
let self4 = this;
let tmp29 = null == member.joinedAt;
const date = new Date("2022-12-02 00:00:00");
if (!tmp29) {
const _Date2 = Date;
const self5 = this;
self4 = this;
tmp29 = new Date(member.joinedAt) < date;
const date1 = new Date(member.joinedAt);
}
const features = guild.features;
flag7 = false;
const tmp35 = !(null != guild && null != guild.verificationRoleId) && !(features.has(constants3.GUILD_ONBOARDING_EVER_ENABLED) && !tmp29) && set.size > 0;
if (tmp35) {
flag7 = true;
}
}
num3 = 0;
num4 = 0;
flag2 = false;
flag3 = false;
flag4 = false;
flag5 = false;
flag6 = false;
if (!flag7) {
const _Date3 = Date;
const result = 60000 * constants2.ACCOUNT_AGE;
const tmp36 = +currentUser.createdAt;
const diff = tmp36 + result - Date.now();
const _Date4 = Date;
const result1 = 60000 * constants2.MEMBER_AGE;
const tmp41 = +guild.joinedAt;
const diff1 = tmp41 + result1 - Date.now();
let flag8 = false;
let flag9 = false;
let flag10 = false;
let flag11 = false;
const tmp45 = guild.verificationLevel >= constants.LOW && !currentUser.isClaimed();
if (!currentUser.isStaff()) {
let tmp48 = guild.verificationLevel >= tmp44.MEDIUM;
const tmp46 = guild.verificationLevel >= constants.LOW && !currentUser.verified;
const tmp47 = guild.verificationLevel >= constants.VERY_HIGH;
if (tmp48) {
tmp48 = diff > 0;
}
flag8 = guild.verificationLevel >= constants.HIGH && diff1 > 0;
flag9 = tmp48;
flag10 = tmp47;
flag11 = tmp46;
}
flag2 = flag8;
flag3 = flag9;
flag4 = flag10;
flag5 = flag11;
num3 = diff1;
num4 = diff;
flag6 = tmp45;
}
}
}
const items = [];
if (flag2) {
items.push(num3);
}
if (flag3) {
items.push(num4);
}
let timerId;
if (items.length > 0) {
const _setTimeout = setTimeout;
const _Math = Math;
const items1 = [];
HermesBuiltin.arraySpread(items1, items, 0);
const _Math2 = Math;
timerId = setTimeout(() => {
const obj = DispatcherDefault;
const obj2 = { type: "GUILD_VERIFICATION_CHECK", guildId };
return obj.dispatch(obj2);
}, HermesBuiltin.apply(max, items1, Math));
}
let obj = { notClaimed: flag6, notEmailVerified: flag5, notPhoneVerified: flag4, newAccount: flag3, newMember: flag2, missingVerificationRole: flag, verificationRole: role, canChat: !flag6, accountDeadline: date2, memberDeadline: date3, timeoutRef: timerId };
const tmp59 = closure_14;
if (!flag6) {
flag6 = flag5;
}
if (!flag6) {
flag6 = flag4;
}
if (!flag6) {
flag6 = flag3;
}
if (!flag6) {
flag6 = flag2;
}
if (!flag6) {
flag6 = flag;
}
const _Date5 = Date;
const _Date6 = Date;
const self6 = this;
const self7 = this;
const _Date7 = Date;
const _Date8 = Date;
const self8 = this;
const self9 = this;
date2 = new Date(Date.now() + num4);
tmp59[guildId] = obj;
date3 = new Date(Date.now() + num3);
} else {
let num = member.flags;
const hasFlag = require("FlagUtils").hasFlag;
require("FlagUtils");
if (num == null) {
num = 0;
}
}
}
}
}
}
}
function clearGuild(arg0) {
const tmp = arg0;
const tmp2 = closure_14;
if (null != closure_14[arg0]) {
const _clearTimeout = clearTimeout;
clearTimeout(closure_14[arg0].timeoutRef);
}
delete tmp2[tmp];
}
function handleCreateOrUpdateGuild(guild) {
set.delete(guild.guild.id);
recomputeGuild(guild.guild.id);
}
const isGuildOwner = GuildRecord.isGuildOwner;
({ VerificationLevels: metroImportAll, VerificationCriteria: c9, GuildFeatures: c10 } = Constants);
const GuildMemberFlags = GuildMemberConstants.GuildMemberFlags;
let closure_12 = { notClaimed: false, notEmailVerified: false, notPhoneVerified: false, newAccount: false, newMember: false, missingVerificationRole: false, canChat: true };
let set = new Set();
const authStore2 = {};
const Store = get_initializedDefault.Store;
class GuildVerificationStore extends Store {
initialize() {
this.waitFor(GuildMemberStore, GuildRoleStore, GuildStore, UserStore);
}
getCheck(guildId) {
let tmp5;
if (null == guildId) {
tmp5 = closure_12;
} else {
if (!set.has(guildId)) {
recomputeGuild(guildId);
}
tmp5 = closure_14[guildId];
if (tmp5 == null) {
tmp5 = closure_12;
}
}
return tmp5;
}
canChatInGuild(guild_id) {
return this.getCheck(guild_id).canChat;
}
}
const prototype = GuildVerificationStore.prototype;
GuildVerificationStore.displayName = "GuildVerificationStore";
let obj = {
CONNECTION_OPEN: function handleConnectionOpen() {
set.clear();
for (const key10008 in closure_14) {
let tmp5 = closure_14[key10008];
let tmp3 = key10008;
let tmp4 = closure_14;
if (null != tmp5) {
let _clearTimeout = clearTimeout;
let clearTimeoutResult = clearTimeout(tmp5.timeoutRef);
}
delete tmp4[tmp3];
continue;
}
},
CONNECTION_CLOSED: function handleConnectionClosed() {
const obj = SnowflakeUtilsDefault;
const keys = obj.keys(closure_14);
const item = keys.forEach(clearGuild);
},
CURRENT_USER_UPDATE: function handleCurrentUserUpdate() {
set.clear();
},
GUILD_CREATE: handleCreateOrUpdateGuild,
GUILD_UPDATE: handleCreateOrUpdateGuild,
GUILD_DELETE: function handleDeleteGuild(guild) {
const id = guild.guild.id;
const tmp = closure_14;
if (null != closure_14[id]) {
const _clearTimeout = clearTimeout;
clearTimeout(closure_14[id].timeoutRef);
}
delete tmp[id];
},
GUILD_MEMBER_UPDATE: function handleGuildMemberUpdate(guildId) {
guildId = guildId.guildId;
const id = guildId.user.id;
const currentUser = UserStore.getCurrentUser();
let id1;
if (currentUser != null) {
id1 = currentUser.id;
}
if (id !== id1) {
return false;
} else {
set.delete(guildId);
recomputeGuild(guildId);
}
},
GUILD_VERIFICATION_CHECK: function handleGuildVerificationCheck(guildId) {
recomputeGuild(guildId.guildId);
}
};
const guildVerificationStore = new GuildVerificationStore(DispatcherDefault, obj);
let result = size.fileFinishedImporting("stores/GuildVerificationStore.tsx");
export default guildVerificationStore;