diff --git a/wondrous-bot-admin/src/components/Settings/OrgDetails/index.tsx b/wondrous-bot-admin/src/components/Settings/OrgDetails/index.tsx index c8bcf1c0d..a24f7b88f 100644 --- a/wondrous-bot-admin/src/components/Settings/OrgDetails/index.tsx +++ b/wondrous-bot-admin/src/components/Settings/OrgDetails/index.tsx @@ -72,7 +72,7 @@ const OrgDetails = () => { }); }; const [updateOrg, { data: updateOrgData, loading: updateLoading }] = useMutation(UPDATE_ORG, { - refetchQueries: ["getUserOrgs"], + refetchQueries: ["getLoggedInUserFullAccessOrgs"], onCompleted: () => { setSnackbarSuccess(); }, diff --git a/wondrous-bot-admin/src/components/WorkspaceSwitch/index.tsx b/wondrous-bot-admin/src/components/WorkspaceSwitch/index.tsx index 790287ea5..850581164 100644 --- a/wondrous-bot-admin/src/components/WorkspaceSwitch/index.tsx +++ b/wondrous-bot-admin/src/components/WorkspaceSwitch/index.tsx @@ -10,9 +10,13 @@ import { SidebarLabel, WorkspaceContainer, WorkspaceImageWrapper, WorkspaceWrapp import AddImage from "components/Icons/Add.svg"; import { WorkspaceDAOIcon } from "components/Icons/DAOIcon"; import MoreVertIcon from "@mui/icons-material/MoreVert"; -import { logout } from "components/Auth"; +import { logout, useMe, withAuth } from "components/Auth"; import { LogoutRounded } from "@mui/icons-material"; import { ButtonIconWrapper } from "components/Shared/styles"; +import { useMutation } from "@apollo/client"; +import { CREATE_ORG } from "graphql/mutations"; +import { generateRandomString } from "utils/discord"; +import { ALLOWLIST_ADMIN_IDS } from "utils/constants"; interface GearIconProps { onClick?: () => void; @@ -45,6 +49,8 @@ const WorkspaceSwitch = ({ isCollapsed = false }) => { const { userOrgs, activeOrg, setActiveOrg } = useContext(GlobalContext); const navigate = useNavigate(); + const { user } = useMe() || {}; + const handleClickAway = () => { if (anchorEl) setAnchorEl(null); }; @@ -58,6 +64,30 @@ const WorkspaceSwitch = ({ isCollapsed = false }) => { return setAnchorEl((prev) => (prev ? null : e.currentTarget)); }; + const [adminCreateOrg, { loading }] = useMutation(CREATE_ORG, { + refetchQueries: ["getLoggedInUserFullAccessOrgs"], + onCompleted: (data) => { + setActiveOrg(data?.createOrg); + }, + }); + const _adminCreateOrg = async () => { + const randomStr = generateRandomString(8); + try { + await adminCreateOrg({ + variables: { + input: { + name: `New Workspace - ${randomStr}`, + username: `workspace-${randomStr}`, + cmtyEnabled: true, + }, + }, + }); + } catch (error) { + alert("Error creating workspace, check console for more details"); + console.log(error, "some error"); + } + }; + return ( @@ -194,6 +224,22 @@ const WorkspaceSwitch = ({ isCollapsed = false }) => { + {ALLOWLIST_ADMIN_IDS.includes(user?.id) && ( + + + + + + + )} logout()}> @@ -219,4 +265,4 @@ const WorkspaceSwitch = ({ isCollapsed = false }) => { ); }; -export default WorkspaceSwitch; +export default withAuth(WorkspaceSwitch); diff --git a/wondrous-bot-admin/src/utils/constants.tsx b/wondrous-bot-admin/src/utils/constants.tsx index bcb813708..5bcc1d3e8 100644 --- a/wondrous-bot-admin/src/utils/constants.tsx +++ b/wondrous-bot-admin/src/utils/constants.tsx @@ -550,3 +550,5 @@ export const QUALIFYING_ACTION_TYPES = { export const LOCKED_PATHS = ["/store", "/store/items/create", "/store/items/:id", "/analytics"]; export const LOCAL_STORAGE_ORG_ID_KEY = "default-org-id"; + +export const ALLOWLIST_ADMIN_IDS = ["46108748309069853", "54694658413953389"]; \ No newline at end of file