export async function onBeforeRender(pageContext: PageContext) { const { current_user: currentUser } = pageContext; if (!currentUser) return { pageContext: { logged_in: false, }, status: 401, }; const typePermissions = { appeal: [1 << 0, 1 << 1], gma: [1 << 5], report: [1 << 5], }; const typeNames: { [k: string]: string } = { appeal: "Discord Appeals", gma: "Game Appeals", report: "Game Reports", }; const allowedTypes = []; for (const [type, ints] of Object.entries(typePermissions)) { if (ints.find((i) => currentUser.permissions & i)) allowedTypes.push({ name: typeNames[type], value: type }); } if (!allowedTypes.length) return { pageContext: { entry_types: [], }, status: 403, }; return { pageContext: { pageProps: { entry_types: allowedTypes, }, }, }; }