1 line
15 KiB
XML
1 line
15 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="CLASS" height="740px" preserveAspectRatio="none" style="width:1651px;height:740px;background:#FFFFFF;" version="1.1" viewBox="0 0 1651 740" width="1651px" zoomAndPan="magnify"><defs/><g><!--class IFacade--><g class="entity" data-entity="IFacade" data-source-line="4" data-uid="ent0002" id="entity_IFacade"><rect fill="#F1F1F1" height="172.6719" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="421.3223" x="7" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="54.5371" x="190.3926" y="24.9951">IFacade</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="427.3223" y1="33.2969" y2="33.2969"/><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="427.3223" y1="41.2969" y2="41.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="311.1582" x="13" y="58.292">+createNote(title: String, text: String): UUID</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="288.9893" x="13" y="74.5889">+updateNote(id: UUID, text: String): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="196.041" x="13" y="90.8857">+deleteNote(id: UUID): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="230.8359" x="13" y="107.1826">+find(query: String): List<Note></text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="145.2979" x="13" y="123.4795">+get(id: UUID): Note</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="409.3223" x="13" y="139.7764">+share(id: UUID, principal: String, perm: Permission): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="237.665" x="13" y="156.0732">+exportAll(format: String): Binary</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="300.166" x="13" y="172.3701">+import(data: Binary, format: String): void</text></g><!--class NoteFacade--><g class="entity" data-entity="NoteFacade" data-source-line="15" data-uid="ent0003" id="entity_NoteFacade"><rect fill="#F1F1F1" height="42.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="89.5488" x="172.89" y="265.12"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.5488" x="175.89" y="283.1151">NoteFacade</text><line style="stroke:#181818;stroke-width:0.5;" x1="173.89" x2="261.4388" y1="291.4169" y2="291.4169"/><line style="stroke:#181818;stroke-width:0.5;" x1="173.89" x2="261.4388" y1="299.4169" y2="299.4169"/></g><!--class Note--><g class="entity" data-entity="Note" data-source-line="16" data-uid="ent0005" id="entity_Note"><rect fill="#F1F1F1" height="140.0781" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="174.333" x="750.49" y="593.64"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="33.1406" x="821.0862" y="611.6351">Note</text><line style="stroke:#181818;stroke-width:0.5;" x1="751.49" x2="923.823" y1="619.9369" y2="619.9369"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.0771" x="756.49" y="636.932">+id: UUID</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90.0498" x="756.49" y="653.2289">+title: String</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90.5557" x="756.49" y="669.5257">+text: String</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="157.7529" x="756.49" y="685.8226">+createdAt: DateTime</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162.333" x="756.49" y="702.1195">+updatedAt: DateTime</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="112.5742" x="756.49" y="718.4164">+ownerId: UUID</text><line style="stroke:#181818;stroke-width:0.5;" x1="751.49" x2="923.823" y1="725.7181" y2="725.7181"/></g><!--class Permission--><g class="entity" data-entity="Permission" data-source-line="25" data-uid="ent0006" id="entity_Permission"><rect fill="#F1F1F1" height="91.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82.2549" x="463.53" y="47.74"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76.2549" x="466.53" y="65.7351">Permission</text><line style="stroke:#181818;stroke-width:0.5;" x1="464.53" x2="544.7849" y1="74.0369" y2="74.0369"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38.9307" x="469.53" y="91.032">READ</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45.0967" x="469.53" y="107.3289">WRITE</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="53.9082" x="469.53" y="123.6257">OWNER</text><line style="stroke:#181818;stroke-width:0.5;" x1="464.53" x2="544.7849" y1="130.9275" y2="130.9275"/></g><!--class NoteRepository--><g class="entity" data-entity="NoteRepository" data-source-line="31" data-uid="ent0007" id="entity_NoteRepository"><rect fill="#F1F1F1" height="123.7813" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="305.6992" x="684.81" y="408.86"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108.2129" x="783.5532" y="426.8551">NoteRepository</text><line style="stroke:#181818;stroke-width:0.5;" x1="685.81" x2="989.5092" y1="435.1569" y2="435.1569"/><line style="stroke:#181818;stroke-width:0.5;" x1="685.81" x2="989.5092" y1="443.1569" y2="443.1569"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173.8447" x="690.81" y="460.152">+save(note: Note): UUID</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="255.8486" x="690.81" y="476.4489">+update(id: UUID, text: String): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162.9004" x="690.81" y="492.7457">+delete(id: UUID): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="176.2031" x="690.81" y="509.0426">+getById(id: UUID): Note</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="293.6992" x="690.81" y="525.3395">+allByOwner(ownerId: UUID): List<Note></text></g><!--class SearchService--><g class="entity" data-entity="SearchService" data-source-line="39" data-uid="ent0008" id="entity_SearchService"><rect fill="#F1F1F1" height="91.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="372.8145" x="1271.25" y="240.67"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.1465" x="1407.584" y="258.6651">SearchService</text><line style="stroke:#181818;stroke-width:0.5;" x1="1272.25" x2="1643.0645" y1="266.9669" y2="266.9669"/><line style="stroke:#181818;stroke-width:0.5;" x1="1272.25" x2="1643.0645" y1="274.9669" y2="274.9669"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173.8447" x="1277.25" y="291.962">+index(note: Note): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="172.2656" x="1277.25" y="308.2589">+remove(id: UUID): void</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="360.8145" x="1277.25" y="324.5557">+search(query: String, ownerId: UUID): List<Note></text></g><!--class AuthzService--><g class="entity" data-entity="AuthzService" data-source-line="45" data-uid="ent0009" id="entity_AuthzService"><rect fill="#F1F1F1" height="74.8906" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="482.1416" x="754.59" y="248.82"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="91.9023" x="949.7096" y="266.8151">AuthzService</text><line style="stroke:#181818;stroke-width:0.5;" x1="755.59" x2="1235.7316" y1="275.1169" y2="275.1169"/><line style="stroke:#181818;stroke-width:0.5;" x1="755.59" x2="1235.7316" y1="283.1169" y2="283.1169"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="470.1416" x="760.59" y="300.112">+check(ownerId: UUID, targetId: UUID, perm: Permission): boolean</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="450.8438" x="760.59" y="316.4089">+grant(targetId: UUID, principal: String, perm: Permission): void</text></g><!--class SyncService--><g class="entity" data-entity="SyncService" data-source-line="50" data-uid="ent0010" id="entity_SyncService"><rect fill="#F1F1F1" height="74.8906" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="421.9102" x="297.71" y="248.82"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85.4834" x="465.9234" y="266.8151">SyncService</text><line style="stroke:#181818;stroke-width:0.5;" x1="298.71" x2="718.6202" y1="275.1169" y2="275.1169"/><line style="stroke:#181818;stroke-width:0.5;" x1="298.71" x2="718.6202" y1="283.1169" y2="283.1169"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="347.4092" x="303.71" y="300.112">+exportAll(ownerId: UUID, format: String): Binary</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="409.9102" x="303.71" y="316.4089">+import(ownerId: UUID, data: Binary, format: String): void</text></g><!--reverse link IFacade to NoteFacade--><g class="link" data-entity-1="IFacade" data-entity-2="NoteFacade" data-source-line="15" data-uid="lnk4" id="link_IFacade_NoteFacade"><path d="M204.753,198.0287 C204.373,229.5487 206.07,244.51 209.43,264.97" fill="none" id="IFacade-backto-NoteFacade" style="stroke:#181818;stroke-width:1;stroke-dasharray:7,7;"/><polygon fill="none" points="204.97,180.03,198.7534,197.9564,210.7526,198.101,204.97,180.03" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link IFacade to NoteFacade--><g class="link" data-entity-1="IFacade" data-entity-2="NoteFacade" data-source-line="55" data-uid="lnk11" id="link_IFacade_NoteFacade"><path codeLine="55" d="M231.3341,198.0285 C231.7441,229.5485 229.93,244.51 226.38,264.97" fill="none" id="IFacade-backto-NoteFacade-1" style="stroke:#181818;stroke-width:1;stroke-dasharray:7,7;"/><polygon fill="none" points="231.1,180.03,225.3346,198.1065,237.3336,197.9504,231.1,180.03" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link NoteFacade to NoteRepository--><g class="link" data-entity-1="NoteFacade" data-entity-2="NoteRepository" data-source-line="56" data-uid="lnk12" id="link_NoteFacade_NoteRepository"><path codeLine="56" d="M251.6254,315.0623 C262.7954,323.5723 267.01,325.61 280.66,331.86 C410.53,391.31 569.64,427.42 684.51,447.69" fill="none" id="NoteFacade-backto-NoteRepository" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="242.08,307.79,244.4286,314.6079,251.6254,315.0623,249.2768,308.2443,242.08,307.79" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link NoteFacade to SearchService--><g class="link" data-entity-1="NoteFacade" data-entity-2="SearchService" data-source-line="57" data-uid="lnk13" id="link_NoteFacade_SearchService"><path codeLine="57" d="M240.0926,255.4097 C254.4826,236.9697 270.64,221.12 298.16,210.17 C395.1,171.61 1134.26,192.92 1237.16,210.17 C1273.9,216.33 1312.72,227.9 1347.36,240.18" fill="none" id="NoteFacade-backto-SearchService" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="232.71,264.87,239.5547,262.6007,240.0926,255.4097,233.2478,257.679,232.71,264.87" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link NoteFacade to AuthzService--><g class="link" data-entity-1="NoteFacade" data-entity-2="AuthzService" data-source-line="58" data-uid="lnk14" id="link_NoteFacade_AuthzService"><path codeLine="58" d="M240.0926,255.4097 C254.4826,236.9697 270.64,221.12 298.16,210.17 C385.09,175.59 626.45,197.65 719.16,210.17 C774.67,217.67 834.79,233.27 884.75,248.41" fill="none" id="NoteFacade-backto-AuthzService" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="232.71,264.87,239.5547,262.6007,240.0926,255.4097,233.2478,257.679,232.71,264.87" style="stroke:#181818;stroke-width:1;"/></g><!--reverse link NoteFacade to SyncService--><g class="link" data-entity-1="NoteFacade" data-entity-2="SyncService" data-source-line="59" data-uid="lnk15" id="link_NoteFacade_SyncService"><path codeLine="59" d="M274.85,286.27 C286.37,286.27 285.89,286.27 297.41,286.27" fill="none" id="NoteFacade-backto-SyncService" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="262.85,286.27,268.85,290.27,274.85,286.27,268.85,282.27,262.85,286.27" style="stroke:#181818;stroke-width:1;"/></g><!--link SearchService to NoteRepository--><g class="link" data-entity-1="SearchService" data-entity-2="NoteRepository" data-source-line="60" data-uid="lnk16" id="link_SearchService_NoteRepository"><path codeLine="60" d="M1304.8,332.26 C1209.24,360.38 1092.3559,394.7859 996.7159,422.9359" fill="none" id="SearchService-to-NoteRepository" style="stroke:#181818;stroke-width:1;"/><polygon fill="#181818" points="990.96,424.63,1000.7232,425.926,995.7565,423.2182,998.4644,418.2516,990.96,424.63" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="36.334" x="1203.66" y="374.9269">reads</text></g><!--reverse link NoteRepository to Note--><g class="link" data-entity-1="NoteRepository" data-entity-2="Note" data-source-line="61" data-uid="lnk17" id="link_NoteRepository_Note"><path codeLine="61" d="M837.66,544.95 C837.66,564.15 837.66,573.48 837.66,593.2" fill="none" id="NoteRepository-backto-Note" style="stroke:#181818;stroke-width:1;"/><polygon fill="none" points="837.66,532.95,833.66,538.95,837.66,544.95,841.66,538.95,837.66,532.95" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="8.271" x="829.2374" y="552.6475">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="6.5" x="831.3896" y="582.5974">*</text></g><!--SRC=[ZLHHRziW47xdLw0ykLjIjQzHLSbHCydIr5P9gpvJkDIdOl00Pt6x_VU1CyzWHrfUR7FS1zzzzvrB540v6Yw1s7TKDJEiebmoQtFd3Bus3WgkrHO_W5uHWig1sJ4EjFZ6EFFWJqBfLsw0ERZN3ZA7JiAIRZrOlSsfWuFhLnTB-lnSt0L0KuiUWE8OdkJkDOgGAq32A3VQtQ4IsOy6J1j1lwDrDm5n6rBUmCN840zXMp8JNrzxCCUQoO5z3QPQqaV_H6jHg-XUEDJQk5pARATDnMBYArJCj249gv2K-LfP7vxJINvtv6z2EjaxUd-rzN095IXdUxcZdAFoFVtmdKZV1I91XpQ9t0Vl_CSJLZ0qOnBMFnMOeZ_VymFLL94Oz9FwjCqw3vU_R8gdjNy_lDolDsan6wYrHQTDUwHisHuovJUEhPYuubn7d7A3R_MgBSIfTZCfL-r3g2bBAaljye_v5fZXvHRC7dcljH9mI9dtzngezFua8zkTapfqJizXa3Uk_4W8y1BuUyhUQyIChtfOd_3igzOIcEe4CaovR88vt_g3GAtY2RjX8aOC_pyW8y2PyzB_Wcv-NLv6OqEY2TABaGL7cqcNHtkn_cFOK3j9ZR9Ot8vDlwH-x8Gbe_3iUkQFMj3Pbrc7-0C0]--></g></svg> |