import { createContext, ReactNode, useContext } from "react"; import { useGetUserOrgPermissions } from "@app/hooks/api"; import { OrgUser } from "@app/hooks/api/types"; import { useOrganization } from "../OrganizationContext"; import { TOrgPermission } from "./types"; type Props = { children: ReactNode; }; const OrgPermissionContext = createContext(null); export const OrgPermissionProvider = ({ children }: Props): JSX.Element => { const { currentOrg } = useOrganization(); const orgId = currentOrg?.id || ""; const { data: permission, isLoading } = useGetUserOrgPermissions({ orgId }); if (isLoading) { return (
infisical loading indicator
); } if (!permission) { return (
Failed to load user permissions
); } return ( {children} ); }; export const useOrgPermission = () => { const ctx = useContext(OrgPermissionContext); if (!ctx) { throw new Error("useOrgPermission to be used within "); } return ctx; };