import { useContext } from 'react' import { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, IconButton, Tooltip } from '@mui/material' import EditIcon from '@mui/icons-material/Edit' import DeleteForeverIcon from '@mui/icons-material/DeleteForever' import { styled } from '@mui/material/styles' import { PermissionResponse } from '../../../../utils/types' import { AppContext } from '../../../../context/appContext' import { displayPrincipal, displayPrincipalType } from '../helper' const BootstrapTableCell = styled(TableCell)({ textAlign: 'left' }) export enum PrincipalType { User = 'User', Group = 'Group' } type PermissionTableProps = { permissions: PermissionResponse[] handleUpdatePermissionClick: (permission: PermissionResponse) => void handleDeletePermissionClick: (permission: PermissionResponse) => void } const PermissionTable = ({ permissions, handleUpdatePermissionClick, handleDeletePermissionClick }: PermissionTableProps) => { const appContext = useContext(AppContext) return ( Path Permission Type Principal Principal Type Setting {appContext.isAdmin && ( Action )} {permissions.map((permission) => ( {permission.path} {permission.type} {displayPrincipal(permission)} {displayPrincipalType(permission)} {permission.setting} {appContext.isAdmin && ( handleUpdatePermissionClick(permission)} > handleDeletePermissionClick(permission)} > )} ))}
) } export default PermissionTable