decord/beta/source/utils/PermissionSpecUtils.tsx
2026-10-12 16:32:48 +00:00

376 lines
18 KiB
TypeScript

// Module ID: 17593
// Function ID: 17594
// Name: PermissionSpecUtils
// Dependencies: [2069, 2087, 1085, 7490, 17594, 6954, 11601, 17595, 1126, 2128, 6972, 5895, 17596, 6971, 17597, 8638, 7904, 2]
// Module 17593 (PermissionSpecUtils)
import intl34 from "intl" /* 1126 */;
import ChannelRecord from "ChannelRecord" /* 2069 */;
import HelpdeskUtilsDefault from "HelpdeskUtils" /* 2128 */;
import useIsCreatorMonetizationEnabledGuild from "useIsCreatorMonetizationEnabledGuild" /* 6954 */;
import GuildOfficialMessagesExperimentDefault from "GuildOfficialMessagesExperiment" /* 6971 */;
import ChannelPermissionsConstants from "ChannelPermissionsConstants" /* 7490 */;
import Tracking from "Tracking" /* 7904 */;
import GuildSettingsActionCreatorsDefault from "GuildSettingsActionCreators" /* 8638 */;
import SoundmojiRenderingExperiment from "SoundmojiRenderingExperiment" /* 11601 */;
import useGuildEligibleForStageChannels from "useGuildEligibleForStageChannels" /* 17594 */;
import HangoutWindowExperiment from "HangoutWindowExperiment" /* 17595 */;
import permissions_PermissionUtilsAll from "permissions/PermissionUtils" /* 17597 */;
import GuildStore from "GuildStore" /* 2087 */;
import Constants from "Constants" /* 1085 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require, importDefault, permissions;
let c10;
let c9;
let metroImportAll;
let metroImportDefault;
let metroRequire;
function getPermissionOptions(id) {
let ZuzwPz;
let enableHangoutWindow;
let fVE8y8;
let format;
let format2;
let intl2;
let obj4;
let obj5;
let obj9;
const obj = useGuildEligibleForStageChannels;
const result = obj.isGuildEligibleForStageChannels(id);
const guild = GuildStore.getGuild(id);
let result1 = null != guild;
if (result1) {
const tmpResult = useIsCreatorMonetizationEnabledGuild;
result1 = tmpResult.isCreatorMonetizationEnabledGuild(guild);
}
const tmpResult3 = SoundmojiRenderingExperiment;
const soundmojiRenderingExperiment = tmpResult3.getSoundmojiRenderingExperiment({ location: "getPermissionOptions" });
const obj2 = { guildId: id, location: "getPermissionOptions" };
const obj3 = { PRIORITY_SPEAKER_DESCRIPTION: format(ZuzwPz, obj4), SOUNDBOARD_DESCRIPTION: format2(fVE8y8, obj5), showStageChannelPermissions: result, showExperimental: true, showMembershipManualApprovalPermissions: true, showCreatorMonetizationAnalyticsPermission: result1, inSoundmojiExperiment: soundmojiRenderingExperiment, enableHangoutWindow };
const tmpResult4 = HangoutWindowExperiment;
enableHangoutWindow = tmpResult4.getHangoutWindowExperiment(obj2).enableHangoutWindow;
const intl = tmp(1126).intl;
format = intl.format;
obj4 = { keybind: intl2.string(intl34.t.DkSwJ2) };
ZuzwPz = tmp(1126).t.ZuzwPz;
intl2 = tmp(1126).intl;
const intl3 = tmp(1126).intl;
format2 = intl3.format;
obj5 = { helpCenterArticle: obj9.getArticleURL(metroRequire.SOUNDBOARD) };
fVE8y8 = tmp(1126).t.fVE8y8;
obj9 = HelpdeskUtilsDefault;
return obj3;
}
let set = ChannelRecord.VOICE_THREAD_PARENT_CHANNEL_TYPES;
({ HelpdeskArticles: metroRequire, ChannelTypes: metroImportDefault, GuildFeatures: metroImportAll, Permissions: c9, GuildSettingsSections: c10 } = Constants);
let closure_11 = ChannelPermissionsConstants.getChannelPermissionSpecMap;
let obj = {
generateChannelPermissionSpec(guild_id, stateFromStores, arg2, arg3) {
let items5;
_require = guild_id;
let tmp = getPermissionOptions(guild_id);
let obj = { enableHangoutWindow: tmp.enableHangoutWindow };
const merged = Object.assign(arg3);
const tmp3 = closure_11(stateFromStores, arg2, obj);
const tmp4 = _require;
const VoiceInThreadsExperiment = require("ThreadHooks").VoiceInThreadsExperiment;
let obj2 = { guildId: guild_id, location: "3ad37d_1" };
const enabled = VoiceInThreadsExperiment.getCurrentConfig(obj2).enabled && set.has(stateFromStores.type);
const tmp4Result = tmp4(5895);
const isStageVideoEnabledResult = tmp4Result.isStageVideoEnabled(guild_id);
const tmp4Result2 = tmp4(17596);
let result = tmp4Result2.canCurrentUserManageMessageFilters(guild_id);
const isMediaChannelResult = stateFromStores.isMediaChannel();
importDefault = isMediaChannelResult;
const self = this;
set = new Set();
const guild = GuildStore.getGuild(guild_id);
let hasItem;
if (guild != null) {
const features = guild.features;
hasItem = features.has(constants3.VERIFIED);
}
if (hasItem) {
const obj3 = { guildId: guild_id, location: "generateChannelPermissionSpec" };
const obj6 = GuildOfficialMessagesExperimentDefault;
hasItem = obj6.getCurrentConfig(obj3).enabled;
}
if (!hasItem) {
const str = constants4.MANAGE_OFFICIAL_MESSAGES;
set.add(str.toString());
}
const inSoundmojiExperiment = tmp.inSoundmojiExperiment;
const type = stateFromStores.type;
if (constants2.GUILD_CATEGORY === type) {
let items2;
const generateChannelGeneralSection4 = permissions_PermissionUtilsAll.generateChannelGeneralSection;
permissions_PermissionUtilsAll;
const intl23 = tmp4(1126).intl;
const items = [generateChannelGeneralSection4(tmp3, intl23.string(tmp4(1126).t["AkPxc+"])), , , , , ];
const generateChannelMembershipSection4 = permissions_PermissionUtilsAll.generateChannelMembershipSection;
permissions_PermissionUtilsAll;
const intl24 = tmp4(1126).intl;
items[1] = generateChannelMembershipSection4(tmp3, intl24.string(tmp4(1126).t.Ny49TN));
const generateChannelTextSection2 = permissions_PermissionUtilsAll.generateChannelTextSection;
permissions_PermissionUtilsAll;
const intl25 = tmp4(1126).intl;
const obj4 = { showPrivateThreads: true, showCreateThreads: true, inSoundmojiExperiment };
items[2] = generateChannelTextSection2(tmp3, intl25.string(tmp4(1126).t.cKobO5), obj4);
const generateChannelVoiceSection4 = permissions_PermissionUtilsAll.generateChannelVoiceSection;
permissions_PermissionUtilsAll;
const intl26 = tmp4(1126).intl;
items[3] = generateChannelVoiceSection4(tmp3, intl26.string(tmp4(1126).t["46Ra1b"]));
const generateChannelAppsSection4 = permissions_PermissionUtilsAll.generateChannelAppsSection;
permissions_PermissionUtilsAll;
const intl27 = tmp4(1126).intl;
items[4] = generateChannelAppsSection4(tmp3, intl27.string(tmp4(1126).t["rrh/W6"]));
if (tmp.showStageChannelPermissions) {
const generateChannelStageSection2 = permissions_PermissionUtilsAll.generateChannelStageSection;
permissions_PermissionUtilsAll;
const intl28 = tmp4(1126).intl;
const items1 = [generateChannelStageSection2(tmp3, intl28.string(tmp4(1126).t.yniauk))];
items2 = items1;
} else {
items2 = [];
}
const arraySpreadResult = HermesBuiltin.arraySpread(items, items2, 5);
const generateChannelEventsSection3 = permissions_PermissionUtilsAll.generateChannelEventsSection;
permissions_PermissionUtilsAll;
const intl29 = tmp4(1126).intl;
items[arraySpreadResult] = generateChannelEventsSection3(tmp3, intl29.string(tmp4(1126).t.b8lplT));
items5 = items;
} else if (constants2.GUILD_VOICE === type) {
const generateChannelGeneralSection3 = permissions_PermissionUtilsAll.generateChannelGeneralSection;
permissions_PermissionUtilsAll;
const intl16 = tmp4(1126).intl;
const items3 = [generateChannelGeneralSection3(tmp3, intl16.string(tmp4(1126).t.ouHggI), { showManageWebhooks: true }), , , , , ];
const generateChannelMembershipSection3 = permissions_PermissionUtilsAll.generateChannelMembershipSection;
permissions_PermissionUtilsAll;
const intl17 = tmp4(1126).intl;
items3[1] = generateChannelMembershipSection3(tmp3, intl17.string(tmp4(1126).t.Ny49TN));
const generateChannelVoiceSection3 = permissions_PermissionUtilsAll.generateChannelVoiceSection;
permissions_PermissionUtilsAll;
const intl18 = tmp4(1126).intl;
items3[2] = generateChannelVoiceSection3(tmp3, intl18.string(tmp4(1126).t["46Ra1b"]));
const generateChannelVoiceChatSection2 = permissions_PermissionUtilsAll.generateChannelVoiceChatSection;
permissions_PermissionUtilsAll;
const intl19 = tmp4(1126).intl;
let formatResult;
const stringResult = intl19.string(tmp4(1126).t.iqlsnD);
if (result) {
const intl20 = tmp4(1126).intl;
const obj5 = {
setUpAutomod() {
const obj = GuildSettingsActionCreatorsDefault;
obj.open(guild_id, constants.GUILD_AUTOMOD);
}
};
formatResult = intl20.format(tmp4(1126).t["4Z9Fbb"], obj5);
}
const obj7 = { sectionDescription: formatResult, inSoundmojiExperiment };
items3[3] = generateChannelVoiceChatSection2(tmp3, stringResult, obj7);
const generateChannelEventsSection2 = permissions_PermissionUtilsAll.generateChannelEventsSection;
permissions_PermissionUtilsAll;
const intl21 = tmp4(1126).intl;
items3[4] = generateChannelEventsSection2(tmp3, intl21.string(tmp4(1126).t.b8lplT));
const generateChannelAppsSection3 = permissions_PermissionUtilsAll.generateChannelAppsSection;
permissions_PermissionUtilsAll;
const intl22 = tmp4(1126).intl;
items3[5] = generateChannelAppsSection3(tmp3, intl22.string(tmp4(1126).t["rrh/W6"]));
items5 = items3;
} else if (constants2.GUILD_STAGE_VOICE === type) {
const generateChannelGeneralSection2 = permissions_PermissionUtilsAll.generateChannelGeneralSection;
permissions_PermissionUtilsAll;
const intl8 = tmp4(1126).intl;
const items4 = [generateChannelGeneralSection2(tmp3, intl8.string(tmp4(1126).t.ouHggI), { showManageWebhooks: false }), , , , , , ];
const generateChannelMembershipSection2 = permissions_PermissionUtilsAll.generateChannelMembershipSection;
permissions_PermissionUtilsAll;
const intl9 = tmp4(1126).intl;
items4[1] = generateChannelMembershipSection2(tmp3, intl9.string(tmp4(1126).t.Ny49TN));
const generateChannelStageVoiceSection = permissions_PermissionUtilsAll.generateChannelStageVoiceSection;
permissions_PermissionUtilsAll;
const intl10 = tmp4(1126).intl;
items4[2] = generateChannelStageVoiceSection(tmp3, intl10.string(tmp4(1126).t["46Ra1b"]), isStageVideoEnabledResult);
const generateChannelStageSection = permissions_PermissionUtilsAll.generateChannelStageSection;
permissions_PermissionUtilsAll;
const intl11 = tmp4(1126).intl;
items4[3] = generateChannelStageSection(tmp3, intl11.string(tmp4(1126).t.yniauk));
const generateChannelEventsSection = permissions_PermissionUtilsAll.generateChannelEventsSection;
permissions_PermissionUtilsAll;
const intl12 = tmp4(1126).intl;
items4[4] = generateChannelEventsSection(tmp3, intl12.string(tmp4(1126).t.b8lplT));
const generateChannelVoiceChatSection = permissions_PermissionUtilsAll.generateChannelVoiceChatSection;
permissions_PermissionUtilsAll;
const intl13 = tmp4(1126).intl;
let formatResult1;
const stringResult1 = intl13.string(tmp4(1126).t.iqlsnD);
if (result) {
const intl14 = tmp4(1126).intl;
const obj8 = {
setUpAutomod() {
const obj = GuildSettingsActionCreatorsDefault;
obj.open(guild_id, constants.GUILD_AUTOMOD);
}
};
formatResult1 = intl14.format(tmp4(1126).t["4Z9Fbb"], obj8);
}
const obj9 = { sectionDescription: formatResult1, inSoundmojiExperiment };
items4[5] = generateChannelVoiceChatSection(tmp3, stringResult1, obj9);
const generateChannelAppsSection2 = tmp33(17597).generateChannelAppsSection;
permissions_PermissionUtilsAll;
const intl15 = tmp4(1126).intl;
items4[6] = generateChannelAppsSection2(tmp3, intl15.string(tmp4(1126).t["rrh/W6"]), { showActivities: false });
items5 = items4;
} else {
let stringResult2;
let items10;
if (constants2.GUILD_FORUM !== type) {
if (constants2.GUILD_MEDIA !== type) {
let items7;
const generateChannelGeneralSection5 = permissions_PermissionUtilsAll.generateChannelGeneralSection;
permissions_PermissionUtilsAll;
const intl30 = tmp4(1126).intl;
items5 = [generateChannelGeneralSection5(tmp3, intl30.string(tmp4(1126).t.ouHggI)), , , ];
const generateChannelMembershipSection5 = permissions_PermissionUtilsAll.generateChannelMembershipSection;
permissions_PermissionUtilsAll;
const intl31 = tmp4(1126).intl;
items5[1] = generateChannelMembershipSection5(tmp3, intl31.string(tmp4(1126).t.Ny49TN));
const generateChannelTextSection3 = permissions_PermissionUtilsAll.generateChannelTextSection;
permissions_PermissionUtilsAll;
const intl32 = tmp4(1126).intl;
const obj10 = { showPrivateThreads: stateFromStores.type !== constants2.GUILD_ANNOUNCEMENT, showCreateThreads: true, inSoundmojiExperiment };
items5[2] = generateChannelTextSection3(tmp3, intl32.string(tmp4(1126).t.cKobO5), obj10);
const generateChannelAppsSection5 = permissions_PermissionUtilsAll.generateChannelAppsSection;
permissions_PermissionUtilsAll;
const intl33 = tmp4(1126).intl;
items5[3] = generateChannelAppsSection5(tmp3, intl33.string(tmp4(1126).t["rrh/W6"]));
if (enabled) {
const generateChannelVoiceSection = tmp64(17597).generateChannelVoiceSection;
permissions_PermissionUtilsAll;
const intl = tmp4(1126).intl;
const items6 = [generateChannelVoiceSection(tmp3, intl.string(tmp4(1126).t["46Ra1b"]))];
items7 = items6;
} else {
items7 = [];
}
HermesBuiltin.arraySpread(items5, items7, 4);
}
}
const intl2 = tmp4(1126).intl;
const string = intl2.string;
const t = tmp4(1126).t;
if (isMediaChannelResult) {
stringResult2 = string(t.aSjPgw);
} else {
stringResult2 = string(t.TS7Cnb);
}
const t2 = tmp4(1126).t;
const tmp22 = isMediaChannelResult ? t2.YjJTtH : t2["1MTnqY"];
const generateChannelGeneralSection = permissions_PermissionUtilsAll.generateChannelGeneralSection;
permissions_PermissionUtilsAll;
const intl3 = tmp4(1126).intl;
const items8 = [generateChannelGeneralSection(tmp3, intl3.string(tmp4(1126).t.ouHggI)), , , ];
const generateChannelMembershipSection = permissions_PermissionUtilsAll.generateChannelMembershipSection;
permissions_PermissionUtilsAll;
const intl4 = tmp4(1126).intl;
items8[1] = generateChannelMembershipSection(tmp3, intl4.string(tmp4(1126).t.Ny49TN));
let formatResult2;
const generateChannelTextSection = permissions_PermissionUtilsAll.generateChannelTextSection;
permissions_PermissionUtilsAll;
if (result) {
const intl5 = tmp4(1126).intl;
const obj11 = {
setUpAutomod() {
const tmp = importDefault;
if (!tmp) {
const obj = Tracking;
const result = obj.trackForumEnableAutomodClicked();
}
const obj2 = GuildSettingsActionCreatorsDefault;
obj2.open(guild_id, constants.GUILD_AUTOMOD);
}
};
formatResult2 = intl5.format(tmp22, obj11);
}
const obj12 = { showPrivateThreads: false, showCreateThreads: false, sectionDescription: formatResult2, inSoundmojiExperiment };
items8[2] = generateChannelTextSection(tmp3, stringResult2, obj12);
const generateChannelAppsSection = permissions_PermissionUtilsAll.generateChannelAppsSection;
permissions_PermissionUtilsAll;
const intl6 = tmp4(1126).intl;
items8[3] = generateChannelAppsSection(tmp3, intl6.string(tmp4(1126).t["rrh/W6"]));
if (enabled) {
const generateChannelVoiceSection2 = permissions_PermissionUtilsAll.generateChannelVoiceSection;
permissions_PermissionUtilsAll;
const intl7 = tmp4(1126).intl;
const items9 = [generateChannelVoiceSection2(tmp3, intl7.string(tmp4(1126).t["46Ra1b"]))];
items10 = items9;
} else {
items10 = [];
}
HermesBuiltin.arraySpread(items8, items10, 4);
items5 = items8;
}
let mapped = items5;
if (0 !== set.size) {
mapped = items5.map((permissions) => {
const obj = {
permissions: permissions.filter((flag) => {
const str = flag.flag;
return !set.has(str.toString());
})
};
const merged = Object.assign(permissions);
permissions = permissions.permissions;
return obj;
});
}
return mapped;
},
generateGuildPermissionSpec(features) {
set = new Set();
features = features.features;
const tmp = metroImportAll;
if (!features.has(metroImportAll.COMMUNITY)) {
let str = constants4.VIEW_GUILD_ANALYTICS;
set.add(str.toString());
}
const features2 = features.features;
let enabled = features2.has(tmp.VERIFIED);
if (enabled) {
let obj = { guildId: features.id, location: "generateGuildPermissionSpec" };
const obj2 = GuildOfficialMessagesExperimentDefault;
enabled = obj2.getCurrentConfig(obj).enabled;
}
if (!enabled) {
const str2 = constants4.MANAGE_OFFICIAL_MESSAGES;
set.add(str2.toString());
}
const obj4 = permissions_PermissionUtilsAll;
const guildPermissionSpec = obj4.generateGuildPermissionSpec(getPermissionOptions(features.id));
let mapped = guildPermissionSpec;
if (0 !== set.size) {
mapped = guildPermissionSpec.map((permissions) => {
const obj = {
permissions: permissions.filter((flag) => {
const str = flag.flag;
return !set.has(str.toString());
})
};
const merged = Object.assign(permissions);
permissions = permissions.permissions;
return obj;
});
}
return mapped;
},
getGuildPermissionSpecMap(id) {
const obj = permissions_PermissionUtilsAll;
return obj.getGuildPermissionSpec(getPermissionOptions(id.id));
}
};
let result = size.fileFinishedImporting("utils/PermissionSpecUtils.tsx");
export default obj;