AshGrant.PolicyExport (AshGrant v0.16.0)

Copy Markdown View Source

Exports policy configuration to various documentation formats.

Supports:

Examples

# Generate Mermaid diagram
mermaid = AshGrant.PolicyExport.to_mermaid(MyApp.Document)

# Generate Markdown documentation
markdown = AshGrant.PolicyExport.to_markdown(MyApp.Document)

# Save to file
File.write!("docs/document_policy.md", markdown)

Summary

Functions

Generates Markdown documentation for a resource's policy.

Generates a Mermaid flowchart diagram for a resource's policy.

Functions

to_markdown(resource)

@spec to_markdown(module()) :: String.t()

Generates Markdown documentation for a resource's policy.

The documentation includes:

  • Resource overview
  • Actions table
  • Scopes table with descriptions
  • Available permissions

Examples

markdown = AshGrant.PolicyExport.to_markdown(MyApp.Document)

to_mermaid(resource)

@spec to_mermaid(module()) :: String.t()

Generates a Mermaid flowchart diagram for a resource's policy.

The diagram shows:

  • Resource name as the root
  • Actions as branches
  • Scopes as leaves

Examples

mermaid = AshGrant.PolicyExport.to_mermaid(MyApp.Document)
# Returns a string like:
# flowchart TD
#   Document[Document]
#   Document --> read
#   read --> all
#   read --> approved
#   ...