-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDiagrama sin título.drawio
140 lines (140 loc) · 26.9 KB
/
Diagrama sin título.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<mxfile host="app.diagrams.net" modified="2023-07-03T15:20:00.135Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" etag="iXCgY9fdvzuxIzl_j7ez" version="21.5.2" type="github">
<diagram id="R2lEEEUBdFMjLlhIrx00" name="Page-1">
<mxGraphModel dx="880" dy="490" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" background="#000000" math="0" shadow="1" extFonts="Permanent Marker^https://fonts.googleapis.com/css?family=Permanent+Marker">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-37" value="Index.js" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#4C0099;fontColor=#ffffff;strokeColor=#3700CC;gradientColor=#000000;gradientDirection=east;swimlaneFillColor=#000000;rounded=1;shadow=0;glass=0;swimlaneLine=1;arcSize=50;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="240" y="760" width="145" height="110" as="geometry">
<mxRectangle x="270" y="230" width="40" height="80" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-38" value="<font color="#9933ff" data-font-src="https://fonts.googleapis.com/css?family=Permanent+Marker" face="Permanent Marker" style="font-size: 14px;"><br style="font-size: 14px;">Sincroniza la <br style="font-size: 14px;"><br style="font-size: 14px;">DB&nbsp; =&gt;&nbsp; Server</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Comic Sans MS;fontSize=14;rounded=1;" parent="7E1r3Ql1fIFvwaNYg_f9-37" vertex="1">
<mxGeometry x="22" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-42" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.403;exitY=0.006;exitDx=0;exitDy=0;exitPerimeter=0;strokeColor=#FFFFFF;" parent="1" source="7E1r3Ql1fIFvwaNYg_f9-59" target="7E1r3Ql1fIFvwaNYg_f9-37" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="780" as="sourcePoint" />
<mxPoint x="475" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-44" value="DB.JS<br>" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#60a917;strokeColor=#2D7600;gradientDirection=east;swimlaneFillColor=#000000;rounded=1;fontColor=#ffffff;gradientColor=#000000;arcSize=50;" parent="1" vertex="1">
<mxGeometry x="460" y="815" width="215" height="190" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-59" value="<div style="text-align: left;"><font face="Permanent Marker" color="#00ff00"><span style="font-size: 14px;"><br></span></font></div><font color="#00ff00" data-font-src="https://fonts.googleapis.com/css?family=Permanent+Marker" face="Permanent Marker" style="font-size: 14px;"><div style="text-align: left;"><span style="background-color: initial;">*Creamos una constante</span></div><div style="text-align: left;"><span style="background-color: initial;">&nbsp; donde guardaremos&nbsp;</span></div><div style="text-align: left;"><span style="background-color: initial;">&nbsp; todos los modelos&nbsp;</span></div><div style="text-align: left;"><span style="background-color: initial;">&nbsp; que vamos a crear.</span></div><div style="text-align: left;"><span style="background-color: initial;">*Sequaliza los datos</span></div><div style="text-align: left;"><span style="background-color: initial;">&nbsp; de los&nbsp;</span><u style="background-color: initial;"><i><b>models&nbsp;</b></i></u></div><div style="text-align: left;">*Nos permite crear&nbsp;<br style="color: rgb(255, 124, 115);"><span style="color: rgb(255, 124, 115);">&nbsp;</span> las tablas de&nbsp;R-E<br></div></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;rounded=1;shadow=1;" parent="7E1r3Ql1fIFvwaNYg_f9-44" vertex="1">
<mxGeometry x="12.5" width="190" height="170" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-46" value="App.js<br>" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#FF0000;strokeColor=#ae4132;gradientDirection=east;swimlaneFillColor=#000000;rounded=1;arcSize=50;gradientColor=#1A1A1A;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="25" y="760" width="160" height="205" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-47" value="<font style="font-size: 14px;">*Se configura&nbsp;<br style="font-size: 14px;">express ,&nbsp;<br style="font-size: 14px;">libreria la cual<br style="font-size: 14px;">nos conecta a<br style="font-size: 14px;">internet<br style="font-size: 14px;">(Api)<br><span style="color: rgb(255, 124, 115); text-align: left;">*Config. del</span><br style="border-color: var(--border-color); color: rgb(255, 124, 115); text-align: left;"><span style="color: rgb(255, 124, 115); text-align: left;">&nbsp;CORS Y</span><br style="border-color: var(--border-color); color: rgb(255, 124, 115); text-align: left;"><span style="color: rgb(255, 124, 115); text-align: left;">Indicamos la&nbsp;</span><br style="border-color: var(--border-color); color: rgb(255, 124, 115); text-align: left;"><span style="color: rgb(255, 124, 115); text-align: left;">existencia de las&nbsp;</span><br style="border-color: var(--border-color); color: rgb(255, 124, 115); text-align: left;"><span style="color: rgb(255, 124, 115); text-align: left;">rutas&nbsp;</span><br style="border-color: var(--border-color); color: rgb(255, 124, 115); text-align: left;"><span style="color: rgb(255, 124, 115); text-align: left;">(mainrutes)</span><span style="font-size: 14px;"><br style="font-size: 14px;"></span></font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Permanent Marker;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DPermanent%2BMarker;fontColor=#FF6666;rounded=1;" parent="7E1r3Ql1fIFvwaNYg_f9-46" vertex="1">
<mxGeometry x="29" y="-7.5" width="140" height="220" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-48" value="CARPETA:CONTROLLERS<br>" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#00FFFF;fontColor=#ffffff;strokeColor=#006EAF;gradientDirection=east;swimlaneFillColor=#000000;gradientColor=#000000;rounded=1;arcSize=50;" parent="1" vertex="1">
<mxGeometry x="640" y="560" width="211" height="180" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-49" value="*Se crea&nbsp;un archivo<br style="font-size: 14px;">por cada&nbsp;funcionalidad<br><div style="color: rgb(0, 255, 242); background-color: rgb(24, 24, 24); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px;">const <span style="color: #00ff9d;">getAllUsers</span> <span style="color: #1d60fa;">=</span></div><div style="color: rgb(0, 255, 242); background-color: rgb(24, 24, 24); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px;"> <span style="color: #1d60fa;">async</span> <span style="color: #00ffff;">(</span><span style="color: #da5c36;">name</span><span style="color: #00ffff;">)</span> <span style="color: #1d60fa;">=&gt;</span> <span style="color: #00ffff;">{</span></div><div style="color: rgb(0, 255, 242); background-color: rgb(24, 24, 24); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px;"><span style="color: #00ffff;"><br></span></div><div style="background-color: rgb(24, 24, 24); line-height: 19px; font-size: 12px;"><div style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 242); line-height: 19px;">const <span style="color: #00ff9d;">getUserById</span> <span style="color: #1d60fa;">=</span></div><div style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 242); line-height: 19px;"> <span style="color: #1d60fa;">async</span> <span style="color: #00ffff;">(</span><span style="color: #da5c36;">id</span><span style="color: #00ffff;">)</span> <span style="color: #1d60fa;">=&gt;</span> <span style="color: #00ffff;">{</span></div><div style="line-height: 19px;"><font style="font-size: 12px;" face="Comic Sans MS">Y SE BUSCA TANTO EN DB</font></div><div style="line-height: 19px;"><font style="font-size: 12px;" face="Comic Sans MS">COMO EN LA API</font></div></div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Permanent Marker;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DPermanent%2BMarker;fontColor=#00FFFF;rounded=1;" parent="7E1r3Ql1fIFvwaNYg_f9-48" vertex="1">
<mxGeometry x="31" width="180" height="180" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-50" value="CARPETA:MODELS" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;gradientDirection=east;swimlaneFillColor=#000000;gradientColor=#000000;rounded=1;arcSize=50;glass=0;shadow=0;swimlaneLine=1;" parent="1" vertex="1">
<mxGeometry x="710" y="760" width="130" height="130" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-51" value="<font color="#0066cc" data-font-src="https://fonts.googleapis.com/css?family=Permanent+Marker" face="Permanent Marker" style="font-size: 14px;">*Se especifica <br>&nbsp;cada&nbsp;modelo<br>&nbsp;de la pagina<br></font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;rounded=1;arcSize=50;" parent="7E1r3Ql1fIFvwaNYg_f9-50" vertex="1">
<mxGeometry x="20" y="15" width="120" height="70" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-52" value="<font color="#f8cecc">ROUTES<br><br></font>" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#000000;strokeColor=#b85450;gradientColor=#FF6666;gradientDirection=west;swimlaneFillColor=#000000;rounded=1;arcSize=50;direction=east;startSize=30;" parent="1" vertex="1">
<mxGeometry x="350" y="380" width="377.5" height="170" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-13" value="*Establece rutas&nbsp;par cada peticion:<br><div style="color: rgb(0, 255, 242); background-color: rgb(24, 24, 24); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px;"><div>const <span style="color: #47e4e4;">usersRouter</span> <span style="color: #1d60fa;">=</span> <span style="color: #00ff9d;">Router</span>()<span style="color: #00ffff;">;</span></div><div style=""><span style="color: #47e4e4;">usersRouter</span></div><div>&nbsp; <span style="color: #00ffff;">.</span><span style="color: #00ff9d;">get</span>(<span style="color: #00ffff;">"</span><span style="color: #a042df;">/</span><span style="color: #00ffff;">"</span><span style="color: #00ffff;">,</span> <span style="color: #47e4e4;">getUsersHandler</span>)</div><div>&nbsp; <span style="color: #00ffff;">.</span><span style="color: #00ff9d;">get</span>(<span style="color: #00ffff;">"</span><span style="color: #a042df;">/:id</span><span style="color: #00ffff;">"</span><span style="color: #00ffff;">,</span> <span style="color: #47e4e4;">getUsersIdHandler</span>)</div><div>&nbsp; <span style="color: #00ffff;">.</span><span style="color: #00ff9d;">post</span>(<span style="color: #00ffff;">"</span><span style="color: #a042df;">/</span><span style="color: #00ffff;">"</span><span style="color: #00ffff;">,</span> <span style="color: #47e4e4;">postUsersHandler</span>)</div><div>&nbsp; <span style="color: #00ffff;">.</span><span style="color: #00ff9d;">delete</span>(<span style="color: #00ffff;">"</span><span style="color: #a042df;">/:id</span><span style="color: #00ffff;">"</span><span style="color: #00ffff;">,</span> <span style="color: #47e4e4;">deleteUsersHandler</span>)<span style="color: #00ffff;">;</span></div></div>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Comic Sans MS;fontSize=14;rounded=1;fontColor=#EA6B66;" parent="7E1r3Ql1fIFvwaNYg_f9-52" vertex="1">
<mxGeometry x="35" y="15" width="320" height="140" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-67" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#FFFFFF;" parent="1" target="7E1r3Ql1fIFvwaNYg_f9-71" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="520" as="sourcePoint" />
<mxPoint x="50" y="630" as="targetPoint" />
<Array as="points">
<mxPoint x="81" y="520" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-71" value="FRONT<br>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;rounded=1;fillColor=#1ba1e2;strokeColor=#006EAF;fontColor=#ffffff;fontFamily=Comic Sans MS;fontStyle=4;align=center;verticalAlign=middle;horizontal=1;gradientColor=default;" parent="1" vertex="1">
<mxGeometry x="25" y="360" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-78" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.007;entryY=0.305;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#FFFFFF;" parent="1" target="7E1r3Ql1fIFvwaNYg_f9-37" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="863" as="sourcePoint" />
<mxPoint x="330" y="720" as="targetPoint" />
<Array as="points">
<mxPoint x="217" y="863" />
<mxPoint x="217" y="794" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="7E1r3Ql1fIFvwaNYg_f9-82" value="BACKEND" style="ellipse;shape=cloud;fillColor=#0050ef;labelBorderColor=none;shadow=0;whiteSpace=wrap;rounded=1;sketch=1;curveFitting=1;jiggle=2;strokeColor=#001DBC;labelBackgroundColor=none;html=1;fontStyle=6;fontFamily=Comic Sans MS;spacing=2;fontSize=14;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="220" y="905" width="152.5" height="100" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-6" value="Handlers" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#6a00ff;fontColor=#ffffff;strokeColor=#3700CC;gradientDirection=east;swimlaneFillColor=#000000;rounded=1;arcSize=50;gradientColor=#A680B8;" parent="1" vertex="1">
<mxGeometry x="230" y="570" width="370" height="170" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-7" value="*Manejan&nbsp;las peticiones<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; de http<br><div style="color: rgb(0, 255, 242); background-color: rgb(24, 24, 24); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 19px;"><div style="line-height: 19px;"><div>const <span style="color: #00ff9d;">getUsersHandler</span> <span style="color: #1d60fa;">=</span>&nbsp;</div><div><span style="color: #1d60fa;">async</span> <span style="color: #00ffff;">(</span><span style="color: #da5c36;">req</span><span style="color: #00ffff;">,</span> <span style="color: #da5c36;">res</span><span style="color: #00ffff;">)</span> <span style="color: #1d60fa;">=&gt;</span> <span style="color: #00ffff;">{</span></div><div><span style="color: #1d60fa;">const</span> <span style="color: #00ffff;">{</span> <span style="color: #ff000d;">name</span> <span style="color: #00ffff;">}</span> <span style="color: #1d60fa;">=</span> <span style="color: #ff000d;">req</span><span style="color: #00ffff;">.</span><span style="color: #ff000d;">query</span><span style="color: #00ffff;">;</span></div><div>&nbsp;<span style="color: #00ffff;">try</span> <span style="color: #00ffff;">{</span>&nbsp;<span style="color: rgb(0, 255, 255);">if</span> (<span style="color: rgb(255, 0, 13);">name</span>) <span style="color: rgb(0, 255, 255);">{</span></div><div><span style="color: #1d60fa;">const</span> <span style="color: #ff000d;">response</span> <span style="color: #1d60fa;">=</span> <span style="color: #00ffff;">await</span> <span style="color: #00ff9d;">getAllUsers</span>(<span style="color: #ff000d;">name</span>)<span style="color: #00ffff;">;</span></div></div></div>" style="text;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=14;fontFamily=Permanent Marker;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DPermanent%2BMarker;fontColor=#7F00FF;rounded=1;html=1;" parent="CXBVKrK56kcIWuFglzII-6" vertex="1">
<mxGeometry x="30" y="15" width="340" height="140" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="170" y="578" as="targetPoint" />
<mxPoint x="140" y="587.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-16" value="<font color="#ff7c73" data-font-src="https://fonts.googleapis.com/css?family=Permanent+Marker" face="Permanent Marker" style="font-size: 14px;"><br></font>" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;rounded=1;" parent="1" vertex="1">
<mxGeometry y="760" width="20" height="30" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="7E1r3Ql1fIFvwaNYg_f9-46" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="30" y="630" as="targetPoint" />
<Array as="points">
<mxPoint x="10" y="863" />
<mxPoint x="10" y="630" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-10" value="Main rutes<br>" style="swimlane;horizontal=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=#4C0099;fillColor=#4C0099;fontColor=#ffffff;strokeColor=#3700CC;gradientColor=#000000;gradientDirection=east;swimlaneFillColor=#000000;rounded=1;shadow=0;glass=0;swimlaneLine=1;arcSize=50;fontSize=12;startSize=23;direction=east;" parent="1" vertex="1">
<mxGeometry x="31" y="523" width="154" height="217" as="geometry">
<mxRectangle x="270" y="230" width="40" height="80" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-18" value="*Indica las&nbsp;<br>diferentes rutas<br>segun su ruta <br>(mainRouter<span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 255);">.</span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 157);">use</span><span style="background-color: rgb(24, 24, 24); color: rgb(0, 255, 242); font-family: Consolas, &quot;Courier New&quot;, monospace;">(<br></span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 255);">"</span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(160, 66, 223);">/users</span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 255);">"</span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(0, 255, 255);">,<br></span><span style="background-color: rgb(24, 24, 24); color: rgb(0, 255, 242); font-family: Consolas, &quot;Courier New&quot;, monospace;"> </span><span style="font-family: Consolas, &quot;Courier New&quot;, monospace; color: rgb(71, 228, 228);">usersRouter</span><span style="background-color: rgb(24, 24, 24); color: rgb(0, 255, 242); font-family: Consolas, &quot;Courier New&quot;, monospace;">)</span><span style="background-color: initial;">)</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontFamily=Comic Sans MS;fontSize=14;rounded=1;fontColor=#EA6B66;rotation=0;" parent="CXBVKrK56kcIWuFglzII-10" vertex="1">
<mxGeometry x="14" y="47" width="140" height="120" as="geometry" />
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-24" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontColor=#FFFFFF;strokeColor=#FFFFFF;entryX=1.021;entryY=0.535;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="7E1r3Ql1fIFvwaNYg_f9-50" target="7E1r3Ql1fIFvwaNYg_f9-59" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="800" as="sourcePoint" />
<mxPoint x="780" y="810" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-27" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.997;entryY=0.471;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.005;exitY=0.578;exitDx=0;exitDy=0;strokeColor=#FFFFFF;exitPerimeter=0;" parent="1" source="7E1r3Ql1fIFvwaNYg_f9-48" target="CXBVKrK56kcIWuFglzII-7" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="620" as="sourcePoint" />
<mxPoint x="450" y="570" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-19" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.458;entryDx=0;entryDy=0;strokeColor=#FFFFFF;entryPerimeter=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="7E1r3Ql1fIFvwaNYg_f9-52" target="CXBVKrK56kcIWuFglzII-18" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="220" y="465" />
<mxPoint x="220" y="625" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CXBVKrK56kcIWuFglzII-29" value="" style="endArrow=classic;html=1;rounded=0;entryX=-0.003;entryY=0.653;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#FFFFFF;" parent="1" target="7E1r3Ql1fIFvwaNYg_f9-52" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="310" y="570" as="sourcePoint" />
<mxPoint x="450" y="560" as="targetPoint" />
<Array as="points">
<mxPoint x="310" y="491" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>