Files
x-stake/erd.svg
João Geonizeli 3813abdaf0 add rails erd
2021-08-14 13:39:07 -03:00

199 lines
16 KiB
XML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.48.0 (0)
-->
<!-- Title: XStake Pages: 1 -->
<svg width="612pt" height="611pt"
viewBox="0.00 0.00 611.60 610.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(28.8 581.8)">
<title>XStake</title>
<polygon fill="white" stroke="transparent" points="-28.8,28.8 -28.8,-581.8 582.8,-581.8 582.8,28.8 -28.8,28.8"/>
<text text-anchor="middle" x="277" y="-538.6" font-family="Arial Bold" font-size="13.00">XStake domain model</text>
<!-- m_ActiveStorage::Attachment -->
<g id="node1" class="node">
<title>m_ActiveStorage::Attachment</title>
<path fill="none" stroke="black" d="M413,-271C413,-271 542,-271 542,-271 548,-271 554,-277 554,-283 554,-283 554,-341 554,-341 554,-347 548,-353 542,-353 542,-353 413,-353 413,-353 407,-353 401,-347 401,-341 401,-341 401,-283 401,-283 401,-277 407,-271 413,-271"/>
<text text-anchor="start" x="406.5" y="-340.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::Attachment</text>
<polyline fill="none" stroke="black" points="401,-333 554,-333 "/>
<text text-anchor="start" x="412.5" y="-320" font-family="Arial" font-size="10.00">blob_id </text>
<text text-anchor="start" x="446.5" y="-320" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="412.5" y="-307" font-family="Arial" font-size="10.00">name </text>
<text text-anchor="start" x="440.5" y="-307" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="412.5" y="-294" font-family="Arial" font-size="10.00">record_id </text>
<text text-anchor="start" x="455.5" y="-294" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="412.5" y="-281" font-family="Arial" font-size="10.00">record_type </text>
<text text-anchor="start" x="467.5" y="-281" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_ActiveStorage::Blob -->
<g id="node2" class="node">
<title>m_ActiveStorage::Blob</title>
<path fill="none" stroke="black" d="M21,-251.5C21,-251.5 141,-251.5 141,-251.5 147,-251.5 153,-257.5 153,-263.5 153,-263.5 153,-360.5 153,-360.5 153,-366.5 147,-372.5 141,-372.5 141,-372.5 21,-372.5 21,-372.5 15,-372.5 9,-366.5 9,-360.5 9,-360.5 9,-263.5 9,-263.5 9,-257.5 15,-251.5 21,-251.5"/>
<text text-anchor="start" x="25.5" y="-359.7" font-family="Arial Bold" font-size="11.00">ActiveStorage::Blob</text>
<polyline fill="none" stroke="black" points="9,-352.5 153,-352.5 "/>
<text text-anchor="start" x="16" y="-339" font-family="Arial" font-size="10.00">byte_size </text>
<text text-anchor="start" x="62" y="-339" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8)</text>
<text text-anchor="start" x="16" y="-326" font-family="Arial" font-size="10.00">checksum </text>
<text text-anchor="start" x="65" y="-326" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="16" y="-313" font-family="Arial" font-size="10.00">content_type </text>
<text text-anchor="start" x="76" y="-313" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="16" y="-300" font-family="Arial" font-size="10.00">filename </text>
<text text-anchor="start" x="56" y="-300" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="16" y="-287" font-family="Arial" font-size="10.00">key </text>
<text text-anchor="start" x="35" y="-287" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="16" y="-274" font-family="Arial" font-size="10.00">metadata </text>
<text text-anchor="start" x="60" y="-274" font-family="Arial Italic" font-size="10.00" fill="#999999">text</text>
<text text-anchor="start" x="16" y="-261" font-family="Arial" font-size="10.00">service_name </text>
<text text-anchor="start" x="80" y="-261" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::Attachment -->
<g id="edge4" class="edge">
<title>m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::Attachment</title>
<path fill="none" stroke="black" d="M153.29,-342.91C167.82,-347.93 183.2,-352.35 198,-355 271.06,-368.1 292.03,-368.58 365,-355 376.83,-352.8 389.02,-349.39 400.81,-345.43"/>
</g>
<!-- m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::Blob -->
<g id="edge10" class="edge">
<title>m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::Blob</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M43.73,-372.57C45.53,-389.25 57.95,-402 81,-402 104.05,-402 116.47,-389.25 118.27,-372.57"/>
</g>
<!-- m_ActiveStorage::VariantRecord -->
<g id="node3" class="node">
<title>m_ActiveStorage::VariantRecord</title>
<path fill="none" stroke="black" d="M210,-284C210,-284 353,-284 353,-284 359,-284 365,-290 365,-296 365,-296 365,-328 365,-328 365,-334 359,-340 353,-340 353,-340 210,-340 210,-340 204,-340 198,-334 198,-328 198,-328 198,-296 198,-296 198,-290 204,-284 210,-284"/>
<text text-anchor="start" x="203.5" y="-327.2" font-family="Arial Bold" font-size="11.00">ActiveStorage::VariantRecord</text>
<polyline fill="none" stroke="black" points="198,-320 365,-320 "/>
<text text-anchor="start" x="216.5" y="-307" font-family="Arial" font-size="10.00">blob_id </text>
<text text-anchor="start" x="250.5" y="-307" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="216.5" y="-294" font-family="Arial" font-size="10.00">variation_digest </text>
<text text-anchor="start" x="288.5" y="-294" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::VariantRecord -->
<g id="edge9" class="edge">
<title>m_ActiveStorage::Blob&#45;&gt;m_ActiveStorage::VariantRecord</title>
<path fill="none" stroke="black" d="M153.1,-312C164.63,-312 176.7,-312 188.64,-312"/>
<polygon fill="black" stroke="black" points="188.72,-315.15 197.72,-312 188.72,-308.85 188.72,-315.15"/>
</g>
<!-- m_ActiveStorage::VariantRecord&#45;&gt;m_ActiveStorage::Attachment -->
<g id="edge5" class="edge">
<title>m_ActiveStorage::VariantRecord&#45;&gt;m_ActiveStorage::Attachment</title>
<path fill="none" stroke="black" d="M365.05,-312C376.91,-312 389.07,-312 400.79,-312"/>
</g>
<!-- m_AdminUser -->
<g id="node4" class="node">
<title>m_AdminUser</title>
<path fill="none" stroke="black" d="M12,-420.5C12,-420.5 150,-420.5 150,-420.5 156,-420.5 162,-426.5 162,-432.5 162,-432.5 162,-503.5 162,-503.5 162,-509.5 156,-515.5 150,-515.5 150,-515.5 12,-515.5 12,-515.5 6,-515.5 0,-509.5 0,-503.5 0,-503.5 0,-432.5 0,-432.5 0,-426.5 6,-420.5 12,-420.5"/>
<text text-anchor="start" x="49" y="-502.7" font-family="Arial Bold" font-size="11.00">AdminUser</text>
<polyline fill="none" stroke="black" points="0,-495.5 162,-495.5 "/>
<text text-anchor="start" x="7" y="-482" font-family="Arial" font-size="10.00">email </text>
<text text-anchor="start" x="34" y="-482" font-family="Arial Italic" font-size="10.00" fill="#999999">string U</text>
<text text-anchor="start" x="7" y="-469" font-family="Arial" font-size="10.00">encrypted_password </text>
<text text-anchor="start" x="101" y="-469" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="7" y="-456" font-family="Arial" font-size="10.00">remember_created_at </text>
<text text-anchor="start" x="105" y="-456" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="7" y="-443" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
<text text-anchor="start" x="117" y="-443" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="7" y="-430" font-family="Arial" font-size="10.00">reset_password_token </text>
<text text-anchor="start" x="109" y="-430" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Balance -->
<g id="node5" class="node">
<title>m_Balance</title>
<path fill="none" stroke="black" d="M221.5,-0.5C221.5,-0.5 341.5,-0.5 341.5,-0.5 347.5,-0.5 353.5,-6.5 353.5,-12.5 353.5,-12.5 353.5,-57.5 353.5,-57.5 353.5,-63.5 347.5,-69.5 341.5,-69.5 341.5,-69.5 221.5,-69.5 221.5,-69.5 215.5,-69.5 209.5,-63.5 209.5,-57.5 209.5,-57.5 209.5,-12.5 209.5,-12.5 209.5,-6.5 215.5,-0.5 221.5,-0.5"/>
<text text-anchor="start" x="258" y="-56.7" font-family="Arial Bold" font-size="11.00">Balance</text>
<polyline fill="none" stroke="black" points="209.5,-49.5 353.5,-49.5 "/>
<text text-anchor="start" x="216.5" y="-36" font-family="Arial" font-size="10.00">amount </text>
<text text-anchor="start" x="252.5" y="-36" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10)</text>
<text text-anchor="start" x="216.5" y="-23" font-family="Arial" font-size="10.00">currency_id </text>
<text text-anchor="start" x="270.5" y="-23" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
<text text-anchor="start" x="216.5" y="-10" font-family="Arial" font-size="10.00">user_id </text>
<text text-anchor="start" x="251.5" y="-10" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
</g>
<!-- m_Currency -->
<g id="node6" class="node">
<title>m_Currency</title>
<path fill="none" stroke="black" d="M21,-0.5C21,-0.5 141,-0.5 141,-0.5 147,-0.5 153,-6.5 153,-12.5 153,-12.5 153,-31.5 153,-31.5 153,-37.5 147,-43.5 141,-43.5 141,-43.5 21,-43.5 21,-43.5 15,-43.5 9,-37.5 9,-31.5 9,-31.5 9,-12.5 9,-12.5 9,-6.5 15,-0.5 21,-0.5"/>
<text text-anchor="start" x="54.5" y="-30.7" font-family="Arial Bold" font-size="11.00">Currency</text>
<polyline fill="none" stroke="black" points="9,-23.5 153,-23.5 "/>
<text text-anchor="start" x="16" y="-10" font-family="Arial" font-size="10.00">name </text>
<text text-anchor="start" x="44" y="-10" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_Currency&#45;&gt;m_Balance -->
<g id="edge8" class="edge">
<title>m_Currency&#45;&gt;m_Balance</title>
<path fill="none" stroke="black" d="M153.1,-26.66C168.35,-27.66 184.57,-28.72 200.14,-29.74"/>
<polygon fill="black" stroke="black" points="200.04,-32.89 209.23,-30.33 200.45,-26.6 200.04,-32.89"/>
</g>
<!-- m_FiatBalance -->
<g id="node7" class="node">
<title>m_FiatBalance</title>
<path fill="none" stroke="black" d="M221.5,-99.5C221.5,-99.5 341.5,-99.5 341.5,-99.5 347.5,-99.5 353.5,-105.5 353.5,-111.5 353.5,-111.5 353.5,-156.5 353.5,-156.5 353.5,-162.5 347.5,-168.5 341.5,-168.5 341.5,-168.5 221.5,-168.5 221.5,-168.5 215.5,-168.5 209.5,-162.5 209.5,-156.5 209.5,-156.5 209.5,-111.5 209.5,-111.5 209.5,-105.5 215.5,-99.5 221.5,-99.5"/>
<text text-anchor="start" x="248.5" y="-155.7" font-family="Arial Bold" font-size="11.00">FiatBalance</text>
<polyline fill="none" stroke="black" points="209.5,-148.5 353.5,-148.5 "/>
<text text-anchor="start" x="216.5" y="-135" font-family="Arial" font-size="10.00">amount_cents </text>
<text text-anchor="start" x="281.5" y="-135" font-family="Arial Italic" font-size="10.00" fill="#999999">integer</text>
<text text-anchor="start" x="216.5" y="-122" font-family="Arial" font-size="10.00">amount_currency </text>
<text text-anchor="start" x="295.5" y="-122" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="216.5" y="-109" font-family="Arial" font-size="10.00">user_id </text>
<text text-anchor="start" x="251.5" y="-109" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
</g>
<!-- m_User -->
<g id="node8" class="node">
<title>m_User</title>
<path fill="none" stroke="black" d="M12,-73.5C12,-73.5 150,-73.5 150,-73.5 156,-73.5 162,-79.5 162,-85.5 162,-85.5 162,-182.5 162,-182.5 162,-188.5 156,-194.5 150,-194.5 150,-194.5 12,-194.5 12,-194.5 6,-194.5 0,-188.5 0,-182.5 0,-182.5 0,-85.5 0,-85.5 0,-79.5 6,-73.5 12,-73.5"/>
<text text-anchor="start" x="66.5" y="-181.7" font-family="Arial Bold" font-size="11.00">User</text>
<polyline fill="none" stroke="black" points="0,-174.5 162,-174.5 "/>
<text text-anchor="start" x="7" y="-161" font-family="Arial" font-size="10.00">email </text>
<text text-anchor="start" x="34" y="-161" font-family="Arial Italic" font-size="10.00" fill="#999999">string U</text>
<text text-anchor="start" x="7" y="-148" font-family="Arial" font-size="10.00">encrypted_password </text>
<text text-anchor="start" x="101" y="-148" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="7" y="-135" font-family="Arial" font-size="10.00">first_name </text>
<text text-anchor="start" x="56" y="-135" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="7" y="-122" font-family="Arial" font-size="10.00">last_name </text>
<text text-anchor="start" x="56" y="-122" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="7" y="-109" font-family="Arial" font-size="10.00">remember_created_at </text>
<text text-anchor="start" x="105" y="-109" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="7" y="-96" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
<text text-anchor="start" x="117" y="-96" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
<text text-anchor="start" x="7" y="-83" font-family="Arial" font-size="10.00">reset_password_token </text>
<text text-anchor="start" x="109" y="-83" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
</g>
<!-- m_User&#45;&gt;m_Balance -->
<g id="edge2" class="edge">
<title>m_User&#45;&gt;m_Balance</title>
<path fill="none" stroke="black" d="M162.17,-94.02C178.41,-85.91 195.37,-77.46 211.2,-69.56"/>
</g>
<!-- m_User&#45;&gt;m_FiatBalance -->
<g id="edge3" class="edge">
<title>m_User&#45;&gt;m_FiatBalance</title>
<path fill="none" stroke="black" d="M162.17,-134C177.77,-134 194.02,-134 209.31,-134"/>
</g>
<!-- m_UserDocument -->
<g id="node9" class="node">
<title>m_UserDocument</title>
<path fill="none" stroke="black" d="M221.5,-198C221.5,-198 341.5,-198 341.5,-198 347.5,-198 353.5,-204 353.5,-210 353.5,-210 353.5,-242 353.5,-242 353.5,-248 347.5,-254 341.5,-254 341.5,-254 221.5,-254 221.5,-254 215.5,-254 209.5,-248 209.5,-242 209.5,-242 209.5,-210 209.5,-210 209.5,-204 215.5,-198 221.5,-198"/>
<text text-anchor="start" x="240" y="-241.2" font-family="Arial Bold" font-size="11.00">UserDocument</text>
<polyline fill="none" stroke="black" points="209.5,-234 353.5,-234 "/>
<text text-anchor="start" x="216.5" y="-221" font-family="Arial" font-size="10.00">status </text>
<text text-anchor="start" x="247.5" y="-221" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
<text text-anchor="start" x="216.5" y="-208" font-family="Arial" font-size="10.00">user_id </text>
<text text-anchor="start" x="251.5" y="-208" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) FK</text>
</g>
<!-- m_User&#45;&gt;m_UserDocument -->
<g id="edge1" class="edge">
<title>m_User&#45;&gt;m_UserDocument</title>
<path fill="none" stroke="black" d="M162.17,-171.15C178.57,-178.76 195.69,-186.69 211.65,-194.09"/>
<polygon fill="black" stroke="black" points="210.39,-196.98 219.88,-197.91 213.04,-191.26 210.39,-196.98"/>
</g>
<!-- m_UserDocument&#45;&gt;m_ActiveStorage::Attachment -->
<g id="edge6" class="edge">
<title>m_UserDocument&#45;&gt;m_ActiveStorage::Attachment</title>
<path fill="none" stroke="black" d="M345.75,-254.04C363.34,-261.83 382.61,-270.38 400.82,-278.45"/>
</g>
<!-- m_UserDocument&#45;&gt;m_ActiveStorage::Blob -->
<g id="edge7" class="edge">
<title>m_UserDocument&#45;&gt;m_ActiveStorage::Blob</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M215.84,-254.01C195.78,-262.7 173.57,-272.33 153.1,-281.19"/>
</g>
</g>
</svg>