Home / Function/ createPayloadForUpdatePolicy() — supabase Function Reference

createPayloadForUpdatePolicy() — supabase Function Reference

Architecture documentation for the createPayloadForUpdatePolicy() function in Policies.utils.ts from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  b39fdbdc_b73a_98ce_811b_e9c4bdd8c45f["createPayloadForUpdatePolicy()"]
  331765b7_d5b8_b1a0_dc2a_d6b857a68adb["PolicyEditorModal()"]
  331765b7_d5b8_b1a0_dc2a_d6b857a68adb -->|calls| b39fdbdc_b73a_98ce_811b_e9c4bdd8c45f
  style b39fdbdc_b73a_98ce_811b_e9c4bdd8c45f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/studio/components/interfaces/Auth/Policies/Policies.utils.ts lines 130–158

export const createPayloadForUpdatePolicy = (
  policyFormFields: PolicyFormField,
  originalPolicyFormFields: PostgresPolicy
): PostgresPolicyUpdatePayload => {
  const { definition, check } = policyFormFields
  const formattedPolicyFormFields = {
    ...policyFormFields,
    definition: definition ? definition.replace(/\s+/g, ' ').trim() : definition,
    check: check ? check.replace(/\s+/g, ' ').trim() : check,
  }

  const payload: PostgresPolicyUpdatePayload = { id: originalPolicyFormFields.id }

  if (!isEqual(formattedPolicyFormFields.name, originalPolicyFormFields.name)) {
    payload.name = formattedPolicyFormFields.name
  }
  if (!isEqual(formattedPolicyFormFields.definition, originalPolicyFormFields.definition)) {
    payload.definition = formattedPolicyFormFields.definition || undefined
  }
  if (!isEqual(formattedPolicyFormFields.check, originalPolicyFormFields.check)) {
    payload.check = formattedPolicyFormFields.check || undefined
  }
  if (!isEqual(formattedPolicyFormFields.roles, originalPolicyFormFields.roles)) {
    if (formattedPolicyFormFields.roles.length === 0) payload.roles = ['public']
    else payload.roles = formattedPolicyFormFields.roles || undefined
  }

  return payload
}

Subdomains

Frequently Asked Questions

What does createPayloadForUpdatePolicy() do?
createPayloadForUpdatePolicy() is a function in the supabase codebase.
What calls createPayloadForUpdatePolicy()?
createPayloadForUpdatePolicy() 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