209 lines
7.9 KiB
TypeScript
209 lines
7.9 KiB
TypeScript
// Module ID: 7914
|
|
// Function ID: 63105
|
|
// Name: computeAllowNsfw
|
|
// Dependencies: []
|
|
// Exports: buildPermissionContext, computeCommandContextType, usePermissionContext
|
|
|
|
// Module 7914 (computeAllowNsfw)
|
|
function computeAllowNsfw(guild_id, arg1, viewNsfwCommandsOrDefault) {
|
|
let nsfw = viewNsfwCommandsOrDefault;
|
|
let tmp2 = !tmp;
|
|
if (!!arg1) {
|
|
let tmp5 = !tmp4;
|
|
if (guild_id instanceof ChannelRecordBase) {
|
|
if (null != guild_id.guild_id) {
|
|
nsfw = guild_id.nsfw;
|
|
}
|
|
tmp5 = nsfw;
|
|
}
|
|
tmp2 = tmp5;
|
|
}
|
|
return tmp2;
|
|
}
|
|
function computePermissions(isPrivate) {
|
|
if (!(isPrivate instanceof ChannelRecordBase)) {
|
|
if (null != isPrivate) {
|
|
const permissions = closure_9.computePermissions(isPrivate);
|
|
let flag = true;
|
|
let flag2 = true;
|
|
if (!obj6.has(permissions, constants2.ADMINISTRATOR)) {
|
|
let obj = importAll(dependencyMap[11]);
|
|
const hasItem = obj.has(permissions, constants2.VIEW_CHANNEL);
|
|
if (tmp3) {
|
|
let hasItem1 = hasItem;
|
|
if (hasItem) {
|
|
hasItem1 = importAll(dependencyMap[11]).has(permissions, constants2.USE_APPLICATION_COMMANDS);
|
|
const obj2 = importAll(dependencyMap[11]);
|
|
}
|
|
const has = importAll(dependencyMap[11]).has;
|
|
let SEND_MESSAGES_IN_THREADS = constants2;
|
|
if (arg1) {
|
|
SEND_MESSAGES_IN_THREADS = SEND_MESSAGES_IN_THREADS.SEND_MESSAGES_IN_THREADS;
|
|
let hasItem2 = has(permissions, SEND_MESSAGES_IN_THREADS);
|
|
} else {
|
|
hasItem2 = has(permissions, SEND_MESSAGES_IN_THREADS.SEND_MESSAGES);
|
|
}
|
|
const tmp14 = importAll(dependencyMap[11]);
|
|
} else {
|
|
flag = hasItem;
|
|
flag2 = true;
|
|
}
|
|
const tmp3 = isPrivate instanceof ChannelRecordBase;
|
|
}
|
|
obj = { computedPermissions: permissions, hasBaseAccessPermissions: flag, hasSendMessagesPermission: flag2 };
|
|
return obj;
|
|
}
|
|
}
|
|
obj = { matrix: null, mask: null, markerStart: null, computedPermissions: importAll(dependencyMap[11]).deserialize(0) };
|
|
return obj;
|
|
}
|
|
function getContextGuildId(context) {
|
|
return context instanceof ChannelRecordBase ? context.guild_id : context.id;
|
|
}
|
|
let closure_3 = importAll(dependencyMap[0]);
|
|
let closure_4 = importDefault(dependencyMap[1]);
|
|
const ChannelRecordBase = arg1(dependencyMap[2]).ChannelRecordBase;
|
|
let closure_6 = importDefault(dependencyMap[3]);
|
|
let closure_7 = importDefault(dependencyMap[4]);
|
|
let closure_8 = importDefault(dependencyMap[5]);
|
|
let closure_9 = importDefault(dependencyMap[6]);
|
|
let closure_10 = importDefault(dependencyMap[7]);
|
|
({ ChannelTypes: closure_11, Permissions: closure_12 } = arg1(dependencyMap[8]));
|
|
const tmp2 = arg1(dependencyMap[8]);
|
|
const result = arg1(dependencyMap[13]).fileFinishedImporting("modules/application_commands/CommandPermissionContext.tsx");
|
|
|
|
export const buildPermissionContext = function buildPermissionContext(channel, items) {
|
|
let tmp = channel;
|
|
if (channel instanceof ChannelRecordBase) {
|
|
tmp = channel;
|
|
if (channel.isThread()) {
|
|
channel = channel.getChannel(channel.parent_id);
|
|
tmp = channel;
|
|
if (null != channel) {
|
|
tmp = channel;
|
|
}
|
|
}
|
|
}
|
|
let tmp5;
|
|
if (null != tmp) {
|
|
tmp5 = getContextGuildId(tmp);
|
|
}
|
|
let obj = items(dependencyMap[9]);
|
|
const viewNsfwCommandsOrDefault = obj.getViewNsfwCommandsOrDefault();
|
|
const id = id.getId();
|
|
const currentUser = currentUser.getCurrentUser();
|
|
let nsfwAllowed;
|
|
if (null != currentUser) {
|
|
nsfwAllowed = currentUser.nsfwAllowed;
|
|
}
|
|
if (null == tmp5) {
|
|
items = [];
|
|
} else {
|
|
const member = member.getMember(tmp5, id);
|
|
items = undefined;
|
|
if (null != member) {
|
|
items = member.roles;
|
|
}
|
|
}
|
|
let isThreadResult = channel instanceof ChannelRecordBase;
|
|
if (isThreadResult) {
|
|
isThreadResult = channel.isThread();
|
|
}
|
|
const isViewingRolesResult = viewingRoles.isViewingRoles(tmp5);
|
|
const tmp11 = null != nsfwAllowed && nsfwAllowed;
|
|
const tmp16 = computePermissions;
|
|
obj = { context: tmp, userId: id, roleIds: items, isImpersonating: isViewingRolesResult, commandTypes: items };
|
|
({ computedPermissions: obj2.computedPermissions, hasBaseAccessPermissions: obj2.hasBaseAccessPermissions, hasSendMessagesPermission: obj2.hasSendMessagesPermission } = computePermissions(tmp, isThreadResult));
|
|
obj.allowNsfw = computeAllowNsfw(tmp, tmp11, viewNsfwCommandsOrDefault);
|
|
return obj;
|
|
};
|
|
export const usePermissionContext = function usePermissionContext(channel, items) {
|
|
items = channel;
|
|
const importAll = items;
|
|
items = [channel];
|
|
const memo = React.useMemo((self) => {
|
|
if (self instanceof stateFromStores) {
|
|
if (self.isThread()) {
|
|
let channel = stateFromStoresArray.getChannel(self.parent_id);
|
|
}
|
|
return channel;
|
|
}
|
|
channel = self;
|
|
}, items);
|
|
const dependencyMap = memo;
|
|
let tmp2;
|
|
if (null != memo) {
|
|
tmp2 = getContextGuildId(memo);
|
|
}
|
|
const React = tmp2;
|
|
const viewNsfwCommandsOrDefault = items(dependencyMap[9]).useViewNsfwCommandsOrDefault();
|
|
let closure_4 = viewNsfwCommandsOrDefault;
|
|
const obj = items(dependencyMap[9]);
|
|
const items1 = [closure_6];
|
|
const stateFromStores = items(dependencyMap[10]).useStateFromStores(items1, () => stateFromStores1.getId());
|
|
const ChannelRecordBase = stateFromStores;
|
|
const obj2 = items(dependencyMap[10]);
|
|
const items2 = [closure_10];
|
|
const stateFromStores1 = items(dependencyMap[10]).useStateFromStores(items2, () => {
|
|
const currentUser = currentUser.getCurrentUser();
|
|
let nsfwAllowed;
|
|
if (null != currentUser) {
|
|
nsfwAllowed = currentUser.nsfwAllowed;
|
|
}
|
|
return null != nsfwAllowed && nsfwAllowed;
|
|
});
|
|
closure_6 = stateFromStores1;
|
|
const obj3 = items(dependencyMap[10]);
|
|
const items3 = [closure_8];
|
|
const stateFromStoresArray = items(dependencyMap[10]).useStateFromStoresArray(items3, () => {
|
|
if (null == tmp2) {
|
|
let items = [];
|
|
} else {
|
|
const member = stateFromStores2.getMember(tmp2, stateFromStores);
|
|
items = undefined;
|
|
if (null != member) {
|
|
items = member.roles;
|
|
}
|
|
}
|
|
return items;
|
|
});
|
|
let closure_7 = stateFromStoresArray;
|
|
const obj4 = items(dependencyMap[10]);
|
|
const items4 = [closure_4];
|
|
const stateFromStores2 = items(dependencyMap[10]).useStateFromStores(items4, () => viewNsfwCommandsOrDefault.isViewingRoles(tmp2));
|
|
closure_8 = stateFromStores2;
|
|
const items5 = [items, memo, stateFromStores2, stateFromStoresArray, stateFromStores, stateFromStores1, viewNsfwCommandsOrDefault, channel];
|
|
return React.useMemo(() => {
|
|
let isThreadResult = arg0 instanceof stateFromStores;
|
|
if (isThreadResult) {
|
|
isThreadResult = arg0.isThread();
|
|
}
|
|
const tmpResult = closure_14(memo, isThreadResult);
|
|
return { context: memo, userId: stateFromStores, roleIds: stateFromStoresArray, commandTypes: arg1, isImpersonating: stateFromStores2, computedPermissions: tmpResult.computedPermissions, hasBaseAccessPermissions: tmpResult.hasBaseAccessPermissions, hasSendMessagesPermission: tmpResult.hasSendMessagesPermission, allowNsfw: callback(memo, stateFromStores1, viewNsfwCommandsOrDefault) };
|
|
}, items5);
|
|
};
|
|
export const computeCommandContextType = function computeCommandContextType(channel, applicationId) {
|
|
if (channel instanceof ChannelRecordBase) {
|
|
let guild_id;
|
|
if (null != channel) {
|
|
guild_id = channel.guild_id;
|
|
}
|
|
if (null == guild_id) {
|
|
let type;
|
|
if (null != channel) {
|
|
type = channel.type;
|
|
}
|
|
if (type !== constants.DM) {
|
|
const PRIVATE_CHANNEL = applicationId(dependencyMap[12]).InteractionContextType.PRIVATE_CHANNEL;
|
|
} else {
|
|
let recipientId;
|
|
if (null != channel) {
|
|
recipientId = channel.getRecipientId();
|
|
}
|
|
}
|
|
const BOT_DM = applicationId(dependencyMap[12]).InteractionContextType.BOT_DM;
|
|
}
|
|
}
|
|
return applicationId(dependencyMap[12]).InteractionContextType.GUILD;
|
|
};
|
|
export { getContextGuildId };
|