/** * TrusteeAccessView * * Zugriffs-Verwaltung für eine Trustee-Instanz */ import React from 'react'; import { useTrusteeAccess, useTrusteeAccessOperations } from '../../../hooks/useTrustee'; import { useTablePermission } from '../../../hooks/useInstancePermissions'; import styles from './TrusteeViews.module.css'; export const TrusteeAccessView: React.FC = () => { const { items: accessList, loading, error, refetch } = useTrusteeAccess(); const { handleDelete, deletingItems } = useTrusteeAccessOperations(); const { canCreate, canUpdate, canDelete } = useTablePermission('TrusteeAccess'); if (loading) { return
Lade Zugriffe...
; } if (error) { return
Fehler: {error}
; } const onDelete = async (accessId: string) => { if (window.confirm('Zugriff wirklich entfernen?')) { const success = await handleDelete(accessId); if (success) { refetch(); } } }; return (
{/* Toolbar */}
{canCreate && ( )}
{/* Tabelle */} {accessList.length === 0 ? (

Keine Zugriffe definiert.

) : ( {accessList.map((access) => ( ))}
User Organisation Rolle Vertrag Aktionen
{access.userId} {access.organisationId} {access.roleId} {access.contractId || '-'} {canUpdate && ( )} {canDelete && ( )}
)}
); }; export default TrusteeAccessView;