PolicyEditor() — supabase Function Reference
Architecture documentation for the PolicyEditor() function in index.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/studio/components/interfaces/Auth/Policies/PolicyEditor/index.tsx lines 17–77
const PolicyEditor = ({
isNewPolicy = true,
policyFormFields = {},
onUpdatePolicyFormFields = () => {},
onViewTemplates = () => {},
onReviewPolicy = () => {},
}: PolicyEditorProps) => {
const operation = policyFormFields?.command ?? ''
const definition = policyFormFields?.definition ?? ''
const check = policyFormFields?.check ?? ''
// Filter out default public role (public if no roles selected)
const selectedRoles = (policyFormFields?.roles ?? []).filter((role: string) => role !== 'public')
return (
<div>
<Modal.Content>
<PolicyName
name={policyFormFields.name}
limit={63}
onUpdatePolicyName={(name) => onUpdatePolicyFormFields({ name })}
/>
</Modal.Content>
<Modal.Separator />
{isNewPolicy && (
<>
<Modal.Content>
<PolicyAllowedOperation
operation={operation}
onSelectOperation={(command) => onUpdatePolicyFormFields({ command })}
/>
</Modal.Content>
<Modal.Separator />
</>
)}
<Modal.Content>
<PolicyRoles
selectedRoles={selectedRoles}
onUpdateSelectedRoles={(roles) => onUpdatePolicyFormFields({ roles })}
/>
</Modal.Content>
<Modal.Separator />
<Modal.Content>
<PolicyDefinition
operation={operation}
definition={definition}
check={check}
onUpdatePolicyUsing={(definition: string | undefined) =>
onUpdatePolicyFormFields({ definition })
}
onUpdatePolicyCheck={(check: string | undefined) => onUpdatePolicyFormFields({ check })}
/>
</Modal.Content>
<PolicyEditorFooter
showTemplates={isNewPolicy}
onViewTemplates={onViewTemplates}
onReviewPolicy={onReviewPolicy}
/>
</div>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free