Add Datamodel
This commit is contained in:
		
							
								
								
									
										285
									
								
								doc/datamodel.uxf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										285
									
								
								doc/datamodel.uxf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,285 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 | 
			
		||||
<diagram program="umlet" version="14.3.0">
 | 
			
		||||
  <zoom_level>10</zoom_level>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>50</x>
 | 
			
		||||
      <y>60</y>
 | 
			
		||||
      <w>210</w>
 | 
			
		||||
      <h>240</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBUser
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
nick: String
 | 
			
		||||
name: String
 | 
			
		||||
chats: Set<DBChat>
 | 
			
		||||
status: UserStatus
 | 
			
		||||
created: Instant
 | 
			
		||||
lastSeen: Instant
 | 
			
		||||
deleted: Boolean
 | 
			
		||||
avatar: DBAvatar
 | 
			
		||||
passwordHash: String
 | 
			
		||||
authToken: String
 | 
			
		||||
authTokenExpiration: Instant
 | 
			
		||||
--
 | 
			
		||||
+toCommon(): User</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>380</x>
 | 
			
		||||
      <y>330</y>
 | 
			
		||||
      <w>290</w>
 | 
			
		||||
      <h>160</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBMessage
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
sender: DBUser
 | 
			
		||||
forwarded: Boolean
 | 
			
		||||
deleted: Boolean
 | 
			
		||||
statuses: Map<DBUser, DBMessageStatus>
 | 
			
		||||
text: String
 | 
			
		||||
attachment: DBAttachment
 | 
			
		||||
--
 | 
			
		||||
+toCommon(): Message</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>770</x>
 | 
			
		||||
      <y>320</y>
 | 
			
		||||
      <w>210</w>
 | 
			
		||||
      <h>100</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBMessageStatus
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
status: MessageStatus
 | 
			
		||||
timestamp: Instant
 | 
			
		||||
--
 | 
			
		||||
+toCommon(): MessageStatus</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>770</x>
 | 
			
		||||
      <y>440</y>
 | 
			
		||||
      <w>180</w>
 | 
			
		||||
      <h>120</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBAttachment
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
name: String
 | 
			
		||||
type: AttachmentType
 | 
			
		||||
url: String
 | 
			
		||||
--
 | 
			
		||||
+toCommon(): Attachment</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>510</x>
 | 
			
		||||
      <y>70</y>
 | 
			
		||||
      <w>200</w>
 | 
			
		||||
      <h>180</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBChat
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
name: String
 | 
			
		||||
members: Set<DBUser>
 | 
			
		||||
admins: Set<DBUser>
 | 
			
		||||
messages: Set<DBMessage>
 | 
			
		||||
avatar: DBAvatar
 | 
			
		||||
allowJoining: Boolean
 | 
			
		||||
allowAttachments: Boolean
 | 
			
		||||
--
 | 
			
		||||
+toCommon(): Chat</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>250</x>
 | 
			
		||||
      <y>100</y>
 | 
			
		||||
      <w>280</w>
 | 
			
		||||
      <h>40</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=<->
 | 
			
		||||
m1=0..n
 | 
			
		||||
m2=0..n</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;260.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>600</x>
 | 
			
		||||
      <y>240</y>
 | 
			
		||||
      <w>50</w>
 | 
			
		||||
      <h>110</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=->
 | 
			
		||||
m2=0..n</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;10.0;90.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>660</x>
 | 
			
		||||
      <y>360</y>
 | 
			
		||||
      <w>130</w>
 | 
			
		||||
      <h>40</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=->
 | 
			
		||||
m2=0..n</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>660</x>
 | 
			
		||||
      <y>470</y>
 | 
			
		||||
      <w>130</w>
 | 
			
		||||
      <h>40</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=->
 | 
			
		||||
m2=0..1</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;110.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>140</x>
 | 
			
		||||
      <y>290</y>
 | 
			
		||||
      <w>260</w>
 | 
			
		||||
      <h>150</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=<-
 | 
			
		||||
m1=0..n</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;10.0;130.0;240.0;130.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLPackage</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>10</x>
 | 
			
		||||
      <y>0</y>
 | 
			
		||||
      <w>1010</w>
 | 
			
		||||
      <h>590</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>envoy.server.data
 | 
			
		||||
--
 | 
			
		||||
bg=#CCCCCC</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>90</x>
 | 
			
		||||
      <y>680</y>
 | 
			
		||||
      <w>170</w>
 | 
			
		||||
      <h>130</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>User
 | 
			
		||||
--
 | 
			
		||||
id: long
 | 
			
		||||
nick: String
 | 
			
		||||
name: String
 | 
			
		||||
status: UserStatus
 | 
			
		||||
created: Instant
 | 
			
		||||
deleted: boolean</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>340</x>
 | 
			
		||||
      <y>680</y>
 | 
			
		||||
      <w>190</w>
 | 
			
		||||
      <h>100</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>UserStatus
 | 
			
		||||
--
 | 
			
		||||
_+ONLINE: UserStatus_
 | 
			
		||||
_+AWAY: UserStatus_
 | 
			
		||||
_+BUSY: UserStatus_
 | 
			
		||||
_+OFFLINE: UserStatus_</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>250</x>
 | 
			
		||||
      <y>730</y>
 | 
			
		||||
      <w>110</w>
 | 
			
		||||
      <h>30</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=<-</panel_attributes>
 | 
			
		||||
    <additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>340</x>
 | 
			
		||||
      <y>150</y>
 | 
			
		||||
      <w>100</w>
 | 
			
		||||
      <h>80</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>DBAvatar
 | 
			
		||||
--
 | 
			
		||||
id: Long
 | 
			
		||||
edited: Instant
 | 
			
		||||
url: String
 | 
			
		||||
layer=1</panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>250</x>
 | 
			
		||||
      <y>190</y>
 | 
			
		||||
      <w>110</w>
 | 
			
		||||
      <h>40</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=<-
 | 
			
		||||
m1=0..1</panel_attributes>
 | 
			
		||||
    <additional_attributes>90.0;10.0;10.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>Relation</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>430</x>
 | 
			
		||||
      <y>190</y>
 | 
			
		||||
      <w>100</w>
 | 
			
		||||
      <h>40</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>lt=<-
 | 
			
		||||
m1=0..1</panel_attributes>
 | 
			
		||||
    <additional_attributes>10.0;10.0;80.0;10.0</additional_attributes>
 | 
			
		||||
  </element>
 | 
			
		||||
  <element>
 | 
			
		||||
    <id>UMLClass</id>
 | 
			
		||||
    <coordinates>
 | 
			
		||||
      <x>610</x>
 | 
			
		||||
      <y>680</y>
 | 
			
		||||
      <w>180</w>
 | 
			
		||||
      <h>130</h>
 | 
			
		||||
    </coordinates>
 | 
			
		||||
    <panel_attributes>Chat
 | 
			
		||||
--
 | 
			
		||||
id: long
 | 
			
		||||
name: String
 | 
			
		||||
deceased: boolean
 | 
			
		||||
members: Set<User>
 | 
			
		||||
admins: Set<User>
 | 
			
		||||
messages: List<Message></panel_attributes>
 | 
			
		||||
    <additional_attributes/>
 | 
			
		||||
  </element>
 | 
			
		||||
</diagram>
 | 
			
		||||
		Reference in New Issue
	
	Block a user