import React from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/index'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/index'; import { Button } from '@/components/ui/index'; import { MoreHorizontal } from 'lucide-react'; interface AclInfo { id: string; path: string; type: 'user' | 'group' | 'role'; principal: string; roles: string[]; propagate: boolean; } interface AclListProps { acls: AclInfo[]; onRefresh?: () => void; isLoading?: boolean; onAdd?: () => void; onEdit?: (acl: AclInfo) => void; onDelete?: (acl: AclInfo) => void; } export function AclList({ acls, onRefresh, isLoading, onAdd, onEdit, onDelete, }: AclListProps) { return ( Access Control Lists (ACL)
{onAdd && ( )}
Path Type Principal Roles Propagate Actions {acls.map((acl) => ( {acl.path} {acl.type} {acl.principal}
{acl.roles.map((role) => ( {role} ))}
{acl.propagate ? 'Yes' : 'No'}
))}
); }