pbi-cli/assets/rls-testing.svg

52 lines
4.1 KiB
XML
Raw Permalink Normal View History

<svg xmlns="http://www.w3.org/2000/svg" width="850" height="460" viewBox="0 0 850 460">
<rect width="100%" height="100%" fill="#0d1117" rx="8"/>
<!-- Title -->
<text x="425" y="32" font-family="'Segoe UI', Arial, sans-serif" font-size="18" fill="#F2C811" text-anchor="middle" font-weight="bold">Test Row-Level Security in Seconds</text>
<text x="425" y="50" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#8b949e" text-anchor="middle">Create, configure, and validate RLS roles without touching the GUI</text>
<!-- Chat container -->
<rect x="40" y="65" width="770" height="360" rx="8" fill="#161b22" stroke="#30363d" stroke-width="1"/>
<!-- Header bar -->
<rect x="40" y="65" width="770" height="30" rx="8" fill="#21262d"/>
<rect x="40" y="87" width="770" height="8" fill="#21262d"/>
<circle cx="62" cy="80" r="5" fill="#ff5f57"/>
<circle cx="78" cy="80" r="5" fill="#febc2e"/>
<circle cx="94" cy="80" r="5" fill="#28c840"/>
<text x="116" y="84" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#d97757" font-weight="bold">Claude Code</text>
<!-- User message 1 -->
<rect x="250" y="106" width="540" height="44" rx="12" fill="#1a3a5c" stroke="#264d73" stroke-width="1"/>
<text x="270" y="124" font-family="'Segoe UI', Arial, sans-serif" font-size="12" fill="#e2e8f0">Create an RLS role called "Europe Sales" that filters the</text>
<text x="270" y="141" font-family="'Segoe UI', Arial, sans-serif" font-size="12" fill="#e2e8f0">Region table to only show European countries</text>
<!-- Claude response 1 -->
<rect x="60" y="162" width="560" height="80" rx="12" fill="#1c1c1c" stroke="#30363d" stroke-width="1"/>
<text x="78" y="182" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#8b949e">Running:</text>
<text x="130" y="182" font-family="'Courier New', Courier, monospace" font-size="12" fill="#58a6ff">pbi security-role create "Europe Sales"</text>
<text x="78" y="200" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#8b949e">Running:</text>
<text x="130" y="200" font-family="'Courier New', Courier, monospace" font-size="12" fill="#58a6ff">pbi security-role add-filter "Europe Sales" -t Region</text>
<text x="78" y="220" font-family="'Segoe UI', Arial, sans-serif" font-size="12" fill="#06d6a0">&#x2713; Role created with filter:</text>
<text x="270" y="220" font-family="'Courier New', Courier, monospace" font-size="12" fill="#d97757">[Region][Continent] = "Europe"</text>
<text x="78" y="236" font-family="'Segoe UI', Arial, sans-serif" font-size="12" fill="#8b949e">Applied to Region table with DAX filter expression</text>
<!-- User message 2 -->
<rect x="370" y="254" width="420" height="28" rx="12" fill="#1a3a5c" stroke="#264d73" stroke-width="1"/>
<text x="390" y="273" font-family="'Segoe UI', Arial, sans-serif" font-size="12" fill="#e2e8f0">Now test it. What does a Europe user see for total sales?</text>
<!-- Claude response 2 -->
<rect x="60" y="294" width="560" height="118" rx="12" fill="#1c1c1c" stroke="#30363d" stroke-width="1"/>
<text x="78" y="314" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#8b949e">Running as role "Europe Sales":</text>
<text x="78" y="332" font-family="'Courier New', Courier, monospace" font-size="12" fill="#58a6ff">pbi dax execute "EVALUATE ROW(\"Sales\", [Total Sales], \"Regions\", COUNTROWS(Region))"</text>
<!-- Result table -->
<line x1="78" y1="342" x2="590" y2="342" stroke="#30363d" stroke-width="1"/>
<text x="78" y="360" font-family="'Courier New', Courier, monospace" font-size="13" fill="#F2C811">| Total Sales | Regions |</text>
<text x="78" y="378" font-family="'Courier New', Courier, monospace" font-size="13" fill="#c9d1d9">| $3,842,150 | 12 |</text>
<text x="78" y="396" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#06d6a0">&#x2713; Filter working: 12 of 48 regions visible (Europe only)</text>
<!-- Footer -->
<text x="425" y="450" font-family="'Segoe UI', Arial, sans-serif" font-size="13" fill="#8b949e" text-anchor="middle">Build and validate security roles entirely from conversation. No Security tab needed.</text>
</svg>