utils/diagrams/ER-db.drawio
2025-01-04 11:20:19 +03:00

192 lines
18 KiB
Plaintext

<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" version="26.0.1">
<diagram id="R2lEEEUBdFMjLlhIrx00" name="Page-1">
<mxGraphModel dx="1434" dy="780" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0" extFonts="Permanent Marker^https://fonts.googleapis.com/css?family=Permanent+Marker">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="CW1ftrLNUtnkjzRNXEjj-1" value="qrs" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
<mxGeometry x="590" y="40" width="210" height="160" as="geometry">
<mxRectangle x="320" y="40" width="60" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-2" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-1">
<mxGeometry y="30" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-3" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-2">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-4" value="key_code TEXT NOT NULL" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-2">
<mxGeometry x="30" width="180" height="30" as="geometry">
<mxRectangle width="180" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-5" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-1">
<mxGeometry y="60" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-6" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-5">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-7" value="door_id TEXT NOT NULL" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-5">
<mxGeometry x="30" width="180" height="30" as="geometry">
<mxRectangle width="180" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-8" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-1">
<mxGeometry y="90" width="210" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-9" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-8">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-10" value="start_date_time TIMESTAMP WITH TIME ZONE" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-8">
<mxGeometry x="30" width="180" height="30" as="geometry">
<mxRectangle width="180" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-11" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-1">
<mxGeometry y="120" width="210" height="40" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-12" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-11">
<mxGeometry width="30" height="40" as="geometry">
<mxRectangle width="30" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-13" value="end_date_time TIMESTAMP WITH TIME ZONE" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-11">
<mxGeometry x="30" width="180" height="40" as="geometry">
<mxRectangle width="180" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-14" value="clients" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
<mxGeometry x="60" y="200" width="180" height="140" as="geometry">
<mxRectangle x="40" y="200" width="70" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-15" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-14">
<mxGeometry y="30" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-16" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-15">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-17" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;client_id NOT NULL TEXT&lt;/span&gt;" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-15">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-14">
<mxGeometry y="60" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-19" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-18">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-20" value="client_secret NOT NULL TEXT" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-18">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-14">
<mxGeometry y="90" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-22" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-21">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-23" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-21">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-24" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-14">
<mxGeometry y="120" width="180" height="20" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-25" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-24">
<mxGeometry width="30" height="20" as="geometry">
<mxRectangle width="30" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-26" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-24">
<mxGeometry x="30" width="150" height="20" as="geometry">
<mxRectangle width="150" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-27" value="doors" style="shape=table;startSize=30;container=1;collapsible=1;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=1;align=center;resizeLast=1;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="130" width="180" height="140" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-28" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-27">
<mxGeometry y="30" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-29" value="PK" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;fontStyle=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-28">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-30" value="id TEXT NOT NULL" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;fontStyle=5;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-28">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-31" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-27">
<mxGeometry y="60" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-32" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-31">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-33" value="unit_id TEXT NOT NULL" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-31">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-34" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-27">
<mxGeometry y="90" width="180" height="30" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-35" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-34">
<mxGeometry width="30" height="30" as="geometry">
<mxRectangle width="30" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-36" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-34">
<mxGeometry x="30" width="150" height="30" as="geometry">
<mxRectangle width="150" height="30" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-37" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;fillColor=none;collapsible=0;dropTarget=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;top=0;left=0;right=0;bottom=0;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-27">
<mxGeometry y="120" width="180" height="20" as="geometry" />
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-38" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;editable=1;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-37">
<mxGeometry width="30" height="20" as="geometry">
<mxRectangle width="30" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-39" value="" style="shape=partialRectangle;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;whiteSpace=wrap;html=1;" vertex="1" parent="CW1ftrLNUtnkjzRNXEjj-37">
<mxGeometry x="30" width="150" height="20" as="geometry">
<mxRectangle width="150" height="20" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-45" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="CW1ftrLNUtnkjzRNXEjj-15" target="CW1ftrLNUtnkjzRNXEjj-31">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="230" y="400" as="sourcePoint" />
<mxPoint x="330" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="CW1ftrLNUtnkjzRNXEjj-46" value="" style="edgeStyle=entityRelationEdgeStyle;fontSize=12;html=1;endArrow=ERzeroToMany;startArrow=ERmandOne;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="CW1ftrLNUtnkjzRNXEjj-28" target="CW1ftrLNUtnkjzRNXEjj-5">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="470" y="350" as="sourcePoint" />
<mxPoint x="570" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>