/
wissancedev
/
WebApiToolkit
Обзор
Документация
Войти
/
wissancedev
/
WebApiToolkit
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
master
docs/structure.drawio
210 строк
17 KB
Ushakov Michale
images
18 сен 2025, 10:26
18 сен 2025, 10:26
7e5f26b
Код
Авторство
О чём код?
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" version="26.2.9"> <diagram name="Page-1" id="AobKI8os9766i4JvshdW"> <mxGraphModel dx="1044" dy="1670" 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"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="tZSbns-cb4MotazCVKBg-1" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> <mxGeometry x="360" y="60" width="170" height="70" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-2" value="<b><font style="font-size: 16px;">Controller</font></b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="402.5" y="80" width="85" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-3" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1"> <mxGeometry x="355" y="280" width="155" height="60" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-4" value="<b><font style="font-size: 14px;">IModelManager</font></b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="378" y="295" width="110" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-5" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#b0e3e6;strokeColor=#0e8088;" vertex="1" parent="1"> <mxGeometry x="398" y="399" width="70" height="70" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-6" value="<b>DB</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="413" y="429" width="40" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-7" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-3" target="tZSbns-cb4MotazCVKBg-5"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="530" y="480" as="sourcePoint" /> <mxPoint x="580" y="430" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-8" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1"> <mxGeometry x="280" y="200" width="75" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-12" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#0000FF;" edge="1" parent="1" target="tZSbns-cb4MotazCVKBg-8"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="415" y="280" as="sourcePoint" /> <mxPoint x="190" y="280" as="targetPoint" /> <Array as="points"> <mxPoint x="415" y="270" /> <mxPoint x="415" y="260" /> <mxPoint x="318" y="260" /> </Array> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-13" value="<b>Factory</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="287.5" y="205" width="60" height="20" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-15" value="<i>Dto Create (Entity)</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="315" y="240" width="110" height="20" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-17" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.587;entryY=-0.03;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;strokeColor=#0000FF;" edge="1" parent="1" target="tZSbns-cb4MotazCVKBg-3"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="445" y="131" as="sourcePoint" /> <mxPoint x="510" y="180" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-18" value="<i>1. Get, GetById</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="380" y="170" width="60" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-19" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.425;entryY=1.028;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;strokeColor=#0000FF;" edge="1" parent="1" target="tZSbns-cb4MotazCVKBg-1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="318" y="200" as="sourcePoint" /> <mxPoint x="370" y="150" as="targetPoint" /> <Array as="points"> <mxPoint x="318" y="160" /> <mxPoint x="432" y="160" /> </Array> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-21" value="<i>2. Create, BulkCreate,</i><div><i>Update,</i></div><div><i>BulkUpdate</i></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="490" y="139" width="82" height="55" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-25" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1"> <mxGeometry x="468" y="210" width="75" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-26" value="<b>Factory</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="475.5" y="215" width="60" height="20" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-27" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#0000FF;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-1" target="tZSbns-cb4MotazCVKBg-25"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="580" y="140" as="sourcePoint" /> <mxPoint x="630" y="90" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.85;entryY=-0.031;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-25" target="tZSbns-cb4MotazCVKBg-3"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="550" y="310" as="sourcePoint" /> <mxPoint x="600" y="260" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-29" value="3. Operation with <b>Persistent Data</b> (<b>TObj</b> i.e.,&nbsp;<i>Entity</i>)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="320" y="350" width="105" height="40" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-30" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="440" y="50" as="sourcePoint" /> <mxPoint x="445" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-31" value="<b>DTO</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="427.5" y="-20" width="35" height="20" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-32" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;" vertex="1" parent="1"> <mxGeometry x="630" y="80" width="170" height="60" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-33" value="<b>REST API</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="380" y="30" width="60" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-34" value="<b>gRPC</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="590" y="9" width="60" height="20" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-35" value="" style="endArrow=classic;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.361;exitY=1.065;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=2;strokeColor=#FF3399;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-38" target="tZSbns-cb4MotazCVKBg-25"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="675" y="240" as="sourcePoint" /> <mxPoint x="670" y="250" as="targetPoint" /> <Array as="points"> <mxPoint x="673" y="225" /> </Array> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-36" value="<div><i>IResourceBasedService</i></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="650" y="95" width="140" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-38" value="<i><b>Message-to-Dto</b></i><div><i><b>Converter</b></i></div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad9d5;strokeColor=#ae4132;" vertex="1" parent="1"> <mxGeometry x="630" y="179" width="120" height="25" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-39" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.348;entryY=0.028;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;strokeColor=#FF3399;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-32" target="tZSbns-cb4MotazCVKBg-38"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="700" y="300" as="sourcePoint" /> <mxPoint x="750" y="250" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-40" value="<i>1. Message-2-Dto (TRes)</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="575" y="146.5" width="90" height="28.5" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-41" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;strokeColor=#FF3399;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-8" target="tZSbns-cb4MotazCVKBg-38"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="230" y="350" as="sourcePoint" /> <mxPoint x="280" y="300" as="targetPoint" /> <Array as="points"> <mxPoint x="460" y="215" /> <mxPoint x="460" y="260" /> <mxPoint x="720" y="260" /> </Array> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-42" value="<i>4. TObj to TRes</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="315" y="146.5" width="95" height="14" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-43" value="2. TRes to TObj" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="570" y="207.5" width="100" height="15" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-45" value="<i>4. TObj to TRes</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="580" y="243" width="95" height="14" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-46" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;strokeWidth=2;strokeColor=#FF3399;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-38"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="740" y="280" as="sourcePoint" /> <mxPoint x="720" y="140" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-47" value="<i>5. TRes(Dto)-2-Message</i>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="730" y="146.5" width="90" height="28.5" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-50" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;dashed=1;dashPattern=8 8;" vertex="1" parent="1"> <mxGeometry x="580" y="30" width="240" height="180" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-51" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fad9d5;strokeColor=#ae4132;" vertex="1" parent="1"> <mxGeometry x="640" y="40" width="120" height="40" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-52" value="GrpcService<div>from .proto</div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1"> <mxGeometry x="660" y="45" width="80" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-54" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-50"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="680" y="-20" as="sourcePoint" /> <mxPoint x="700" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-55" value="<b>Message</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="670" y="-30" width="60" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-56" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d0cee2;strokeColor=#56517e;" vertex="1" parent="1"> <mxGeometry x="79" y="277" width="130" height="60" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-57" value="<b><font style="font-size: 14px;">IFileManager</font></b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="104" y="292" width="80" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-58" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#b1ddf0;strokeColor=#10739e;" vertex="1" parent="1"> <mxGeometry x="103" y="398" width="80" height="70" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-59" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="tZSbns-cb4MotazCVKBg-56" target="tZSbns-cb4MotazCVKBg-58"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="200" y="420" as="sourcePoint" /> <mxPoint x="210" y="370" as="targetPoint" /> </mxGeometry> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-60" value="<b>FileStorage</b>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> <mxGeometry x="113" y="429" width="60" height="30" as="geometry" /> </mxCell> <mxCell id="tZSbns-cb4MotazCVKBg-61" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="90" y="12" as="sourcePoint" /> <mxPoint x="830" y="12" as="targetPoint" /> </mxGeometry> </mxCell> </root> </mxGraphModel> </diagram> </mxfile>