From e2658cc8ddb53eaebd709e8d19cfa3638957c74e Mon Sep 17 00:00:00 2001 From: Tuan Dang Date: Thu, 29 Jun 2023 18:47:35 +0700 Subject: [PATCH] Rewire RBAC paywall to new mechanism --- .../basic/table/ProjectUsersTable.tsx | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/frontend/src/components/basic/table/ProjectUsersTable.tsx b/frontend/src/components/basic/table/ProjectUsersTable.tsx index a94d2b3136..022eda020e 100644 --- a/frontend/src/components/basic/table/ProjectUsersTable.tsx +++ b/frontend/src/components/basic/table/ProjectUsersTable.tsx @@ -1,12 +1,11 @@ import { useEffect, useState } from "react"; import { useRouter } from "next/router"; import { faEye, faEyeSlash, faPenToSquare, faPlus, faX } from "@fortawesome/free-solid-svg-icons"; -import { plans } from "public/data/frequentConstants"; import { useNotificationContext } from "@app/components/context/Notifications/NotificationProvider"; import { Select, SelectItem } from "@app/components/v2"; +import { useSubscription } from "@app/context"; import updateUserProjectPermission from "@app/ee/api/memberships/UpdateUserProjectPermission"; -import getOrganizationSubscriptions from "@app/pages/api/organization/GetOrgSubscription"; import changeUserRoleInWorkspace from "@app/pages/api/workspace/changeUserRoleInWorkspace"; import deleteUserFromWorkspace from "@app/pages/api/workspace/deleteUserFromWorkspace"; import getLatestFileKey from "@app/pages/api/workspace/getLatestFileKey"; @@ -40,13 +39,12 @@ type EnvironmentProps = { * @returns */ const ProjectUsersTable = ({ userData, changeData, myUser, filter, isUserListLoading }: Props) => { + const { subscription } = useSubscription(); const [roleSelected, setRoleSelected] = useState( Array(userData?.length).fill(userData.map((user) => user.role)) ); - const host = window.location.origin; const router = useRouter(); const [myRole, setMyRole] = useState("member"); - const [currentPlan, setCurrentPlan] = useState(""); const [workspaceEnvs, setWorkspaceEnvs] = useState([]); const [isUpgradeModalOpen, setIsUpgradeModalOpen] = useState(false); const { createNotification } = useNotificationContext(); @@ -128,7 +126,7 @@ const ProjectUsersTable = ({ userData, changeData, myUser, filter, isUserListLoa denials = []; } - if (currentPlan !== plans.professional && host === "https://app.infisical.com" && workspaceId !== "63ea8121b6e2b0543ba79616") { + if (subscription?.rbac === false) { setIsUpgradeModalOpen(true); } else { const allDenials = userData[index].deniedPermissions @@ -167,14 +165,6 @@ const ProjectUsersTable = ({ userData, changeData, myUser, filter, isUserListLoa (async () => { const result = await getProjectInfo({ projectId: workspaceId }); setWorkspaceEnvs(result.environments); - - const orgId = localStorage.getItem("orgData.id") as string; - const subscriptions = await getOrganizationSubscriptions({ - orgId - }); - if (subscriptions) { - setCurrentPlan(subscriptions.data[0].plan.product); - } })(); }, [userData, myUser]); @@ -208,11 +198,13 @@ const ProjectUsersTable = ({ userData, changeData, myUser, filter, isUserListLoa return (
- + {subscription && ( + + )}