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
|
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2">
<diagram id="WOSjVCChJG0uuKkKcy1j" name="Page-1">
<mxGraphModel dx="3757" dy="1271" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" background="none" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="node5" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AuthController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ AuthController(AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ login(Map&lt;String, String&gt;): ResponseEntity&lt;String&gt;<br/>+ logout(String): ResponseEntity&lt;Object&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1910" y="940" width="340" height="129" as="geometry" />
</mxCell>
<mxCell id="node13" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>AuthService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ AuthService(UserAuthDAO, UserService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ login(String, String): String<br/>+ keyIsValid(String): void<br/>+ keyHasAccessToCupboard(String): void<br/>+ keyHasAccessToUser(String, String): void<br/>+ logout(String): void</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1337" y="930" width="285" height="190" as="geometry" />
</mxCell>
<mxCell id="node12" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CupboardController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ CupboardController(CupboardService, AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ createNeed(Map&lt;String, Object&gt;, String): ResponseEntity&lt;Object&gt;<br/>+ deleteNeed(int, String): ResponseEntity&lt;Object&gt;<br/>- of(Object[]): Object[]<br/>+ getNeed(int): ResponseEntity&lt;Object&gt;<br/>+ checkoutNeeds(List&lt;Map&lt;String, Integer&gt;&gt;, String): ResponseEntity&lt;Object&gt;<br/>+ searchNeeds(String): ResponseEntity&lt;Object&gt;<br/>+ updateNeed(Need, int, String): ResponseEntity&lt;Object&gt;</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: ResponseEntity&lt;Object&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1771" y="395" width="501" height="235" as="geometry" />
</mxCell>
<mxCell id="node16" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CupboardService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ CupboardService(AuthService, CupboardDAO): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ checkoutNeed(int, double, String): void<br/>+ createNeed(String, String, String, double, GoalType, boolean, String): Need<br/>+ getNeed(int): Need<br/>+ deleteNeed(int): boolean<br/>+ searchNeeds(String): Need[]<br/>+ updateNeed(Need, int): Need</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> needs: Need[]</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1185" y="406" width="485" height="210" as="geometry" />
</mxCell>
<mxCell id="node11" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserController</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserController(UserService, AuthService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ deleteUser(String, String): ResponseEntity&lt;Object&gt;<br/>+ getUserCount(String): ResponseEntity&lt;Object&gt;<br/>+ createUser(Map&lt;String, String&gt;): ResponseEntity&lt;Object&gt;<br/>- of(Object[]): Object[]<br/>+ getUser(String, String): ResponseEntity&lt;Object&gt;<br/>+ updateUser(User, String, String): ResponseEntity&lt;Object&gt;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1898" y="1539" width="382" height="186" as="geometry" />
</mxCell>
<mxCell id="node8" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>UserService</b></p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ UserService(UserDAO, CupboardService): </p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;">+ updateUser(User, String): User<br/>+ deleteUser(String): boolean<br/>+ createUser(String, String): User<br/>+ getUser(String): User</p><hr size="1"/><p style="margin:0 0 0 4px;line-height:1.6;"> userCount: int</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=14;fontFamily=Helvetica;html=1;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;" parent="1" vertex="1">
<mxGeometry x="-1326" y="1549" width="289" height="166" as="geometry" />
</mxCell>
<mxCell id="edge8" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.000;entryY=0.399;entryDx=0;entryDy=0;" parent="1" target="node13" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1570" y="1006" />
<mxPoint x="-1510" y="1006" />
</Array>
<mxPoint x="-1570" y="1006" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="label48" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge8" vertex="1" connectable="0">
<mxGeometry x="-1560" y="980" as="geometry" />
</mxCell>
<mxCell id="label52" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge8" vertex="1" connectable="0">
<mxGeometry x="-1360" y="990" as="geometry" />
</mxCell>
<mxCell id="edge14" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.425;exitY=1.000;exitDx=0;exitDy=0;entryX=0.382;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node13" target="node8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="label84" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge14" vertex="1" connectable="0">
<mxGeometry x="-1211" y="1090" as="geometry" />
</mxCell>
<mxCell id="label88" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge14" vertex="1" connectable="0">
<mxGeometry x="-1230" y="1520" as="geometry" />
</mxCell>
<mxCell id="edge18" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.342;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node12" target="node13" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1525" y="885" />
<mxPoint x="-1239" y="885" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label108" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge18" vertex="1" connectable="0">
<mxGeometry x="-1525" y="632" as="geometry" />
</mxCell>
<mxCell id="label112" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge18" vertex="1" connectable="0">
<mxGeometry x="-1260" y="900" as="geometry" />
</mxCell>
<mxCell id="edge17" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.528;exitDx=0;exitDy=0;entryX=0.000;entryY=0.531;entryDx=0;entryDy=0;" parent="1" source="node12" target="node16" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="label102" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge17" vertex="1" connectable="0">
<mxGeometry x="-1270" y="502" as="geometry" />
</mxCell>
<mxCell id="label106" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge17" vertex="1" connectable="0">
<mxGeometry x="-1210" y="520" as="geometry" />
</mxCell>
<mxCell id="edge22" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;entryX=0.500;entryY=0.000;entryDx=0;entryDy=0;" parent="1" source="node16" target="node13" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-978" y="773" />
<mxPoint x="-1194" y="773" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label132" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge22" vertex="1" connectable="0">
<mxGeometry x="-989" y="630" as="geometry" />
</mxCell>
<mxCell id="label136" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge22" vertex="1" connectable="0">
<mxGeometry x="-1205" y="870" as="geometry" />
</mxCell>
<mxCell id="edge7" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.987;exitY=0.000;exitDx=0;exitDy=0;" parent="1" source="node11" target="node13" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1521" y="1052" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label42" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge7" vertex="1" connectable="0">
<mxGeometry x="-1532" y="1510" as="geometry" />
</mxCell>
<mxCell id="label46" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge7" vertex="1" connectable="0">
<mxGeometry x="-1360" y="1060" as="geometry" />
</mxCell>
<mxCell id="edge13" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=1.000;exitY=0.515;exitDx=0;exitDy=0;" parent="1" source="node11" target="node8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1370" y="1635" />
<mxPoint x="-1370" y="1635" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label78" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge13" vertex="1" connectable="0">
<mxGeometry x="-1495" y="1614" as="geometry" />
</mxCell>
<mxCell id="label82" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge13" vertex="1" connectable="0">
<mxGeometry x="-1363" y="1636" as="geometry" />
</mxCell>
<mxCell id="edge12" value="" style="html=1;rounded=1;edgeStyle=orthogonalEdgeStyle;dashed=0;startArrow=diamondThinstartSize=12;endArrow=openThin;endSize=12;strokeColor=#595959;exitX=0.500;exitY=0.000;exitDx=0;exitDy=0;" parent="1" source="node8" target="node16" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<Array as="points">
<mxPoint x="-1181" y="1286" />
<mxPoint x="-963" y="1286" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="label72" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge12" vertex="1" connectable="0">
<mxGeometry x="-1192" y="1524" as="geometry" />
</mxCell>
<mxCell id="label76" value="1" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;strokeColor=default;" parent="edge12" vertex="1" connectable="0">
<mxGeometry x="-950" y="621" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
|