151 lines
6.6 KiB
TypeScript
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);
|
|
};
|