/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import "./details.scss"; import { observer } from "mobx-react"; import React from "react"; import type { Role } from "../../../../common/k8s-api/endpoints"; import { DrawerTitle } from "../../drawer"; import type { KubeObjectDetailsProps } from "../../kube-object-details"; import { KubeObjectMeta } from "../../kube-object-meta"; export interface RoleDetailsProps extends KubeObjectDetailsProps { } @observer export class RoleDetails extends React.Component { render() { const { object: role } = this.props; if (!role) return null; const rules = role.getRules(); return (
Rules {rules.map(({ resourceNames, apiGroups, resources, verbs }, index) => { return (
{resources && ( <>
Resources
{resources.join(", ")}
)} {verbs && ( <>
Verbs
{verbs.join(", ")}
)} {apiGroups && ( <>
Api Groups
{apiGroups .map(apiGroup => apiGroup === "" ? `'${apiGroup}'` : apiGroup) .join(", ") }
)} {resourceNames && ( <>
Resource Names
{resourceNames.join(", ")}
)}
); })}
); } }