feat(rbac): resolved viewer permission in list

This commit is contained in:
Akhil Mohan
2023-09-08 21:22:36 +05:30
parent 4ca95f4d79
commit 252042fb20
4 changed files with 5 additions and 5 deletions
+2 -2
View File
@@ -193,7 +193,7 @@ export const getUserPermissions = async (req: Request, res: Response) => {
const { const {
params: { orgId } params: { orgId }
} = await validateRequest(GetUserPermission, req); } = await validateRequest(GetUserPermission, req);
const { permission } = await getUserOrgPermissions(req.user.id, orgId); const { permission } = await getUserOrgPermissions(req.user._id, orgId);
res.status(200).json({ res.status(200).json({
data: { data: {
@@ -206,7 +206,7 @@ export const getUserWorkspacePermissions = async (req: Request, res: Response) =
const { const {
params: { workspaceId } params: { workspaceId }
} = await validateRequest(GetUserProjectPermission, req); } = await validateRequest(GetUserProjectPermission, req);
const { permission } = await getUserProjectPermissions(req.user.id, workspaceId); const { permission } = await getUserProjectPermissions(req.user._id, workspaceId);
res.status(200).json({ res.status(200).json({
data: { data: {
+1 -1
View File
@@ -225,7 +225,7 @@ export const getUserProjectPermissions = async (userId: string, workspaceId: str
if (membership.role === "admin") return { permission: adminProjectPermissions, membership }; if (membership.role === "admin") return { permission: adminProjectPermissions, membership };
if (membership.role === "member") return { permission: memberProjectPermissions, membership }; if (membership.role === "member") return { permission: memberProjectPermissions, membership };
if (membership.role === "viewer") return { permission: memberProjectPermissions, membership }; if (membership.role === "viewer") return { permission: viewerProjectPermission, membership };
if (membership.role === "custom") { if (membership.role === "custom") {
const permission = createMongoAbility<ProjectPermissionSet>(membership.customRole.permissions); const permission = createMongoAbility<ProjectPermissionSet>(membership.customRole.permissions);
@@ -102,7 +102,7 @@ export const ProjectRoleList = ({ isRolesLoading, roles = [], onSelectRole }: Pr
{isRolesLoading && <TableSkeleton columns={4} innerKey="org-roles" />} {isRolesLoading && <TableSkeleton columns={4} innerKey="org-roles" />}
{roles?.map((role) => { {roles?.map((role) => {
const { _id: id, name, createdAt, slug } = role; const { _id: id, name, createdAt, slug } = role;
const isNonMutatable = ["owner", "admin", "member"].includes(slug); const isNonMutatable = ["admin", "member", "viewer"].includes(slug);
return ( return (
<Tr key={`role-list-${id}`}> <Tr key={`role-list-${id}`}>
@@ -108,7 +108,7 @@ type Props = {
export const ProjectRoleModifySection = ({ role, onGoBack }: Props) => { export const ProjectRoleModifySection = ({ role, onGoBack }: Props) => {
const [searchPermission, setSearchPermission] = useState(""); const [searchPermission, setSearchPermission] = useState("");
const isNonEditable = ["owner", "admin", "member"].includes(role?.slug || ""); const isNonEditable = ["admin", "member", "viewer"].includes(role?.slug || "");
const isNewRole = !role?.slug; const isNewRole = !role?.slug;
const { createNotification } = useNotificationContext(); const { createNotification } = useNotificationContext();