decord/stable/source/modules/impersonate/ImpersonateActionCreators.tsx
2026-10-06 22:12:49 +00:00

151 lines
6.6 KiB
TypeScript

// Module ID: 5865
// Function ID: 5866
// Name: ImpersonateActionCreators
// Dependencies: [2051, 4470, 2111, 2105, 4472, 2102, 5018, 2104, 1086, 2058, 1253, 5017, 2110, 585, 1113, 2]
// Exports: startImpersonating, stopImpersonating, updateImpersonatedChannels, updateImpersonatedData, updateImpersonatedRoles
// Module 5865 (ImpersonateActionCreators)
import DispatcherDefault from "Dispatcher" /* 585 */;
import AnalyticsUtilsDefault from "AnalyticsUtils" /* 1253 */;
import ChannelConstants from "ChannelConstants" /* 2058 */;
import ImpersonateTypes from "ImpersonateTypes" /* 2110 */;
import AppAnalyticsUtils from "AppAnalyticsUtils" /* 5017 */;
import ChannelStore from "ChannelStore" /* 2051 */;
import GuildChannelStore from "GuildChannelStore" /* 4470 */;
import GuildMemberStore from "GuildMemberStore" /* 2111 */;
import GuildRoleStore from "GuildRoleStore" /* 2105 */;
import PermissionStore from "PermissionStore" /* 4472 */;
import SelectedChannelStore from "SelectedChannelStore" /* 2102 */;
import UserGuildSettingsStore from "UserGuildSettingsStore" /* 5018 */;
import ImpersonateStore from "ImpersonateStore" /* 2104 */;
import Constants from "Constants" /* 1086 */;
import size from "module_2" /* 2 */;
let selfMember, set;
let closure_12;
let map1;
let tmp3;
let unpackModuleId;
const router_utils = tmp3(1113);
function updateImpersonating(guildId, type) {
let obj4;
const data = ImpersonateStore.getData(guildId);
const tmp2 = null != data && data.type === type.type;
if (tmp2) {
const _Object = Object;
const obj = { num_roles: Object.keys(data.roles).length, is_viewing_as_member: data.type === ImpersonateTypes.ImpersonateType.NEW_MEMBER };
const track = AnalyticsUtilsDefault.track;
const VIEW_AS_ROLES_SELECTED = map1.VIEW_AS_ROLES_SELECTED;
AnalyticsUtilsDefault;
const obj2 = AppAnalyticsUtils;
const merged = Object.assign(obj2.collectGuildAnalyticsMetadata(guildId));
track(VIEW_AS_ROLES_SELECTED, obj);
const obj3 = { type: "IMPERSONATE_UPDATE", guildId, data: obj4 };
obj4 = {};
const dispatch = DispatcherDefault.dispatch;
DispatcherDefault;
const merged1 = Object.assign(data);
const merged2 = Object.assign(type);
dispatch(obj3);
const channelId = SelectedChannelStore.getChannelId(guildId);
const tmp8 = require;
if (null == channelId) {
if (!PermissionStore.can(unpackModuleId.VIEW_CHANNEL, tmp23)) {
const defaultChannel = GuildChannelStore.getDefaultChannel(guildId);
if (null != defaultChannel) {
const tmp8Result = tmp8(1113);
tmp8Result.transitionTo(closure_12.CHANNEL(guildId, defaultChannel.id));
}
}
}
}
}
({ Permissions: unpackModuleId, Routes: closure_12, AnalyticEvents: map1 } = Constants);
const isStaticChannelRoute = ChannelConstants.isStaticChannelRoute;
let result = size.fileFinishedImporting("modules/impersonate/ImpersonateActionCreators.tsx");
export const startImpersonating = function startImpersonating(guildId, data) {
const tmp2 = AnalyticsUtilsDefault;
const track = tmp2.track;
const VIEW_AS_ROLES_SELECTED = map1.VIEW_AS_ROLES_SELECTED;
const obj = { num_roles: Object.keys(data.roles).length, is_viewing_as_member: data.type === ImpersonateTypes.ImpersonateType.NEW_MEMBER };
const obj2 = AppAnalyticsUtils;
const merged = Object.assign(obj2.collectGuildAnalyticsMetadata(guildId));
track(VIEW_AS_ROLES_SELECTED, obj);
const obj3 = DispatcherDefault;
const obj4 = { type: "IMPERSONATE_UPDATE", guildId, data };
obj3.dispatch(obj4);
const channelId = SelectedChannelStore.getChannelId(guildId);
if (null == channelId) {
if (!PermissionStore.can(unpackModuleId.VIEW_CHANNEL, tmp8)) {
const defaultChannel = GuildChannelStore.getDefaultChannel(guildId);
if (null != defaultChannel) {
const tmp3Result = router_utils;
tmp3Result.transitionTo(closure_12.CHANNEL(guildId, defaultChannel.id));
}
}
}
};
export { updateImpersonating };
export const stopImpersonating = function stopImpersonating(guildId) {
const obj = DispatcherDefault;
const obj2 = { type: "IMPERSONATE_STOP", guildId };
obj.dispatch(obj2);
};
export const updateImpersonatedChannels = function updateImpersonatedChannels(guildId, items1, items2) {
set = new Set(UserGuildSettingsStore.getOptedInChannels(guildId));
const item = items1.forEach((item) => set.add(item));
const item1 = items2.forEach((item) => set.delete(item));
const obj = { type: ImpersonateTypes.ImpersonateType.NEW_MEMBER, optInChannels: set };
updateImpersonating(guildId, obj);
};
export const updateImpersonatedRoles = function updateImpersonatedRoles(guildId, selectedRoleIds) {
function optIntoPrivateChannelsForGrantedRolesForPreview(guildId, selectedRoleIds) {
let optedInChannels;
let items = [...closure_4.getSelectableChannelIds(guildId), ...closure_4.getVocalChannelIds(guildId)];
let closure_2 = Array.from(selectedRoleIds);
const result = closure_4.addConditionalChangeListener(function() {
selfMember = selfMember.getSelfMember(selfMember);
if (null == selfMember) {
return false;
} else if (closure_2.some((item) => {
const roles = selfMember.roles;
return !roles.includes(item);
})) {
return true;
} else {
items = [];
const arraySpreadResult = HermesBuiltin.arraySpread(items, closure_1_4.getSelectableChannelIds(selfMember), 0);
HermesBuiltin.arraySpread(items, closure_1_4.getVocalChannelIds(selfMember), arraySpreadResult);
const found = items.filter((item) => !items.includes(item));
if (found.length > 0) {
const items1 = [];
const _Set = Set;
const self = this;
const self2 = this;
set = new Set(optedInChannels.getOptedInChannels(tmp2));
const item = found.forEach((item) => set.add(item));
const item1 = items1.forEach((item) => set.delete(item));
const obj = { type: guildId(closure_2[12]).ImpersonateType.NEW_MEMBER, optInChannels: set };
closure_1_15(selfMember, obj);
}
return false;
}
});
}
optIntoPrivateChannelsForGrantedRolesForPreview(guildId, selectedRoleIds);
let obj = {};
const manyRoles = GuildRoleStore.getManyRoles(guildId, selectedRoleIds);
for (const item10013 of manyRoles) {
obj[item10013.id] = item10013;
continue;
}
const obj2 = { type: ImpersonateTypes.ImpersonateType.NEW_MEMBER, roles: obj };
updateImpersonating(guildId, obj2);
};
export const updateImpersonatedData = function updateImpersonatedData(guildId, arg1) {
const obj = { type: ImpersonateTypes.ImpersonateType.NEW_MEMBER };
const merged = Object.assign(arg1);
updateImpersonating(guildId, obj);
};