import * as Tooltip from '@radix-ui/react-tooltip' import type { PostgresTable } from '@supabase/postgres-meta' import { PermissionAction } from '@supabase/shared-types/out/constants' import { noop } from 'lodash' import Link from 'next/link' import { useRouter } from 'next/router' import { Badge, Button, IconLock } from 'ui' import { useCheckPermissions } from 'hooks' interface PolicyTableRowHeaderProps { table: PostgresTable isLocked: boolean onSelectToggleRLS: (table: PostgresTable) => void onSelectCreatePolicy: (table: PostgresTable) => void } const PolicyTableRowHeader = ({ table, isLocked, onSelectToggleRLS = noop, onSelectCreatePolicy = noop, }: PolicyTableRowHeaderProps) => { const router = useRouter() const { ref } = router.query const canToggleRLS = useCheckPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'tables') const canCreatePolicies = useCheckPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'policies') return (

{table.name}

{isLocked ? ( Locked ) : ( {table.rls_enabled ? 'RLS enabled' : 'RLS disabled'} )}
{!isLocked && (
{!canCreatePolicies && (
You need additional permissions to create RLS policies
)}
{!canToggleRLS && (
You need additional permissions to toggle RLS
)}
)}
) } export default PolicyTableRowHeader