127 lines
5.2 KiB
TypeScript
127 lines
5.2 KiB
TypeScript
// Metro module 8266 (f8267).
|
|
import { useCallback } from "react";
|
|
import PermissionStore from "../../stores/PermissionStore";
|
|
import UserStore from "../../stores/UserStore";
|
|
import { CREATE_GUILD_EVENT_CORE_PERMISSIONS, CREATE_GUILD_EVENT_STAGE_CHANNEL_PERMISSIONS, CREATE_GUILD_EVENT_VOICE_CHANNEL_PERMISSIONS } from "../guild_scheduled_events/PermissionsConstants";
|
|
import { Permissions } from "../../_bundle/Module505";
|
|
import { combine } from "../../_bundle/HighLow";
|
|
import { isGuildRecord } from "../../utils/GuildRecordUtils";
|
|
import { useStateFromStoresArray, useStateFromStores } from "../../_bundle/Module589";
|
|
let c5262_11;
|
|
const canManageResource = function canManageResource(a0, a1, a2, a3) {
|
|
let r16;
|
|
let r2 = a0 != null;
|
|
if (r2) {
|
|
let r11 = !!a2;
|
|
if (!r11) {
|
|
let r5 = a3;
|
|
if ("creator_id" in a0) {
|
|
if (a3) {
|
|
r5 = a1 != null;
|
|
}
|
|
if (r5) {
|
|
r5 = a0.creator_id === a1.id;
|
|
}
|
|
r16 = r5;
|
|
} else {
|
|
r16 = "userId" in a0 ? (a3 ? a1 != null : a3) && a0.userId === a1.id : "user" in a0 && ((a3 ? a1 != null : a3) && a0.user?.id === a1.id);
|
|
}
|
|
r11 = r16;
|
|
}
|
|
r2 = r11;
|
|
}
|
|
return r2;
|
|
};
|
|
c5262_11 = {
|
|
canCreateExpressions: false,
|
|
canCreateGuildEvent: false,
|
|
canManageAllExpressions: false,
|
|
canManageAllEvents: false,
|
|
canManageGuildExpression: () => false,
|
|
canManageGuildEvent: () => false
|
|
};
|
|
export function attachChannelPermissions(a0) {
|
|
if (a0 == null) {
|
|
return [Permissions.CREATE_EVENTS, Permissions.MANAGE_EVENTS];
|
|
}
|
|
let r6 = CREATE_GUILD_EVENT_CORE_PERMISSIONS;
|
|
if (a0.isGuildStageVoice()) {
|
|
r6 = CREATE_GUILD_EVENT_STAGE_CHANNEL_PERMISSIONS;
|
|
} else if (a0.isGuildVoice()) {
|
|
r6 = CREATE_GUILD_EVENT_VOICE_CHANNEL_PERMISSIONS;
|
|
}
|
|
return [combine(r6, Permissions.CREATE_EVENTS), combine(r6, Permissions.MANAGE_EVENTS)];
|
|
}
|
|
export function useManageResourcePermissions(a0) {
|
|
let r25;
|
|
let c16427_3, c16427_4, c16427_5, c16427_6, stateFromStores;
|
|
let c16427_0 = a0;
|
|
if (isGuildRecord(a0)) {
|
|
r25 = [Permissions.CREATE_EVENTS, Permissions.MANAGE_EVENTS];
|
|
} else if (a0 == null) {
|
|
r25 = [Permissions.CREATE_EVENTS, Permissions.MANAGE_EVENTS];
|
|
} else {
|
|
let r12 = CREATE_GUILD_EVENT_CORE_PERMISSIONS;
|
|
if (a0.isGuildStageVoice()) {
|
|
r12 = CREATE_GUILD_EVENT_STAGE_CHANNEL_PERMISSIONS;
|
|
} else if (a0.isGuildVoice()) {
|
|
r12 = CREATE_GUILD_EVENT_VOICE_CHANNEL_PERMISSIONS;
|
|
}
|
|
r25 = [combine(r12, Permissions.CREATE_EVENTS), combine(r12, Permissions.MANAGE_EVENTS)];
|
|
}
|
|
let [c16427_1, c16427_2] = r25;
|
|
const [canCreateExpressions, canManageAllExpressions, canCreateGuildEvent, canManageAllEvents] = useStateFromStoresArray([PermissionStore], () => {
|
|
const CREATE_GUILD_EXPRESSIONS = Permissions.CREATE_GUILD_EXPRESSIONS;
|
|
return [PermissionStore.can(CREATE_GUILD_EXPRESSIONS, c16427_0), PermissionStore.can(Permissions.MANAGE_GUILD_EXPRESSIONS, c16427_0), PermissionStore.can(c16427_1, c16427_0), PermissionStore.can(c16427_2, c16427_0)];
|
|
});
|
|
c16427_3 = canCreateExpressions;
|
|
c16427_4 = canManageAllExpressions;
|
|
c16427_5 = canCreateGuildEvent;
|
|
c16427_6 = canManageAllEvents;
|
|
stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser());
|
|
const callback = useCallback((a0) => canManageResource(a0, stateFromStores, c16427_4, c16427_3), [canCreateExpressions, canManageAllExpressions, stateFromStores]);
|
|
const callback2 = useCallback((a0) => canManageResource(a0, stateFromStores, c16427_6, c16427_5), [canManageAllEvents, canCreateGuildEvent, stateFromStores]);
|
|
return a0 == null ? c5262_11 : {
|
|
canCreateExpressions,
|
|
canCreateGuildEvent,
|
|
canManageAllExpressions,
|
|
canManageAllEvents,
|
|
canManageGuildExpression: callback,
|
|
canManageGuildEvent: callback2
|
|
};
|
|
}
|
|
export function getManageResourcePermissions(a0, r12 = PermissionStore, r11 = UserStore) {
|
|
let r26;
|
|
if (isGuildRecord(a0)) {
|
|
r26 = [Permissions.CREATE_EVENTS, Permissions.MANAGE_EVENTS];
|
|
} else if (a0 == null) {
|
|
r26 = [Permissions.CREATE_EVENTS, Permissions.MANAGE_EVENTS];
|
|
} else {
|
|
let r13 = CREATE_GUILD_EVENT_CORE_PERMISSIONS;
|
|
if (a0.isGuildStageVoice()) {
|
|
r13 = CREATE_GUILD_EVENT_STAGE_CHANNEL_PERMISSIONS;
|
|
} else if (a0.isGuildVoice()) {
|
|
r13 = CREATE_GUILD_EVENT_VOICE_CHANNEL_PERMISSIONS;
|
|
}
|
|
r26 = [combine(r13, Permissions.CREATE_EVENTS), combine(r13, Permissions.MANAGE_EVENTS)];
|
|
}
|
|
const [r44, r45] = r26;
|
|
const canCreateExpressions = r12.can(Permissions.CREATE_GUILD_EXPRESSIONS, a0);
|
|
let c16428_0 = canCreateExpressions;
|
|
const canManageAllExpressions = r12.can(Permissions.MANAGE_GUILD_EXPRESSIONS, a0);
|
|
let c16428_1 = canManageAllExpressions;
|
|
const canCreateGuildEvent = r12.can(r44, a0);
|
|
let c16428_2 = canCreateGuildEvent;
|
|
const canManageAllEvents = r12.can(r45, a0);
|
|
let c16428_3 = canManageAllEvents;
|
|
const currentUser = r11.getCurrentUser();
|
|
return a0 == null ? c5262_11 : {
|
|
canCreateExpressions,
|
|
canCreateGuildEvent,
|
|
canManageAllExpressions,
|
|
canManageAllEvents,
|
|
canManageGuildExpression: (a0) => canManageResource(a0, currentUser, c16428_1, c16428_0),
|
|
canManageGuildEvent: (a0) => canManageResource(a0, currentUser, c16428_3, c16428_2)
|
|
};
|
|
}
|