decord/beta/source/modules/permissions/useManageResourcePermissions.tsx
2026-10-01 14:13:23 +00:00

223 lines
7.3 KiB
TypeScript

// Module ID: 8952
// Function ID: 8953
// Name: useManageResourcePermissions
// Dependencies: [32, 19, 4469, 1372, 8953, 1085, 1086, 2059, 504, 2]
// Exports: attachChannelPermissions, getManageResourcePermissions, useManageResourcePermissions
// Module 8952 (useManageResourcePermissions)
import Constants from "Constants" /* 1085 */;
import BigFlagUtilsAll from "BigFlagUtils" /* 1086 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import react_mod from "react" /* 19 */;
import PermissionStore from "PermissionStore" /* 4469 */;
import UserStore from "UserStore" /* 1372 */;
import PermissionsConstants from "PermissionsConstants" /* 8953 */;
import size from "module_2" /* 2 */;
const require = globalThis.__r;
let _require, closure_5;
let c9;
let metroImportAll;
let metroImportDefault;
function canManageResource(creator_id, stateFromStores, canResult1, c0) {
let tmp = null != creator_id;
if (tmp) {
let tmp3 = canResult1;
if (!tmp3) {
let tmp6;
let tmp5 = c0;
if ("creator_id" in creator_id) {
if (tmp5) {
tmp5 = null != stateFromStores;
}
if (tmp5) {
tmp5 = creator_id.creator_id === stateFromStores.id;
}
tmp6 = tmp5;
} else if ("userId" in creator_id) {
tmp6 = tmp5 && null != stateFromStores && creator_id.userId === stateFromStores.id;
} else {
tmp6 = "user" in creator_id;
if (tmp6) {
let tmp7 = tmp5 && null != stateFromStores;
if (tmp7) {
const user = creator_id.user;
let id;
if (user != null) {
id = user.id;
}
tmp7 = id === stateFromStores.id;
}
tmp6 = tmp7;
}
}
tmp3 = tmp6;
}
tmp = tmp3;
}
return tmp;
}
let react = react_mod;
({ CREATE_GUILD_EVENT_CORE_PERMISSIONS: metroImportDefault, CREATE_GUILD_EVENT_STAGE_CHANNEL_PERMISSIONS: metroImportAll, CREATE_GUILD_EVENT_VOICE_CHANNEL_PERMISSIONS: c9 } = PermissionsConstants);
const Permissions = Constants.Permissions;
let closure_11 = {
canCreateExpressions: false,
canCreateGuildEvent: false,
canManageAllExpressions: false,
canManageAllEvents: false,
canManageGuildExpression() {
return false;
},
canManageGuildEvent() {
return false;
}
};
const result = size.fileFinishedImporting("modules/permissions/useManageResourcePermissions.tsx");
export const attachChannelPermissions = function attachChannelPermissions(channel) {
if (null == channel) {
const items = [, ];
({ CREATE_EVENTS: arr2[0], MANAGE_EVENTS: arr2[1] } = Permissions);
return items;
} else {
let tmp = metroImportDefault;
if (channel.isGuildStageVoice()) {
tmp = metroImportAll;
} else if (channel.isGuildVoice()) {
tmp = React4;
}
const items1 = [, ];
const obj = BigFlagUtilsAll;
items1[0] = obj.combine(tmp, Permissions.CREATE_EVENTS);
const obj2 = BigFlagUtilsAll;
items1[1] = obj2.combine(tmp, Permissions.MANAGE_EVENTS);
return items1;
}
};
export const useManageResourcePermissions = function useManageResourcePermissions(channel) {
let canCreateExpressions;
let closure_4;
let items2;
let obj4;
let stateFromStores;
_require = channel;
const obj = require("GuildRecordUtils");
if (obj.isGuildRecord(channel)) {
let items = [, ];
({ CREATE_EVENTS: arr3[0], MANAGE_EVENTS: arr3[1] } = Permissions);
items2 = items;
} else if (null == channel) {
const items1 = [, ];
({ CREATE_EVENTS: arr2[0], MANAGE_EVENTS: arr2[1] } = Permissions);
items2 = items1;
} else {
let tmp4 = stateFromStores;
if (channel.isGuildStageVoice()) {
tmp4 = closure_8;
} else if (channel.isGuildVoice()) {
tmp4 = closure_9;
}
items2 = [, ];
const obj2 = BigFlagUtilsAll;
items2[0] = obj2.combine(tmp4, Permissions.CREATE_EVENTS);
const obj3 = BigFlagUtilsAll;
items2[1] = obj3.combine(tmp4, Permissions.MANAGE_EVENTS);
}
[importAll, dependencyMap] = canCreateExpressions(items2, 2);
canCreateExpressions(items2, 2);
const items3 = [closure_5];
const tmpResult = require("get initialized");
const tmp10 = canCreateExpressions(tmpResult.useStateFromStoresArray(items3, () => {
const items = [PermissionStore.can(Permissions.CREATE_GUILD_EXPRESSIONS, channel), PermissionStore.can(Permissions.MANAGE_GUILD_EXPRESSIONS, channel), PermissionStore.can(importAll, channel), PermissionStore.can(dependencyMap, channel)];
return items;
}), 4);
canCreateExpressions = tmp10[0];
react = tmp12;
closure_5 = tmp13;
const currentUser = tmp14;
const items4 = [currentUser];
const tmpResult2 = require("get initialized");
stateFromStores = tmpResult2.useStateFromStores(items4, () => currentUser.getCurrentUser());
const items5 = [canCreateExpressions, tmp10[1], stateFromStores];
const items6 = [tmp10[3], tmp10[2], stateFromStores];
const callback = react.useCallback((creator_id) => canManageResource(creator_id, stateFromStores, closure_4, first), items5);
if (null == channel) {
obj4 = closure_11;
} else {
obj4 = { canCreateExpressions, canCreateGuildEvent: tmp10[2], canManageAllExpressions: tmp10[1], canManageAllEvents: tmp10[3], canManageGuildExpression: callback, canManageGuildEvent: tmp17 };
}
return obj4;
};
export const getManageResourcePermissions = function getManageResourcePermissions(guild, c6, UserStore) {
let c0;
let closure_4;
let items2;
let obj6;
let tmp10;
let tmp5;
let tmp9;
let obj = c6;
if (c6 === undefined) {
obj = PermissionStore;
}
let obj2 = UserStore;
if (UserStore === undefined) {
obj2 = UserStore;
}
_require = undefined;
let canResult1;
let canResult2;
let canResult3;
let currentUser;
const obj3 = require("GuildRecordUtils");
if (obj3.isGuildRecord(guild)) {
const items = [, ];
({ CREATE_EVENTS: arr3[0], MANAGE_EVENTS: arr3[1] } = Permissions);
tmp5 = Permissions;
items2 = items;
} else if (null == guild) {
const items1 = [, ];
({ CREATE_EVENTS: arr2[0], MANAGE_EVENTS: arr2[1] } = Permissions);
tmp5 = Permissions;
items2 = items1;
} else {
let tmp3 = closure_7;
if (guild.isGuildStageVoice()) {
tmp3 = closure_8;
} else if (guild.isGuildVoice()) {
tmp3 = closure_9;
}
tmp5 = Permissions;
items2 = [, ];
const obj4 = canResult1(canResult2[6]);
items2[0] = obj4.combine(tmp3, Permissions.CREATE_EVENTS);
const obj5 = canResult1(canResult2[6]);
items2[1] = obj5.combine(tmp3, Permissions.MANAGE_EVENTS);
}
[tmp9, tmp10] = canResult3(items2, 2);
canResult3(items2, 2);
const canResult = obj.can(tmp5.CREATE_GUILD_EXPRESSIONS, guild);
_require = canResult;
canResult1 = obj.can(tmp5.MANAGE_GUILD_EXPRESSIONS, guild);
canResult2 = obj.can(tmp9, guild);
canResult3 = obj.can(tmp10, guild);
currentUser = obj2.getCurrentUser();
if (null == guild) {
obj6 = closure_11;
} else {
obj6 = {
canCreateExpressions: canResult,
canCreateGuildEvent: canResult2,
canManageAllExpressions: canResult1,
canManageAllEvents: canResult3,
canManageGuildExpression(creator_id) {
return canManageResource(creator_id, closure_4, canResult1, c0);
},
canManageGuildEvent(creator_id) {
return canManageResource(creator_id, closure_4, canResult3, canResult2);
}
};
}
return obj6;
};