createSQLPolicy() — supabase Function Reference
Architecture documentation for the createSQLPolicy() function in Policies.utils.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD 985f2d7f_95ed_bd41_d27b_4f31564dcf82["createSQLPolicy()"] 331765b7_d5b8_b1a0_dc2a_d6b857a68adb["PolicyEditorModal()"] 331765b7_d5b8_b1a0_dc2a_d6b857a68adb -->|calls| 985f2d7f_95ed_bd41_d27b_4f31564dcf82 ef460339_41b1_8cbe_f6ee_dc2f1aa55216["createSQLStatementForCreatePolicy()"] 985f2d7f_95ed_bd41_d27b_4f31564dcf82 -->|calls| ef460339_41b1_8cbe_f6ee_dc2f1aa55216 463c153b_efac_aae1_ca17_44b9918d55bd["createSQLStatementForUpdatePolicy()"] 985f2d7f_95ed_bd41_d27b_4f31564dcf82 -->|calls| 463c153b_efac_aae1_ca17_44b9918d55bd style 985f2d7f_95ed_bd41_d27b_4f31564dcf82 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/Auth/Policies/Policies.utils.ts lines 20–64
export const createSQLPolicy = (
policyFormFields: PolicyFormField,
originalPolicyFormFields: PostgresPolicy
) => {
const { definition, check } = policyFormFields
const formattedPolicyFormFields = {
...policyFormFields,
definition: definition
? definition.replace(/\s+/g, ' ').trim()
: definition === undefined
? null
: definition,
check: check ? check.replace(/\s+/g, ' ').trim() : check === undefined ? null : check,
}
if (isEmpty(originalPolicyFormFields)) {
return createSQLStatementForCreatePolicy(formattedPolicyFormFields)
}
// If there are no changes, return an empty object
if (isEqual(policyFormFields, originalPolicyFormFields)) {
return {}
}
// Extract out all the fields that updated
const fieldsToUpdate: any = {}
if (!isEqual(formattedPolicyFormFields.name, originalPolicyFormFields.name)) {
fieldsToUpdate.name = formattedPolicyFormFields.name
}
if (!isEqual(formattedPolicyFormFields.definition, originalPolicyFormFields.definition)) {
fieldsToUpdate.definition = formattedPolicyFormFields.definition
}
if (!isEqual(formattedPolicyFormFields.check, originalPolicyFormFields.check)) {
fieldsToUpdate.check = formattedPolicyFormFields.check
}
if (!isEqual(formattedPolicyFormFields.roles, originalPolicyFormFields.roles)) {
fieldsToUpdate.roles = formattedPolicyFormFields.roles
}
if (!isEmpty(fieldsToUpdate)) {
return createSQLStatementForUpdatePolicy(formattedPolicyFormFields, fieldsToUpdate)
}
return {}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does createSQLPolicy() do?
createSQLPolicy() is a function in the supabase codebase.
What does createSQLPolicy() call?
createSQLPolicy() calls 2 function(s): createSQLStatementForCreatePolicy, createSQLStatementForUpdatePolicy.
What calls createSQLPolicy()?
createSQLPolicy() is called by 1 function(s): PolicyEditorModal.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free