// 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) }; }